📜  通用 Servlet 类

📅  最后修改于: 2022-05-13 01:55:17.444000             🧑  作者: Mango

通用 Servlet 类

GenericServlet 实现了 Servlet 接口,并为它的所有方法提供了一个实现,除了service() 方法,因此它是抽象的。 GenericServlet 类定义了一个独立于协议(HTTP-less)的 servlet。但是,在构建网站或在线应用程序时,我们可能希望拥有 HTTP 协议,在这种情况下,我们必须扩展 HttpServlet 而不是 GenericServlet。通过扩展 GenericServlet 来开发 Servlet 非常容易,因为我们只需要为service()方法提供实现。 GenericServlet 类位于 javax.servlet 包 (javax.servlet.GenericServlet) 中。

服务()方法

service()方法的原型是:

只要 GenericServlet 的请求到达,服务器就会自动调用此方法。 service()方法接受两个参数:

  1. 一个 ServletRequestObject
  2. 一个 SerlvetResponseObject

ServletRequest 对象允许读取客户端请求提供的数据,ServletResponse 对象用于向客户端发送响应

通过扩展 GenericServlet 类的 Servlet “Hello World”示例

Java
import java.io.*;
import javax.servlet.*;
  
public class MyFirstServlet extends GenericServlet
  
{
    public void service(ServletRequest req,
                        ServletResponse resp)
        throws ServletException, IOException
    {
        resp.setContentType("text/html");
        PrintWriter pw = resp.getWriter();
        pw.println("");
        pw.println("My first Servlet");
        pw.println("");
        pw.println("

Welcome To Servlet World!

");         pw.println("");         pw.println("");         pw.close();     } }


XML

  
    
       MyFirstServlet
       MyFirstServlet
    
  
    
       MyFirstServlet
       /MyFirstServlet
    
  


编译程序

在编译程序之前,我们需要在类路径中设置 servlet-api.jar 文件。这是因为 javax.servlet 包在这个 jar 文件中。文件 servlet-api.jar 在 Tomcat 的 lib 文件夹中可用。所以假设 Tomcat 在 h:\ 驱动器中,我们设置类路径的命令是:

现在我们可以使用通常的 javac 命令编译代码

这样做将生成 MyFirstServlet.class 文件,我们必须将其部署在我们的网络服务器中

部署 Servlet

要在我们的 Web 服务器中部署 servlet,我们需要执行以下操作

  • 创建适当的目录结构
  • 设计 web.xml 文件
  • 将 .class 文件放在应用程序的 classes 子目录中

创建目录

为了创建 Web 应用程序,我们应该遵循 Sun Microsystem 提供的独立于服务器的标准目录结构。根据此应用程序包含具有任何名称的应用程序根文件夹。

  1. 在根文件夹下,需要一个名为 WEB-INF 的子文件夹。
  2. 在 WEB-INF 下需要两个子文件夹,称为 classes 和 lib。
  3. 所有 jar 文件都放在 lib 文件夹中。
  4. 所有 .class 文件,包括 servlet 的 .class 文件都放在 classes 文件夹中。
  5. 所有图像、html、.js、jsp 等文件都放在应用程序根文件夹中。
  6. 同样在WEB-INF文件夹下,我们需要放置web.xml文件

创建目录

web.xml 文件

  • Java Web 应用程序使用部署描述符文件来确定 URL 如何映射到 servlet。
  • 此文件名为 web.xml,位于应用程序的 WEB-INF/ 目录中,是 Web 应用程序 servlet 标准的一部分

设计 web.xml 文件

XML


  
    
       MyFirstServlet
       MyFirstServlet
    
  
    
       MyFirstServlet
       /MyFirstServlet
    
  

配置 Servlet

一旦目录结构到位,我们就可以将 MyFirstServlet.class 文件复制到应用程序的 classes 文件夹中。将 .class 文件放在 classes 文件夹中是我们 servlet 的强制性要求。

配置 Servlet

运行应用程序

完成所有部署后,我们需要测试我们的 servlet,为此,我们需要执行以下操作:

  • 通过单击 Tomcat 的 bin 文件夹中的 Tomcat 8.5.file 启动 Tomcat 服务器。
  • 打开浏览器并输入以下 URL:

输出:

输出