编写Servlet的三种方法

开发 后端
本文介绍编写Servlet的三种方法,一是实现Servlet接口,二是继承抽象类GenericServlet,三是继承HttpServlet类。

有谁说了编写Servlet必须继承自HttpServlet类,必须实现doGet()或者doPost() ,难道实现Servlet接口就不行了吗?

    其实编写Servlet主要有三种方法,一是实现Servlet接口,二是继承抽象类GenericServlet,三是继承HttpServlet类。下面分别用这三种方法去实现Servlet:

    (一)要从实现Servlet接口来编写Servlet是比较麻烦的,因为必须实现Servlet接口中的所有方法,Servlet接口主要定义了五个方法,它们分别为:

(1)void init(ServletConfig config) throws ServletException
(2)ServletConfig getServletConfig()
(3)void service(ServletRequest req,ervletResponse res) throws ServletException,IOException
(4)String getServletInfo()
(5)void destroy()

下面用实现Servlet接口的方法编写Servlet:

  1. import javax.servlet.*;  
  2. import java.io.*;  
  3. public class TestServlet implements Servlet{  
  4.     public void init(ServletConfig config) throws ServletException{  
  5.         System.out.println("init");  
  6.         }  
  7.     public ServletConfig getServletConfig(){  
  8.         reture null;  
  9.         }  
  10.     public void service(ServletRequest req,ServletResponse res)   
  11.         throws ServletException,IOException{  
  12.             //这里可以实现请求后要做的内容  
  13.             PrintWriter out = response.getWriter();  
  14.       out.println("Hello World!");  
  15.  
  16.             }  
  17.     public String getServletInfo(){  
  18.         return null;  
  19.         }  
  20.     public void destroy(){  
  21.         System.out.println("destory");  
  22.         }  
  23.     }  

(二)继承抽象类GenericServlet编写Serlvet,这个相对比实现Servlet接口要容易一点,GenericServlet类中只有一个抽象方法,即service(ServletRequest req, ServletResponse res),只要实现这个方法就行了,下面看例子:

  1. import javax.servlet.*;  
  2. import java.io.IOException;  
  3.  
  4. public TestGenericServlet extends GenericServlet{  
  5.     public abstract void service(ServletRequest req,ServletResponse res)  
  6.                       throws ServletException,IOException{  
  7.      PrintWriter out = response.getWriter();  
  8.      out.println("Hello World!");                       
  9.      }  

(3)继承HttpServlet类编写Servlet应该是最容易的,而且是最常见的,我们一般要编写Servlet直接继承这个类就行了,重写doGet()或者doPost()方法即可,下面看例子:

  1. import javax.servlet.http.*;  
  2. import javax.servlet.*;  
  3. import java.io.*;  
  4.  
  5. public TestHttpServlet extends HttpServlet{  
  6.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  7.         throws IOException, ServletException {  
  8.   response.setContentType("text/html;charset=gb2312");  
  9.   PrintWriter out = response.getWriter();  
  10.  
  11.   out.println("<html>");  
  12.   out.println("<head>");  
  13.   out.println("<title>HelloWorld</title>");  
  14.   out.println("</head>");  
  15.   out.println("<body bgcolor=\"white\">");  
  16.   out.println("<hr>");  
  17.   out.println("HelloWorld");  
  18.   out.println("</body></html>");  
  19.  }  
  20.  
  21.  public void doPost(HttpServletRequest request, HttpServletResponse response)  
  22.    throws IOException, ServletException {  
  23.   doGet(request, response);  
  24.  }  
  25.  

【编辑推荐】

  1. Scala语言中的Scala Servlet
  2. 叙述Servlet API的讨论
  3. 介绍Servlet容器与Context
  4. Servlet源文件到Class的过程
  5. 详解Listener监听Http Session
责任编辑:佚名 来源: 中国IT实验室
相关推荐

2011-06-10 10:43:12

Ubuntu应用安装

2009-06-23 10:45:18

Hibernate支持

2010-09-14 15:10:49

CSS注释

2009-12-11 18:49:39

预算编制博科资讯

2011-04-18 15:32:45

游戏测试测试方法软件测试

2023-08-14 17:58:13

RequestHTTP请求

2022-07-13 16:06:16

Python参数代码

2010-09-08 13:29:48

CSS

2010-11-16 16:11:28

Oracle身份验证

2020-06-17 10:52:00

DDoS攻击网络攻击网络安全

2016-10-12 13:53:38

JavaByteBufferRandomAcces

2023-02-21 14:58:12

间序列周期数据集

2023-05-16 16:07:07

大数据数据管理工具

2016-09-09 13:07:56

CentOSJDKLinux

2009-07-23 15:17:54

JDBC连接Acces

2021-12-20 07:11:26

Java List排序 Java 基础

2021-09-10 18:09:42

SQL注入漏洞网络攻击

2021-07-13 12:31:27

IT组织改进首席技术官

2021-10-09 06:59:36

技术MyBatis数据

2010-10-20 13:52:07

SQL Server数
点赞
收藏

51CTO技术栈公众号