程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 編寫Servlet的三種方法

編寫Servlet的三種方法

編輯:關於JSP

有誰說了編寫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類中只有一個抽象方法,即serviceServletRequest 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved