Servlet入门程序

广告位

在这节中,我们将演示如何手动来创建一个简单的Servlet应用程序。需要遵循以下步骤,这些步骤对于所有Web服…

在这节中,我们将演示如何手动来创建一个简单的Servlet应用程序。需要遵循以下步骤,这些步骤对于所有Web服务器是常见的。在这个示例中,使用的是Apache Tomcat8服务器。Apache Tomcat是用于测试servlet和JSP技术的开源Web服务器。

这一节非常关键,希望您能仔细按照步骤说明来操作。能否手动开发一个Servlet运行成功,可能会影响到学习的热情。

在开始之前,需要安装两个软件:

  • Java/JDK 8
  • Tomcat 8

注意: Java安装好后,需要将它加到系统的环境变量中。可参考:

安装Tomcat

在开始编写代码之前,需要您自己并将其安装在您的计算机上。

打开网址: 下载 apache-tomcat-8.5.23-windows-x64.zip ,如下图所示 –

Servlet入门程序

下载完成后,将它解压到一个合适的位置,如:D:softwareapache-tomcat-8.5.23 , 然后运行Tomcat服务器测试运行情况,可通过双击文件:D:softwareapache-tomcat-8.5.23binstartup.bat 来启动,如下所示 –

Servlet入门程序

测试运行Tomcat服务器运行情况,打开浏览器,访问地址: 应该会看到类似的界面 –

Servlet入门程序

在机器上安装Tomcat Server后,请按照以下步骤操作:

  1. 创建应用程序目录结构。
  2. 创建一个Servlet
  3. 编译Servlet
  4. 创建应用程序部署描述符
  5. 启动服务器并部署应用程序

下面详细介绍所有这五个步骤,首先创建第一个Servlet应用程序。

1.创建应用程序目录结构

Sun Microsystem定义了创建servlet应用程序必须遵循的目录结构。这里以一个名称为:First 的应用为示例,介绍一个典型servlet应用程序的目录结构 –

Servlet入门程序

Apache-Tomcatwebapps目录下创建上述目录结构。所有HTML,静态文件(图像,css等)都直接保存在Web应用程序(webapps)文件夹下。 而所有Servlet类都保存在classes文件夹中。

web.xml(部署描述符)文件保存在WEB-INF文件夹下。

2.创建一个Servlet

创建servlet有三种不同的方法。

  1. 通过实现Servlet接口
  2. 扩展GenericServlet
  3. 通过扩展HttpServlet

但是大部分servlet是通过扩展HttpServlet抽象类创建的。如前所述HttpServlet给出了Servlet接口的service()方法的定义。我们将创建Servlet类但不需要覆盖service()方法。Servlet类将仅覆盖doGet()doPost()方法。

servlet的请求进入时,Web容器首先将调用servletservice()方法,并根据service()方法的请求类型来调用doGet()doPost()方法)。

注意:默认情况下,请求是Get请求。

创建一个类:MyServlet.java,并将这个类文件放在F:workspservletFirst目录下,其代码如下所示 –

import javax.servlet.*;  import javax.servlet.http.*;  import java.io.*;    public class MyServlet extends HttpServlet  {   public void doGet(HttpServletRequest request,HttpServletResponse response)                        throws ServletException, IOException    {     response.setContentType("text/html");     PrintWriter out = response.getWriter();     out.println("<html><body>");     out.println("<h2 style='text-align:center'>Hello Servlet ~</h2>");     out.println("</body></html>");   }  }  

然后编译它(在下一步中解释),并将类生成的MyServlet.class文件粘贴到WEB-INF/classes/目录中,此WEB-INF/classes/目录必须在Tomcat/webapps目录中创建。

3.编译Servlet类

要编译Servlet,需要一个JAR文件。不同的服务器需要不同的JAR文件。在Apache Tomcat服务器需要的是servlet-api.jar文件来编译servlet类。

编译Servlet的步骤如下 –

  • 首先需要确定是否已将JDK加到系统环境变量中,可通过在命令行上输入验证:java -version,如已添加,则应该返回类似的结果 –Servlet入门程序
  • 下载servlet-api.jar文件,下载地址: 或者从Tomcat的安装目录:D:softwareapache-tomcat-8.5.23lib 中找到。
  • 将下载好的servlet-api.jar文件粘贴到一个目录,如:F:workspservletlibrary目录下,用于编译Servlet类。
  • 编译MyServlet类,如下所示 –
F:workspservletFirst> javac -Djava.ext.dirs=F:workspservletlibrary MyServlet.java  

如果编译没有问题,那么将会在当前目录下生成一个类文件:MyServlet.class ,然后将类文件MyServlet.class粘贴到F:workspservletFirstWEB-INFclasses目录中。

4.创建部署描述符

部署描述符(DD)是由Web容器用于运行Servlet和JSP页面的XML文档。部署描述符用于完成几个重要的工作,如:

  • 将URL映射到Servlet类
  • 初始化参数
  • 定义错误页面
  • 安全角色
  • 声明标签库

稍后将详细讨论所有这些。现在来看看我们为这个Web应用程序创建一个简单的web.xml文件。

<?xml version="1.0" encoding="UTF-8"?>  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">    <display-name>MyFirstServlet</display-name>    <welcome-file-list>      <!--// 默认主页-->      <welcome-file>index.html</welcome-file>      <welcome-file>index.html</welcome-file>      <welcome-file>index.jsp</welcome-file>      <welcome-file>default.html</welcome-file>      <welcome-file>default.html</welcome-file>      <welcome-file>default.jsp</welcome-file>    </welcome-file-list>    <servlet>      <description></description>      <display-name>MyServlet</display-name><!--// 类的显示名称 -->      <servlet-name>MyServlet</servlet-name><!--// 类的别名 -->      <servlet-class>MyServlet</servlet-class><!--// 类的名称 -->    </servlet>    <servlet-mapping>      <servlet-name>MyServlet</servlet-name><!--// 类的别名 -->      <url-pattern>/hello</url-pattern><!--// 请求此类的对应URL -->    </servlet-mapping>  </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.启动服务器并部署应用程序

将目录F:workspservletFirst 拷贝到 D:softwareapache-tomcat-8.5.23webapps 下部署这个应用程序。

双击startup.bat文件启动Apache Tomcat服务器。

或者,在Windows机器上在命令行提示执行以下命令。

D:softwareapache-tomcat-8.5.23bin> startup.bat  

运行Servlet应用程序,打开浏览器输入并访问网址:http:localhost:8080/First/hello ,应该会看到类似的结果 –

Servlet入门程序

这样,我们的第一个Servlet应用程序就成功运行了。

贺, 贺朝

关于作者: 贺朝

为您推荐

广告位

发表评论