转载

Servlet方法实现的三大实例

Servlet方法实现第一个通过实现servlet接口的方式来开发

  1. /** *//**  
  2.  * @(#)Hello.java  
  3.  *  
  4.  *  
  5.  * @author   shiyi05  
  6.  * @version 1.00 2008/5/9  
  7.  */  
  8. //这是我的第一个servlet,使用 implements Servlet实现servlet接口的方式来开发  
  9. package com.rao;  
  10. import javax.servlet.*;  
  11. import javax.servlet.ServletConfig;  
  12. import javax.servlet.ServletException;  
  13. import javax.servlet.ServletRequest;  
  14. import javax.servlet.ServletResponse;  
  15. import java.io.IOException;  
  16. import javax.servlet.*;  
  17. import java.io.*;  
  18.  
  19.  
  20.  
  21. public class Hello implements Servlet  
  22. ...{  
  23.  
  24.     public Hello()   
  25.     ...{  
  26.     }  
  27.       
  28.       
  29.         /** *//**  
  30.      * Method init  
  31.      *  
  32.      *  
  33.      * @param parm1  
  34.      *  
  35.      @throws ServletException  
  36.      *  
  37.      */  
  38.     //该函数用于初始化该servlet,该函数只会被调用一次(当用户第一次访问该servlet时)  
  39.     public void init(ServletConfig parm1) throws ServletException  
  40.                     ...{  
  41.         // TODO: Add your code here  
  42.         System.out.println("init");  
  43.     }  
  44.  
  45.     /** *//**  
  46.      * Method getServletConfig  
  47.      *  
  48.      *  
  49.      * @return  
  50.      *  
  51.      */  
  52.     public ServletConfig getServletConfig()  
  53.     ...{  
  54.         // TODO: Add your code here   
  55.           
  56.         return null;  
  57.     }  
  58.  
  59.     /** *//**  
  60.      * Method service  
  61.      *  
  62.      *  
  63.      * @param req 用于获得客户端的信息  
  64.      * @param res 用于向客户端返回信息  
  65.      *  
  66.      @throws ServletException  
  67.      @throws IOException  
  68.      *  
  69.      */  
  70.     //该函数用于处理业务逻辑,当用户每访问该servlet时,都会被调用      
  71.     public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException  
  72.                     ...{  
  73.         // TODO: Add your code here  
  74.         System.out.println("service");  
  75.         PrintWriter pw=res.getWriter();  
  76.         pw.println("Hello world!");  
  77.     }  
  78.  
  79.     /** *//**  
  80.      * Method getServletInfo  
  81.      *  
  82.      *  
  83.      * @return  
  84.      *  
  85.      */  
  86.     public String getServletInfo()   
  87.     ...{  
  88.         // TODO: Add your code here  
  89.         return "";  
  90.     }  
  91.  
  92.     /** *//**  
  93.      * Method destroy  
  94.      *  
  95.      *  
  96.      */  
  97.     public void destroy()   
  98.     ...{  
  99.         // TODO: Add your code here  
  100.         System.out.println("destroy");  
  101.     }  
  102.       


Servlet方法实现第二个通过继承GenericServlet开发

  1. /** *//**  
  2.  * @(#)HelloGen.java  
  3.  *  
  4.  *  
  5.  * @author   shiyi05  
  6.  * @version 1.00 2008/5/9  
  7.  */  
  8.  
  9.  
  10. //这是第二种开发servlet的方法,是通过继承GenericServlet开发  
  11. package com.rao;  
  12. import javax.servlet.GenericServlet;  
  13. import java.io.*;  
  14. import javax.servlet.*;  
  15.  
  16.  
  17. public class HelloGen extends GenericServlet  
  18. ...{  
  19.  
  20.     public HelloGen()  
  21.     ...{  
  22.     }  
  23.       
  24.     //重写service()方法  
  25.     public void service(ServletRequest req,ServletResponse res)  
  26.     ...{  
  27.            try  
  28.            ...{  
  29.                        PrintWriter pw=res.getWriter();  
  30.                        pw.println("Hello World,Generic");  
  31.            }  
  32.            catch(Exception ex)  
  33.            ...{  
  34.                    ex.printStackTrace();  
  35.            }      
  36.              
  37.              
  38.     }  
  39.       
  40.       

Servlet方法实现第三种,也是常见的一种,通过继承HttpServlet类实现

  1. /**  
  2.  * @(#)HelloHttp.java  
  3.  * @author   shiyi05  
  4.  * @version 1.00 2008/5/9  
  5.  */  
  6. //这是第三种开发servlet的方法,是通过继承HttpServlet类实现  
  7. package com.rao;  
  8. import javax.servlet.http.*;  
  9. import java.io.*;  
  10. public class HelloHttp extends HttpServlet  
  11.  ...{  
  12.  
  13.     public HelloHttp()   
  14.     ...{  
  15.     }  
  16.       
  17.     //处理Get请求  
  18.     public void doGet(HttpServletRequest req,HttpServletResponse res)  
  19.     ...{  
  20.            try  
  21.            ...{  
  22.                 PrintWriter pw=res.getWriter();  
  23.                                pw.println("Hello World,HttpServlet");  
  24.            }  
  25.            catch(Exception ex)  
  26.            ...{  
  27.                    ex.printStackTrace();  
  28.            }  
  29.           
  30.     }  
  31.       
  32.     public void doPost(HttpServletRequest req,HttpServletResponse res)  
  33.     ...{  
  34.         this.doGet(req,res);  
  35.           
  36.     }  

最后把这三个servlet在web.xml文件中部署

  1. ?xml version="1.0" encoding="ISO-8859-1"?  
  2.  
  3. web-app xmlns="http://java.sun.com/xml/ns/javaee" 
  4.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  5.    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
  6.    version="2.5"  
  7.  
  8.   display-nameWelcome to Tomcat/display-name  
  9.   description  
  10.      Welcome to Tomcat  
  11.   /description  
  12.     
  13.       servlet  
  14.           !--servlet取名,是任意的--  
  15.         servlet-nameHello/servlet-name  
  16.         !--指明servlet路径,包名+类名--  
  17.         servlet-classcom.rao.Hello/servlet-class  
  18.     /servlet  
  19.         servlet-mapping  
  20.         !--跟上面一样--  
  21.         servlet-nameHello/servlet-name  
  22.         !--浏览器中访问该servlet的URL,是任意的--  
  23.         url-pattern/Hello/url-pattern  
  24.     /servlet-mapping  
  25.       
  26.         
  27.       servlet  
  28.           !--servlet取名,是任意的--  
  29.         servlet-nameHelloGen/servlet-name  
  30.         !--指明servlet路径,包名+类名--  
  31.         servlet-classcom.rao.HelloGen/servlet-class  
  32.     /servlet  
  33.         servlet-mapping  
  34.         !--跟上面一样--  
  35.         servlet-nameHelloGen/servlet-name  
  36.         !--浏览器中访问该servlet的URL,是任意的--  
  37.         url-pattern/HelloGen/url-pattern  
  38.     /servlet-mapping  
  39.       
  40.           servlet  
  41.           !--servlet取名,是任意的--  
  42.         servlet-nameHelloHttp/servlet-name  
  43.         !--指明servlet路径,包名+类名--  
  44.         servlet-classcom.rao.HelloHttp/servlet-class  
  45.     /servlet  
  46.         servlet-mapping  
  47.         !--跟上面一样--  
  48.         servlet-nameHelloHttp/servlet-name  
  49.         !--浏览器中访问该servlet的URL,是任意的--  
  50.         url-pattern/HelloHttp/url-pattern  
  51.     /servlet-mapping  
  52.  
  53. /web-app 

Servlet方法实现的使用三种方法都开发完成!!希望对你在Servlet方法实现上有所帮助。

正文到此结束
Loading...