<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 4, 文章 - 2, 評論 - 36, 引用 - 0
    數(shù)據(jù)加載中……

    糾正一些關(guān)于Servlet的誤解

        剛才看了幾篇對Servlet總結(jié)的文章,發(fā)現(xiàn)他們都有異曲同工之處,上來就是這樣寫的:
     

    Servlet三個(gè)要素:
          1.必須繼承自HttpServlet
          2.必須實(shí)現(xiàn)doGet()或者doPost()
          3.必須在web.xml中配置Servlet
          <servlet>
          <servlet-name> </servlet-name>
          <servlet-class> </servlet-class>
          </servlet>
          
          <servlet-mapping>
          <servlet-name> </servlet-name>
          <url-pattern> </url-pattern>
          </servelt-mapping>

       
        有誰說了編寫一個(gè)Servlet必須繼承自HttpServlet類,必須實(shí)現(xiàn)doGet()或者doPost() ,難道實(shí)現(xiàn)Servlet接口就不行了嗎? 
        其實(shí)編寫一個(gè)Servlet主要有三種方法,一是實(shí)現(xiàn)Servlet接口,二是繼承抽象類GenericServlet,三是繼承HttpServlet類.下面分別用這三種方法去實(shí)現(xiàn)Servlet:
        (一)要從實(shí)現(xiàn)Servlet接口來編寫一個(gè)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接口的方法編寫一個(gè)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)請求后要做的內(nèi)容
                PrintWriter out = response.getWriter();
          out.println(
    "Hello World!");

                }

        
    public String getServletInfo(){
            
    return null;
            }

        
    public void destroy(){
            System.out.println(
    "destory");
            }

        }
     
        
        (二)繼承抽象類GenericServlet編寫一個(gè)Serlvet,這個(gè)相對比實(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類編寫Servlet應(yīng)該是最容易的,而且是最常見的,我們一般要編寫Servlet直接繼承這個(gè)類就行了,重寫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);
     }


    }

    posted on 2008-11-21 12:55 幽夢新影 閱讀(1173) 評論(1)  編輯  收藏

    評論

    # re: 糾正一些關(guān)于Servlet的誤解[未登錄]  回復(fù)  更多評論   

    嘿嘿。。可能最上面的那些關(guān)于servlet的講解比較大眾化吧。。。LZ你說的這三種方法中用得最多的也應(yīng)該是第三種吧。
    2008-11-22 18:13 | lepoke

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 午夜影院免费观看| 在线免费观看韩国a视频| 亚洲精品免费在线视频| 国产无人区码卡二卡三卡免费| 在线观看永久免费| 亚洲人av高清无码| 国产亚洲一区区二区在线| 久久午夜伦鲁片免费无码| 在线观看亚洲AV日韩A∨| 亚洲毛片不卡av在线播放一区| 99精品视频在线观看免费播放 | 国产精品亚洲va在线观看| 伊人久久大香线蕉亚洲| 91嫩草国产在线观看免费| 无码人妻一区二区三区免费视频| 亚洲va无码va在线va天堂| 免费黄色网址入口| 污污网站免费观看| 看全免费的一级毛片| 亚洲熟妇无码爱v在线观看| 免费**毛片在线播放直播 | 亚洲成AV人网址| 每天更新的免费av片在线观看| 朝桐光亚洲专区在线中文字幕 | 国产一区二区三区免费视频| 欧洲精品99毛片免费高清观看| 国产产在线精品亚洲AAVV| 亚洲精品电影在线| 国产亚洲精品成人AA片新蒲金| 女人让男人免费桶爽30分钟| 久久免费的精品国产V∧| 一级人做人爰a全过程免费视频| 亚洲国产成人九九综合| 国产AV无码专区亚洲AV漫画| 全免费一级午夜毛片| 5555在线播放免费播放| 免费一区二区无码东京热| 日日摸夜夜添夜夜免费视频| 亚洲欧美第一成人网站7777| 亚洲成人一级电影| 亚洲电影一区二区|