分享

Servlet的三种实现方式

 Baruch 2017-08-30

Servlet有三种实现方式:

* 实现Servlet接口

* 继承GenericServlet类

* 继承HttpServlet类

实现servlet接口代码  收藏代码
  1. package com.yuchao.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.Servlet;  
  7. import javax.servlet.ServletConfig;  
  8. import javax.servlet.ServletException;  
  9. import javax.servlet.ServletRequest;  
  10. import javax.servlet.ServletResponse;  
  11.   
  12. public class HelloWorldServlet implements Servlet{  
  13.   
  14.     //释放内存  
  15.     //1. reload  
  16.     //2. 关闭TomCat  
  17.     //3. 关机  
  18.     public void destroy() {  
  19.         // TODO Auto-generated method stub  
  20.         System.out.println("destroy it");  
  21.     }  
  22.   
  23.     public ServletConfig getServletConfig() {  
  24.         // TODO Auto-generated method stub  
  25.         return null;  
  26.     }  
  27.   
  28.     public String getServletInfo() {  
  29.         // TODO Auto-generated method stub  
  30.         return null;  
  31.     }  
  32.   
  33.     //该 函数用于初始化,只会被调用一次(当用户第一次访问Servlet时,被调用)  
  34.     public void init(ServletConfig arg0) throws ServletException {  
  35.         // TODO Auto-generated method stub  
  36.         System.out.println("init it");  
  37.           
  38.     }  
  39.   
  40.     //用于处理业务逻辑,应该把业务逻辑代码写在该方法中  
  41.     //会被多次调用,当用户每访问一次时就会被调用一次  
  42.     //request用于获取客户端的信息  
  43.     //response用户向客户端返回信息  
  44.     public void service(ServletRequest request, ServletResponse response)  
  45.             throws ServletException, IOException {  
  46.         // TODO Auto-generated method stub  
  47.         System.out.println("service it");  
  48.         PrintWriter printWriter=response.getWriter();  
  49.         printWriter.println("<h1>"+"hello,world"+"</h1>");        
  50.     }  
  51.   
  52. }  
 
继承genericservlet类代码  收藏代码
  1. package com.yuchao.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.GenericServlet;  
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.ServletRequest;  
  9. import javax.servlet.ServletResponse;  
  10.   
  11. @SuppressWarnings("serial")  
  12. public class HelloWorldGenericServlet extends GenericServlet {  
  13.   
  14.     @Override  
  15.     public void service(ServletRequest request, ServletResponse response)  
  16.             throws ServletException, IOException {  
  17.         // TODO Auto-generated method stub  
  18.         try{  
  19.             PrintWriter printWriter=response.getWriter();  
  20.             printWriter.println("<h1>hello,generic world.!!!</h1>");  
  21.         }catch(Exception e){  
  22.             e.printStackTrace();  
  23.         }  
  24.     }  
  25.   
  26. }  
 
继承httpservlet类代码  收藏代码
  1. package com.yuchao.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. @SuppressWarnings("serial")  
  12. public class HelloWorldHttpServlet extends HttpServlet {  
  13.   
  14.     @Override  
  15.     protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
  16.             throws ServletException, IOException {  
  17.         // TODO Auto-generated method stub  
  18.         doPost(req,resp);             
  19.     }  
  20.   
  21.     @Override  
  22.     protected void doPost(HttpServletRequest req, HttpServletResponse resp)  
  23.             throws ServletException, IOException {  
  24.         // TODO Auto-generated method stub        
  25.         PrintWriter printWriter=resp.getWriter();  
  26.         printWriter.println("<h1>Hello World!</h1>");     
  27.     }  
  28.   
  29. }  

 使用Servlet需要对其在web.xml中进行配置,例如:

配置信息代码  收藏代码
  1. <!-- HelloWorldServlet映射  -->  
  2.   <servlet>  
  3.     <servlet-name>hello</servlet-name>  
  4.     <servlet-class>com.yuchao.servlet.HelloWorldServlet</servlet-class>  
  5.   </servlet>  
  6.     
  7.   <servlet-mapping>  
  8.     <servlet-name>hello</servlet-name>  
  9.     <url-pattern>/hello</url-pattern>  
  10.   </servlet-mapping>  
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约