關於servlet的學習日誌

           servlet是使用Java servlet應用程序設計接口(API)及相關類和方法的Java程序,除了Java servlet  API,它還能夠用於擴展和添加API的Java類軟件的包。servlet主要用於處理客戶端傳來的HTTP請求,並返回一個響應。一般所說的servlet就是指httpservlet,可以處理的請求有doGet()、doPost()和service()等方法。html

實現過程web

         最先支持 Servlet 技術的是 JavaSoft 的 Java Web Server。此後,一些其它的基於 Java 的 Web Server 開始支持標準的 Servlet API。Servlet 的主要功能在於交互式地瀏覽和修改數據,生成動態 Web 內容。這個過程爲:服務器

1) 客戶端發送請求至服務器端;app

2) 服務器將請求信息發送至 Servlet;jsp

3) Servlet 生成響應內容並將其傳給服務器。響應內容動態生成,一般取決於客戶端的請求;spa

4) 服務器將響應返回給客戶端。設計

servlet的生命週期code

  1. 加載orm

  2. 實例化xml

  3. 調用init()方法初始化該 Servlet

  4. 提供服務。service()根據請求方法不一樣調用doGet() 或者 doPost()

  5. 銷燬。

    destroy():當web服務器和容器關閉時會自動調用HttpServlet.destroy()方法關閉全部打開的資源,並執行一些關閉前的處理。

servlet的配置

在web.xml文件中進行配置:

使用<servlet-name>、<servlet-class>、<servlet-mapping>等標籤來進行配置

doGet()和doPost()

 
 public void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
  System.out.println("This is doGet");
  resp.setContentType("text/html;charset=UTF-8");
  String loginId = req.getParameter("loginId");
  req.setAttribute("loginId", loginId);
  req.setAttribute("loginName", "nttdata");
  req.getRequestDispatcher("/response.jsp").forward(req, resp);
 }
public void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
  doGet(req, resp);
 }

       web容器會自動按照請求類型調用servlet提供的方法,如果GET類型的請求就將分給doGet()方法處理,同理如果POST類型就發給doPost()處理,可是通常可能是用doGet()方法,如上,即便是使用了doPost()可是最終仍是調用上面的doGet()。

頁面轉發

      servlet中實現頁面轉發只要是利用RequestDispatcher接口實現的。其包括forward()的方法:

       forward()方法用於將請求轉發到服務器上的另外一個資源

      如上代碼,用forward()方法將頁面請求轉發到了response.jsp頁面

相關文章
相關標籤/搜索