日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSP/SERVLET入门教程--Servlet 使用入门

發布時間:2025/3/21 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSP/SERVLET入门教程--Servlet 使用入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在的JSP書籍有的是直接講述JSP的使用,然后再講解SERVERLET的使用;也有書籍是先講述SERVERLET的使用,然后講解JSP使用.個人認為第二種相對好一些,至于原因大家可以在學習體會到!所以今天我們接著學習SERVERLET的使用!

好,廢話少說,現在開始!

  • 什么是Servlet?
    ① Servlet就是JAVA 類
    ② Servlet是一個繼承HttpServlet類的類
    ③ 這個在服務器端運行,用以處理客戶端的請求
  • Servlet相關包的介紹
    --javax.servlet.*?:存放與HTTP 協議無關的一般性Servlet 類;
    --javax.servlet.http.*?:除了繼承javax.servlet.* 之外,并且還增加與HTTP協議有關的功能。
      (注意:大家有必要學習一下HTTP協議,因為WEB開發都會涉及到)
      所有的Servlet 都必須實現javax.servlet.Servlet 接口(Interface)。
      若Servlet程序和HTTP 協議無關,那么必須繼承javax.servlet.GenericServlet類;
      若Servlet程序和HTTP 協議有關,那么必須繼承javax.servlet.http.HttpServlet 類。
    --HttpServlet?:提供了一個抽象類用來創建Http Servlet。
      public void doGet()方法:用來處理客戶端發出的?GET?請求
      public void doPost()方法:用來處理
    ?POST請求
      還有幾個方法大家自己去查閱API幫助文件
    --javax.servlet包的接口:
      ServletConfig接口:
    在初始化的過程中由Servlet容器使用
      ServletContext接口:定義Servlet用于獲取來自其容器的信息的方法
      ServletRequest接口:向服務器請求信息
      ServletResponse接口:響應客戶端請求
      Filter接口:
    --javax.servlet包的類:
      ServletInputStream類
    :用于從客戶端讀取二進制數據
      ServletOutputStream類:用于將二進制數據發送到客戶端
    --javax.servlet.http包的接口:
      HttpServletRequest接口:
    提供Http請求信息
      HttpServletResponse接口:提供Http響應
  • Servlet生命周期
    --Servlet生命周期就是指創建Servlet實例后,存在的時間以及何時銷毀的整個過程.
    --Servlet生命周期有三個方法
      init()方法
      service()方法:Dispatches client requests to the protected?service?method 
      destroy()方法:Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.
    --Servlet生命周期的各個階段
      ----實例化:Servlet容器創建Servlet實例
      ----初始化:調用init()方法
      ----服務:如果有請求,調用service()方法
      ----銷毀:銷毀實例前調用destroy()方法
      ----垃圾收集:銷毀實例
  • Servlet的基本結構
      

    package cn.dragon.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;

    /**

    * 這是第一個Servlet的例子

    * @author cn.dragon

    */

    public class ServletDemoFirst extends HttpServlet {   

      //用于處理客戶端發送的GET請求   

      public void doGet(HttpServletRequest request, HttpServletResponse response)   

        throws ServletException, IOException {   

         response.setContentType("text/html;charset=GB2312"); //這條語句指明了向客戶端發送的內容格式和采用的字符編碼.   

         PrintWriter out = response.getWriter();    

         out.println(" 您好!"); //利用PrintWriter對象的方法將數據發送給客戶端   

         out.close();   

      }   

      //用于處理客戶端發送的POST請求   

      public void doPost(HttpServletRequest request, HttpServletResponse response)   

        throws ServletException, IOException {   

        doGet(request, response); //這條語句的作用是,當客戶端發送POST請求時,調用doGet()方法進行處理   

      }

    }

  • Servlet的部署
      

    以下截取部分
    ?

    <servlet>
    ??? <description>任意</description>
    ??? <display-name>任意</display-name>
    ??? <servlet-name>ServletDemoFirst</servlet-name>
    ??? <servlet-class>cn.dragon.servlet.ServletDemoFirst</servlet-class>
    ? </servlet>

     <servlet-mapping>
    ??? <servlet-name>ServletDemoFirst</servlet-name>
    ??? <url-pattern>/servlet/ServletDemoFirst</url-pattern>
    ? </servlet-mapping>

    ?

    【注意】

      ① 上面的兩個<servlet-name>必須相同
      ② <servlet-class>后面指在對應的類上面.  技巧:你可以直接在你的servlet類中復制過來,這樣可以避免出錯!
      ③ <url-pattern> 必須是/servlet?再加servlet名字.大家現在就這么記.

    ?

  • Servlet實例演示

    package cn.dragon.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;

    public class ServletDemoSecond extends HttpServlet {
    ?  //初始化
    ?  public void init() throws ServletException {
    ??    System.out.println("我是init()方法!用來進行初始化工作");
    ?  }
    ?  //處理GET請求
    ?  public void doGet(HttpServletRequest request, HttpServletResponse response)
    ???  throws ServletException, IOException {
    ??    System.out.println("我是doGet()方法!用來處理GET請求");
    ??    response.setContentType("text/html;charset=GB2312");
    ??    PrintWriter out = response.getWriter();
    ??    out.println("<HTML>");
    ??    out.println("<BODY>");
    ??    out.println("這是Servlet的例子");
    ??    out.println("</BODY>");
    ??    out.println("</HTML>");
    ?  }
    ?  //處理POST請求
    ?  public void doPost(HttpServletRequest request, HttpServletResponse response)
    ???  throws ServletException, IOException {
    ??    doGet(request, response);
    ?  }
    ?  //銷毀實例
    ?  public void destroy() {
    ??    super.destroy();
    ??    System.out.println("我是destroy()方法!用來進行銷毀實例的工作");
    ?  }
    }

    ?

    web.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4"?
    ?  xmlns="http://java.sun.com/xml/ns/j2ee"?
    ?  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?
      ?xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee?
      ?http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    ? <servlet>
    ??? <servlet-name>ServletDemoSecond</servlet-name>
    ??? <servlet-class>cn.dragon.servlet.ServletDemoSecond</servlet-class>
    ? </servlet>

    ? <servlet-mapping>
    ??? <servlet-name>ServletDemoSecond</servlet-name>
    ??? <url-pattern>/servlet/ServletDemoSecond</url-pattern>
    ? </servlet-mapping>

    </web-app>

    from:?http://www.cnblogs.com/goody9807/archive/2007/06/13/782519.html
  • 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的JSP/SERVLET入门教程--Servlet 使用入门的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。