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

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

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

    隨筆-42  評論-42  文章-0  trackbacks-0
           一 Servlet 與 JSP

       Servlet是Java技術對CGI編程的回答。Servlet程序在服務器端運行,動態地生成Web頁面。與傳統的CGI和許多其他類似CGI的技術相比,Java Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節省投資。
      
       高效

         在傳統的CGI(Common Gateway Interface:公共網關接口)中,每個請求都要啟動一個新的進程,如果CGI程序本身的執行時間較短,啟動進程所需要的開銷很可能反而超過實際執行時間。而在Servlet中,每個請求由一個輕量級的Java線程處理(而不是重量級的操作系統進程)。
    在傳統CGI中,如果有N個并發的對同一CGI程序的請求,則該CGI程序的代碼在內存中重復裝載了N次;而對于Servlet,處理請求的是N個線程,只需要一份Servlet類代碼。在性能優化方面,Servlet也比CGI有著更多的選擇,比如緩沖以前的計算結果,保持數據庫連接的活動,等等。

        方便

         Servlet提供了大量的實用工具例程,例如自動地解析和解碼HTML表單數據、讀取和設置HTTP頭、處理Cookie、跟蹤會話狀態等。

         功能強大

    在Servlet中,許多使用傳統CGI程序很難完成的任務都可以輕松地完成。例如,Servlet能夠直接和Web服務器交互,而普通的CGI程序不能。Servlet還能夠在各個程序之間共享數據,使得數據庫連接池之類的功能很容易實現。

        可移植性好

         Servlet用Java編寫,Servlet API具有完善的標準。因此,為I-Planet Enterprise Server寫的Servlet無需任何實質上的改動即可移植到Apache、Microsoft IIS或者WebStar。幾乎所有的主流服務器都直接或通過插件支持Servlet。

        節省投資

        不僅有許多廉價甚至免費的Web服務器可供個人或小規模網站使用,而且對于現有的服務器,如果它不支持Servlet的話,要加上這部分功能也往往是免費的(或只需要極少的投資)。

     
    JavaServer Pages(JSP)是一種實現普通靜態HTML和動態HTML混合編碼的技術。
    posted on 2008-06-24 17:28 BlueSunshine 閱讀(234) 評論(4)  編輯  收藏 所屬分類: 學習心得

    評論:
    # re: 學習 JSP 2008-06-24 17:33 | BlueSunshine
    二 支持Servlet的Web服務器--tomcat

    三 一個簡單Servlet的基本結構

    package servlet;

    import
     java.io.IOException;
    import
     java.io.PrintWriter;

    import
     javax.servlet.http.HttpServlet;
    import
     javax.servlet.http.HttpServletRequest;
    import
     javax.servlet.http.HttpServletResponse;

    public class SomeServlet extends HttpServlet 
    {
        
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException 
    {
            PrintWriter out 
    =
     resp.getWriter();
        }

    }


       如果某個類要成為Servlet,則它應該從HttpServlet 繼承,根據數據是通過GET還是POST發送,覆蓋doGet、doPost方法之一或全部。doGet和doPost方法都有兩個參數,分別為HttpServletRequest 類型和HttpServletResponse 類型。HttpServletRequest提供訪問有關請求的信息的方法,例如表單數據、HTTP請求頭等等。HttpServletResponse除了提供用于指定HTTP應答狀態(200,404等)、應答頭(Content-Type,Set-Cookie等)的方法之外,最重要的是它提供了一個用于向客戶端發送數據的PrintWriter 。對于簡單的Servlet來說,它的大部分工作是通過println語句生成向客戶端發送的頁面。

       注意doGet和doPost拋出兩個異常,因此你必須在聲明中包含它們。另外,你還必須導入java.io包(要用到PrintWriter等類)、javax.servlet包(要用到HttpServlet等類)以及javax.servlet.http包(要用到HttpServletRequest類和HttpServletResponse類)。

        最后,doGet和doPost這兩個方法是由service方法調用的,有時你可能需要直接覆蓋service方法,比如Servlet要處理GET和POST兩種請求時。
      回復  更多評論
      
    # re: 學習 JSP--基礎篇 2008-06-25 12:51 | BlueSunshine

    四 處理表單數據

      Java Servlet的好處之一,只需要簡單地調用一下HttpServletRequest的getParameter方法、在調用參數中提供表單變量的名字(大小寫敏感)即可,而且GET請求和POST請求的處理方法完全相同。

       getParameter方法的返回值是一個字符串,它是參數中指定的變量名字第一次出現所對應的值經反編碼得到得字符串(可以直接使用)。如果指定的表單變量存在,但沒有值,getParameter返回空字符串;如果指定的表單變量不存在,則返回null。如果表單變量可能對應多個值,可以用getParameterValues來取代getParameter。getParameterValues能夠返回一個字符串數組。

       最后,雖然在實際應用中Servlet很可能只會用到那些已知名字的表單變量,但在調試環境中,獲得完整的表單變量名字列表往往是很有用的,利用getParamerterNames方法可以方便地實現這一點。getParamerterNames返回的是一個Enumeration,其中的每一項都可以轉換為調用getParameter的字符串。

      回復  更多評論
      
    # re: 學習 JSP--Servlet 2008-06-25 14:45 | BlueSunshine
    五 Servlet的service方法

      service()可以涵蓋doGet()和doPost()。

    public class SomeServlet extends HttpServlet {
        @Override
        
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            PrintWriter out 
    = resp.getWriter();
        }

    }

     
    這樣寫,就可以不用再寫doGet()和doPost(),因為service()可以處理get請求和post請求。   回復  更多評論
      
    # re: 學習 JSP--Servlet 2008-06-25 14:51 | BlueSunshine

    六 Http的一個會話對象Session

    public class SomeServlet extends HttpServlet {
        @Override
        
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            HttpSession session 
    = req.getSession();
            session.setAttribute(
    "name""chh");
        }

    }
      回復  更多評論
      
    主站蜘蛛池模板: 免费观看在线禁片| 国产VA免费精品高清在线| 国产成人精品久久免费动漫| 中文亚洲AV片在线观看不卡| 一级毛片正片免费视频手机看| 大胆亚洲人体视频| 一区二区三区免费看| 在线观看亚洲天天一三视| a毛片在线免费观看| 亚洲AV无码第一区二区三区| 日本免费人成视频在线观看| 78成人精品电影在线播放日韩精品电影一区亚洲 | 丝袜熟女国偷自产中文字幕亚洲| 人妻免费久久久久久久了| 红杏亚洲影院一区二区三区| 三上悠亚电影全集免费| 国产成A人亚洲精V品无码性色 | 日韩亚洲国产综合高清| 日韩成人免费视频播放| 精品国产亚洲AV麻豆| 久久久久亚洲AV综合波多野结衣| a级大片免费观看| 亚洲成人免费网址| 日本午夜免费福利视频| 一级看片免费视频囗交| 亚洲电影一区二区三区| 免费中文熟妇在线影片| 女人裸身j部免费视频无遮挡| 亚洲精品无码乱码成人| 波多野结衣中文字幕免费视频| 亚洲AV无码国产剧情| 亚洲VA中文字幕无码一二三区| 青青草a免费线观a| 一级女性全黄久久生活片免费| 亚洲欧洲国产精品你懂的| 午夜两性色视频免费网站| 你好老叔电影观看免费| 亚洲国产综合人成综合网站00| 四虎影视永久免费观看网址| 青青草原1769久久免费播放| 亚洲精品无码久久|