編寫(xiě)Servlet的三種方法
有誰(shuí)說(shuō)了編寫(xiě)Servlet必須繼承自HttpServlet類,必須實(shí)現(xiàn)doGet()或者doPost() ,難道實(shí)現(xiàn)Servlet接口就不行了嗎?
其實(shí)編寫(xiě)Servlet主要有三種方法,一是實(shí)現(xiàn)Servlet接口,二是繼承抽象類GenericServlet,三是繼承HttpServlet類。下面分別用這三種方法去實(shí)現(xiàn)Servlet:
(一)要從實(shí)現(xiàn)Servlet接口來(lái)編寫(xiě)Servlet是比較麻煩的,因?yàn)楸仨殞?shí)現(xiàn)Servlet接口中的所有方法,Servlet接口主要定義了五個(gè)方法,它們分別為:
(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()
下面用實(shí)現(xiàn)Servlet接口的方法編寫(xiě)Servlet:
- import javax.servlet.*;
- import java.io.*;
- public class TestServlet implements Servlet{
- public void init(ServletConfig config) throws ServletException{
- System.out.println("init");
- }
- public ServletConfig getServletConfig(){
- reture null;
- }
- public void service(ServletRequest req,ServletResponse res)
- throws ServletException,IOException{
- //這里可以實(shí)現(xiàn)請(qǐng)求后要做的內(nèi)容
- PrintWriter out = response.getWriter();
- out.println("Hello World!");
- }
- public String getServletInfo(){
- return null;
- }
- public void destroy(){
- System.out.println("destory");
- }
- }
(二)繼承抽象類GenericServlet編寫(xiě)Serlvet,這個(gè)相對(duì)比實(shí)現(xiàn)Servlet接口要容易一點(diǎn),GenericServlet類中只有一個(gè)抽象方法,即service(ServletRequest req, ServletResponse res),只要實(shí)現(xiàn)這個(gè)方法就行了,下面看例子:
- import javax.servlet.*;
- import java.io.IOException;
- public TestGenericServlet extends GenericServlet{
- public abstract void service(ServletRequest req,ServletResponse res)
- throws ServletException,IOException{
- PrintWriter out = response.getWriter();
- out.println("Hello World!");
- }
- }
(3)繼承HttpServlet類編寫(xiě)Servlet應(yīng)該是最容易的,而且是最常見(jiàn)的,我們一般要編寫(xiě)Servlet直接繼承這個(gè)類就行了,重寫(xiě)doGet()或者doPost()方法即可,下面看例子:
- import javax.servlet.http.*;
- import javax.servlet.*;
- import java.io.*;
- public TestHttpServlet extends HttpServlet{
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws IOException, ServletException {
- response.setContentType("text/html;charset=gb2312");
- PrintWriter out = response.getWriter();
- out.println("<html>");
- out.println("<head>");
- out.println("<title>HelloWorld</title>");
- out.println("</head>");
- out.println("<body bgcolor=\"white\">");
- out.println("<hr>");
- out.println("HelloWorld");
- out.println("</body></html>");
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws IOException, ServletException {
- doGet(request, response);
- }
- }
【編輯推薦】