在 Apache Tomcat 服务器上创建 Servlet 示例通常涉及以下六个步骤:

  1. 创建目录结构:这是为了让 Web 容器知道在哪里可以找到不同类型的文件,以便正确响应客户端请求。通常,Servlet 类文件应该放在 classes 文件夹中,而 web.xml 文件应该位于 WEB-INF 文件夹下。
  2. 创建 Servlet:可以通过以下三种方式之一来创建 Servlet:

    • 通过实现 Servlet 接口
    • 通过继承 GenericServlet 类
    • 通过继承 HttpServlet 类 通常,最常用的方法是继承 HttpServlet 类,因为它提供了处理 HTTP 请求的特定方法,如 doGet()、doPost()、doHead() 等。
  1. 编译 Servlet:需要加载用于编译 Servlet 的 JAR 文件。对于 Apache Tomcat,通常需要 servlet-api.jar
  2. 创建部署描述符(web.xml 文件):这是一个 XML 文件,Web 容器使用它来获取关于要调用的 Servlet 的信息。
  3. 启动服务器并部署项目:启动 Apache Tomcat 服务器通常涉及运行服务器安装目录下的 startup.bat 文件。
  4. 访问 Servlet:在浏览器中输入相应的 URL 来访问部署的 Servlet,格式通常为 http://hostname:portno/contextroot/urlpatternofservlet
    例如:http://localhost:9999/demo/welcome。

请注意,以上步骤简述了创建和部署 Servlet 的过程,具体实现可能会根据您使用的服务器和开发环境而有所不同。

使用 Apache Tomcat 服务器创建 Servlet 示例的详细步骤如下:

1) 创建目录结构

目录结构定义了不同类型文件的存放位置,以便 Web 容器可以获取信息并响应客户端。Sun Microsystem 定义了所有服务器供应商都应遵循的标准。下面是创建 Servlet 时必须遵循的目录结构。

directory.jpg

如您所见,Servlet 类文件必须放在 classes 文件夹中。web.xml 文件必须位于 WEB-INF 文件夹下。


2) 创建 Servlet

创建 Servlet 有三种方式:

  • 通过实现 Servlet 接口
  • 通过继承 GenericServlet 类
  • 通过继承 HttpServlet 类

HttpServlet 类因为提供了处理 HTTP 请求的方法(如 doGet()、doPost()、doHead() 等)而被广泛使用。在这个示例中,我们将创建一个扩展 HttpServlet 类的 Servlet。在这个示例中,我们继承了 HttpServlet 类并提供了 doGet() 方法的实现。请注意,GET 请求是默认请求。

DemoServlet.java

1. **import** javax.servlet.http.*;
2. **import** javax.servlet.*;
3. **import** java.io.*;
4. **public** **class** DemoServlet **extends** HttpServlet{
5. **public** **void** doGet(HttpServletRequest req, HttpServletResponse res)
6. **throws** ServletException, IOException
7. {
8. res.setContentType("text/html"); //设置内容类型
9. PrintWriter pw = res.getWriter(); //获取写入数据的流
10. 
11. //在流中写入 HTML
12. pw.println("<html><body>");
13. pw.println("欢迎来到 servlet");
14. pw.println("</body></html>");
15. 
16. pw.close(); //关闭流
17. }}

3) 编译 Servlet

编译 Servlet 时需要加载 JAR 文件。不同的服务器提供不同的 JAR 文件:

JAR 文件服务器
1) servlet-api.jarApache Tomcat
2) weblogic.jarWeblogic
3) javaee.jarGlassfish
4) javaee.jarJBoss

加载 JAR 文件有两种方式:

  1. 设置 classpath
  2. 将 JAR 文件粘贴到 JRE/lib/ext 文件夹

将 Java 文件放在任何文件夹中。编译 Java 文件后,将 Servlet 的 class 文件粘贴到 WEB-INF/classes 目录。


4) 创建部署描述符 (web.xml 文件)

部署描述符是一个 XML 文件,Web 容器通过它获取有关要调用的 Servlet 的信息。

Web 容器使用解析器从 web.xml 文件获取信息。存在多种 XML 解析器,如 SAX、DOM 和 Pull。

web.xml 文件中有许多元素。下面提供了运行简单 Servlet 程序所需的一些必要元素。

web.xml 文件

