• <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 閱讀(538) 評論(0)  編輯 收藏 引用 所屬分類: java
            国产精品99久久久精品无码| 国产精品久久久久9999| 欧美日韩中文字幕久久伊人| 国产成人香蕉久久久久| 久久精品国产亚洲7777| 色老头网站久久网| 老司机国内精品久久久久| 91精品国产色综久久| 色婷婷综合久久久中文字幕 | 九九精品99久久久香蕉| 久久久精品国产亚洲成人满18免费网站 | 日日噜噜夜夜狠狠久久丁香五月| 久久99精品久久久久子伦| 精品久久久久中文字幕一区| jizzjizz国产精品久久| 久久久久久国产a免费观看不卡| 中文无码久久精品| 亚洲一区精品伊人久久伊人| 欧美久久精品一级c片片| 久久受www免费人成_看片中文| 91精品国产综合久久婷婷| 99久久做夜夜爱天天做精品| 国产一区二区精品久久| 97精品久久天干天天天按摩 | 久久精品国产亚洲精品2020| 国内精品久久国产| 久久久久国产一区二区 | 无码精品久久一区二区三区| 激情五月综合综合久久69| 久久人人爽人人爽人人AV| 久久免费看黄a级毛片| 7777久久久国产精品消防器材| 久久精品国产欧美日韩| 国产69精品久久久久99尤物| 伊人久久大香线焦综合四虎| 久久99精品国产一区二区三区| 国产精品久久午夜夜伦鲁鲁| 久久男人Av资源网站无码软件| 久久久久久人妻无码| 久久久久久国产精品无码超碰| 午夜欧美精品久久久久久久|