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

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

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

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

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

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

    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>

       
        有誰(shuí)說(shuō)了編寫一個(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接口來(lái)編寫一個(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)請(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編寫一個(gè)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類編寫Servlet應(yīng)該是最容易的,而且是最常見(jiàn)的,我們一般要編寫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 幽夢(mèng)新影 閱讀(1173) 評(píng)論(1)  編輯  收藏

    評(píng)論

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

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日韩乱码中文无码蜜桃臀| 国产在线一区二区综合免费视频| 亚洲情综合五月天| 亚洲国产第一站精品蜜芽| 永久免费AV无码国产网站| 黄色网址在线免费| 免费在线观看一区| 亚洲一级Av无码毛片久久精品| 最近免费中文字幕4| 久久久久高潮毛片免费全部播放| 亚洲免费日韩无码系列| 亚洲AV无码片一区二区三区| 亚洲mv国产精品mv日本mv| 亚洲AV无码专区国产乱码4SE | 国产在线播放免费| 国产免费不卡v片在线观看| 一级毛片在线免费观看| 国产一级a毛一级a看免费视频| 鲁啊鲁在线视频免费播放| 亚洲精品国产首次亮相| 中文字幕精品三区无码亚洲| 亚洲福利电影在线观看| 亚洲男人第一av网站| 久久亚洲精品视频| 亚洲午夜福利AV一区二区无码| 免费大黄网站在线看| 国产中文字幕免费观看| 高清国语自产拍免费视频国产 | 区久久AAA片69亚洲| 国产乱辈通伦影片在线播放亚洲 | 免费看少妇高潮成人片| 亚洲欧洲精品成人久久曰| 亚洲一卡2卡3卡4卡国产网站| 亚洲激情校园春色| 久久亚洲精品中文字幕| 亚洲一区二区三区高清| 91亚洲自偷手机在线观看| 亚洲最大黄色网站| 亚洲一本之道高清乱码| 亚洲国产精品ⅴa在线观看| 亚洲AV无码国产精品永久一区|