1. **<\**\*\*web-app\*\**\*>**
2. 
3. **<\**\*\*servlet\*\**\*>**
4. **<\**\*\*servlet-name\*\**\*>\**sonoojaiswal\**</\**\*\*servlet-name\*\**\*>**
5. **<\**\*\*servlet-class\*\**\*>\**DemoServlet\**</\**\*\*servlet-class\*\**\*>**
6. **</\**\*\*servlet\*\**\*>**
7. 
8. **<\**\*\*servlet-mapping\*\**\*>**
9. **<\**\*\*servlet-name\*\**\*>\**sonoojaiswal\**</\**\*\*servlet-name\*\**\*>**
10. **<\**\*\*url-pattern\*\**\*>**/welcome**</***\*url-pattern\****>**
11. **</\**\*\*servlet-mapping\*\**\*>**
12. 
13. **</\**\*\*web-app\*\**\*>**

web.xml 文件的元素说明

web.xml 文件中有许多元素。下面是上述 web.xml 文件中使用的一些元素的说明:

<web-app> 代表整个应用程序。
<servlet> 是 <web-app> 的子元素,代表 servlet。
<servlet-name> 是 <servlet> 的子元素,代表 servlet 的名称。
<servlet-class> 是 <servlet> 的子元素,代表 servlet 的类。
<servlet-mapping> 是 <web-app> 的子元素。它用于映射 servlet。
<url-pattern> 是 <servlet-mapping> 的子元素。这个模式用于客户端调用 servlet。

5) 启动服务器并部署项目

要启动 Apache Tomcat 服务器,请双击位于 apache-tomcat/bin 目录下的 startup.bat 文件。


Apache Tomcat 服务器的一次性配置

您需要执行两项任务:

  1. 在环境变量中设置 JAVA_HOME 或 JRE_HOME(启动服务器所需)。
  2. 更改 Tomcat 的端口号(可选)。如果同一端口(8080)上运行着另一个服务器,则需要此操作。

1) 如何在环境变量中设置 JAVA_HOME?

要启动 Apache Tomcat 服务器,必须在环境变量中设置 JAVA_HOME 和 JRE_HOME。

进入“我的电脑”属性 -> 点击高级标签然后进入环境变量 -> 点击用户变量的新建标签 -> 在变量名中写 JAVA_HOME 并在变量值中粘贴 jdk 文件夹的路径 -> 确定 -> 确定 -> 确定。

转到我的电脑属性:

st1.jpg

单击高级系统设置选项卡,然后单击环境变量:

st2.jpg

st3.jpg

点击用户变量或系统变量的新选项卡:

st4.jpg

在变量名中写入JAVA_HOME,并将jdk文件夹的路径粘贴到变量值中:

st5.jpg

设置 JAVA_HOME 后双击 apache tomcat/bin 中的 startup.bat 文件。 请注意,有两种类型的 Tomcat 可用:

  • 只需解压的 Apache Tomcat(无需安装)
  • 需要安装的 Apache Tomcat 这是只需解压的 Apache Tomcat 的示例。

startup.jpg

startup2.jpg

现在服务器已成功启动。

2) 如何更改 Apache Tomcat 的端口号

如果同一系统上的另一个服务器以相同的端口号运行,则需要更改端口号。假设您安装了 oracle,您需要更改 Apache Tomcat 的端口号,因为两者都使用默认端口号 8080。

在记事本中打开 server.xml 文件。它位于 apache-tomcat/conf 目录中。更改 Connector port = 8080 并将 8080 替换为任何四位数。让我们将其替换为 9999 并保存此文件。


5) 如何部署 servlet 项目

将项目复制并粘贴到 apache tomcat 下的 webapps 文件夹中。

![在 apache tomcat 服务器中部署 servlet 的方式]

deploy.jpg

但部署项目有几种方式,包括:

  • 将上下文(项目)文件夹复制到 webapps 目录中
  • 将 war 文件夹复制到 webapps 目录中
  • 从服务器选择文件夹路径
  • 从服务器选择 war 文件

在这里,我们使用第一种方法。

您也可以创建 war 文件,并将其粘贴到 webapps 目录中。为此,您需要使用 jar 工具创建 war 文件。进入项目目录(WEB-INF 之前),然后写:

  1. projectfolder> jar cvf myproject.war *

创建 war 文件的优势在于从一个位置移动项目到另一个位置所需的时间较少。


6) 如何访问 servlet

打开浏览器并编写 http://hostname:portno/contextroot/urlpatternofservlet。例如:

  1. http://localhost:9999/demo/welcome

servletoutput.jpg

标签: java, Java Servlet, Java Servlet语言, Java Servlet开发, Java Servlet语法, Java Servlet脚本, Java Servlet教程, Java Servlet入门, Java Servlet入门教程, Java Servlet进阶, Java Servlet宝典, Java Servlet学习, Java Servlet指南, Java Servlet大全