• <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
            国产精品嫩草影院久久| 伊人久久大香线蕉av不卡| 久久国产免费观看精品| 99久久精品免费看国产免费| 久久AⅤ人妻少妇嫩草影院| 久久久久久国产精品免费免费| 久久久久久精品久久久久| 国产精品久久久久久久久免费| 99久久精品免费看国产一区二区三区 | 久久亚洲AV无码精品色午夜麻豆| 18岁日韩内射颜射午夜久久成人 | 亚洲国产精品一区二区久久| 久久天天躁狠狠躁夜夜av浪潮| 久久精品人人做人人爽电影 | 中文无码久久精品| 国产精品青草久久久久福利99| 久久亚洲日韩看片无码| 久久艹国产| AV无码久久久久不卡蜜桃| 久久国产欧美日韩精品免费| 国产高清美女一级a毛片久久w| 无码人妻精品一区二区三区久久久| 国产成人久久久精品二区三区| 人妻少妇久久中文字幕一区二区| 日日狠狠久久偷偷色综合免费| 青青青伊人色综合久久| 99久久免费国产特黄| 欧洲成人午夜精品无码区久久| 大香伊人久久精品一区二区 | 久久久久国产精品嫩草影院| 久久精品国产色蜜蜜麻豆| 94久久国产乱子伦精品免费| 国产精品久久久久久久久鸭| 久久国产精品99国产精| 久久99精品久久久久婷婷| 日本强好片久久久久久AAA| 久久无码中文字幕东京热| 亚洲欧美一区二区三区久久| 久久青青草原精品国产不卡| 久久久久婷婷| 亚洲精品乱码久久久久久按摩 |