• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            infinity

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              36 隨筆 :: 0 文章 :: 25 評論 :: 0 Trackbacks

                我們現在來創建一個簡單的Servlet:FirstServlet類,功能只是輸出“Hello!大家好!”。代碼如例3.1。

            /*

             * FirstServlet.java

             *

             * 功能:通過Servlet輸出頁面

            */

            package com.jy.sample.servlet;

             

            import java.io.IOException;

            import java.io.PrintWriter;

            import javax.servlet.ServletException;

            import javax.servlet.http.HttpServlet;

            import javax.servlet.http.HttpServletRequest;

            import javax.servlet.http.HttpServletResponse;

             

            /**

             * HelloWorld Servlet.

             * 
            @author JY

             
            */

            public class FirstServlet extends HttpServlet {

                
            /** serialVersionUID. */

                
            private static final long serialVersionUID = 2372510451801586160L;

             

                
            /**

                 * 處理Get請求.

                 * 
            @param req Request

                 * 
            @param resp Response

                 * 
            @throws ServletException Servlet異常

                 * 
            @throws IOException IO異常

                 
            */

                @Override

                
            protected void doGet(HttpServletRequest req,

                        HttpServletResponse resp)

                            
            throws ServletException, IOException {

                    
            // 設定內容類型為HTML網頁UTF-8編碼

                    resp.setContentType(
            "text/html;charset=UTF-8");

                    
            // 輸出頁面

                    PrintWriter out 
            = resp.getWriter();

                    out.println(
            "<html><head>");

                    out.println(
            "<title>First Servlet Hello</title>");

                    out.println(
            "</head><body>");

                    out.println(
            "Hello!大家好!");

                    out.println(
            "</body></html>");

                    out.close();

                }

            }

             

            例3.1

                下面我們來看看這段代碼,一開始我們必須導入javax.servlet.*和javax.servlet.http.*。其中,javax.servlet.* 存放與HTTP協議無關的一般性Servlet類;javax.servlet.http.* 增加了與HTTP協議有關的功能。

                所有Servlet都必須實現javax.servlet.Servlet接口,但是通常我們都會從javax.servlet.GenericServlet或javax.servlet.http.HttpServlet擇一來實現。如果寫的Servlet代碼和HTTP協議無關,那么必須繼承GenericServlet類;若有關,就必須繼承HttpServlet類。我們的例子中繼承的是HttpServlet類。

                javax.servlet.* 里面的ServletRequest和ServletResponse接口提供存取一般的請求和響應;而javax.servlet.http.* 里面的HttpServletRequest和HttpServletResponse接口,則提供HTTP請求及響應的存取服務。通過代碼了解到,我們代碼中用到的是HttpServletRequest和HttpServletResponse。

                我們的代碼中,利用HttpServletResponse接口的setContentType()方法來設定內容類型,我們要顯示為HTML網頁類型,因此,內容類型設為“text/html”,這是HTML網頁的標準MIME類型值。之后,用getWriter()方法返回PrintWriter類型的out對象,它與PrintStream類似,但是它能夠對Java的Unicode字符進行編碼轉換。最后,利用out對象把“Hello!大家好!”的字符串顯示在網頁上。

                代碼寫好后,我們來設定web.xml文件,web.xml文件在我們Web項目的WEB-INF文件夾內。如圖3.4。


            圖3.4

                我們來詳細看一看web.xml中這段關于Servlet的配置。配置一個Servlet需要配置兩個標簽,第一個<servlet>,一個是<servlet-mapping>。

            對于<servlet>,在其中可以配置Servlet的名字,所要調用的Java類,還有Servlet初始化時傳入的參數。在這里,我們的Servlet名字是“FirstServlet”,調用的java類是“com.jy.sample.servlet.FirstServlet”,就是我們寫的Servlet的package加上類名。我們寫了一個最簡單的Servlet,我們不需要傳遞初始化參數給Servlet,所以沒有配置初始化參數,關于配置初始化參數,我們會在后邊的例子里講解。

                對于<servlet-mapping>,我們首先指定了Servlet的名字,然后設置url連接,在這里,我們設置的是“/FirstServlet”。這里的Servlet名字必須和上面的<servlet>標簽中的<servlet-name>的值一致。

                當我們的頁面中設定的連接和<url-pattern>中設定的值一致時,則會通過<servlet-name>找到對應Servlet類來運行。這里,當頁面的連接(a標簽或form設定的action)是“/FirstServlet”時,則會通過Servlet的名字“FirstServlet”來找到對應的Servlet類“com.jy.sample.servlet.FirstServlet”來運行。

                最后,我們看看FirstServlet的執行結果,如圖3.5所示。

            圖3.5


            posted on 2010-07-27 11:10 infinity 閱讀(546) 評論(0)  編輯 收藏 引用 所屬分類: java
            久久精品国产亚洲7777| 久久久久99精品成人片三人毛片| 国产精品99久久久久久宅男小说| 久久久午夜精品| 香港aa三级久久三级| 亚洲Av无码国产情品久久| 新狼窝色AV性久久久久久| 久久免费精品一区二区| 欧美日韩精品久久久久| 国内精品伊人久久久久av一坑| 久久综合狠狠综合久久97色| 91精品国产色综合久久| 波多野结衣久久一区二区| 精品久久久久久久久午夜福利| 久久er国产精品免费观看8| 久久久久亚洲AV无码去区首| 72种姿势欧美久久久久大黄蕉| 性做久久久久久久久浪潮| 999久久久免费国产精品播放| 国产精品99久久久精品无码| 国产精品综合久久第一页| 99久久免费国产精精品| 久久发布国产伦子伦精品 | 久久国产精品无码HDAV| 久久亚洲精品无码aⅴ大香| 久久国产影院| 久久久久亚洲AV无码专区桃色 | 亚洲成av人片不卡无码久久| 精品久久久久久国产| 久久狠狠高潮亚洲精品| 色综合久久中文字幕无码| 国产精品99久久久精品无码| 亚洲精品无码成人片久久| 国内精品伊人久久久久777| 国内精品久久久久久久久电影网 | 久久亚洲私人国产精品| 久久久噜噜噜www成人网| 国产精品久久久久AV福利动漫| 久久99精品久久只有精品| 97热久久免费频精品99| 久久精品九九亚洲精品天堂|