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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java Web Servlet

發(fā)布時(shí)間:2023/12/10 java 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Web Servlet 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java Web Servlet

Servlet是在服務(wù)器上運(yùn)行的小程序。一個(gè)Servlet就是一個(gè)Java類,并且可以通過“請(qǐng)求-響應(yīng)”編程模型來訪問的這個(gè)駐留在服務(wù)器內(nèi)存里的Servlet程序。

Servlet可完成以下功能:

  • 讀取客戶端(瀏覽器)發(fā)送的顯式的數(shù)據(jù)。這包括網(wǎng)頁上的 HTML 表單,或者也可以是來自 applet 或自定義的 HTTP 客戶端程序的表單。
  • 讀取客戶端(瀏覽器)發(fā)送的隱式的 HTTP 請(qǐng)求數(shù)據(jù)。這包括 cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
  • 處理數(shù)據(jù)并生成結(jié)果。這個(gè)過程可能需要訪問數(shù)據(jù)庫,執(zhí)行 RMI 或 CORBA 調(diào)用,調(diào)用 Web 服務(wù),或者直接計(jì)算得出對(duì)應(yīng)的響應(yīng)。
  • 發(fā)送顯式的數(shù)據(jù)(即文檔)到客戶端(瀏覽器)。該文檔的格式可以是多種多樣的,包括文本文件(HTML 或 XML)、二進(jìn)制文件(GIF 圖像)、Excel 等。
  • 發(fā)送隱式的 HTTP 響應(yīng)到客戶端(瀏覽器)。這包括告訴瀏覽器或其他客戶端被返回的文檔類型(例如 HTML),設(shè)置 cookies 和緩存參數(shù),以及其他類似的任務(wù)。

【手工編寫Servlet】

  • 繼承HttpServlet

  • 重寫doGet()或者doPost()方法

  • 在web.xml中注冊(cè)Servlet

  • Servlet的裝載三種情況

  • 1、自動(dòng)裝載:某些Servlet如果需要在Servlet容器啟動(dòng)時(shí)就加載,需要在web.xml下它的標(biāo)簽里中,添加優(yōu)先級(jí)代碼:

    <Servlet><load-on-startup>1</load-on-startup></Servlet>

    數(shù)字越小表示該servlet的優(yōu)先級(jí)越高,會(huì)先于其他自動(dòng)裝載的優(yōu)先級(jí)較低的先裝載

  • Servlet容器啟動(dòng)后,客戶首次向某個(gè)Servlet發(fā)送請(qǐng)求時(shí),Tomcat容器會(huì)加載它

  • 當(dāng)Servlet類文件被更新后,也會(huì)重新自動(dòng)加載,Servlet是長(zhǎng)期駐留在內(nèi)存里的。某個(gè)Servlet一旦被加載,就會(huì)長(zhǎng)期存在于服務(wù)器的內(nèi)存里,直到服務(wù)器關(guān)閉,Servlet被裝載后,Servlet容器創(chuàng)建一個(gè)Servlet實(shí)例并且調(diào)用Servlet的init()方法進(jìn)行初始化。在Servlet的整個(gè)生命周期內(nèi),init()方法只被調(diào)用一次。

  • Servlet配置:

    <servlet><!-- 聲明Servlet對(duì)象 --><servlet-name>MyServlet</servlet-name><!-- 上面一句指定Servlet對(duì)象的名稱 --><servlet-class>com.servlet.MyServlet</servlet-class><!-- 上面一句指定Servlet對(duì)象的完整位置,包含包名和類名 --></servlet><servlet-mapping><!-- 映射Servlet --><servlet-name>MyServlett</servlet-name><!--<servlet-name>與上面<Servlet>標(biāo)簽的<servlet-name>元素相對(duì)應(yīng),不可以隨便起名 --><url-pattern>/MyServlet</url-pattern><!-- 上面一句話用于映射訪問URL --></servlet-mapping
    Servlet生命周期:

    Servlet 生命周期可被定義為從創(chuàng)建直到毀滅的整個(gè)過程。以下是 Servlet 遵循的過程:

    • Servlet 通過調(diào)用 init () 方法進(jìn)行初始化。
    • Servlet 調(diào)用 service() 方法來處理客戶端的請(qǐng)求。
    • Servlet 通過調(diào)用 destroy() 方法終止(結(jié)束)。
    • 最后,Servlet 是由 JVM 的垃圾回收器進(jìn)行垃圾回收的。

    ServletConfig

    ServletConfig是針對(duì)特定的Servlet的參數(shù)或?qū)傩浴ervletConfig是表示單獨(dú)的Servlet的配置和參數(shù),只是適用于特定的Servlet。從一個(gè)servlet被實(shí)例化后,對(duì)任何客戶端在任何時(shí)候訪問有效,但僅對(duì)本servlet有效,一個(gè)servlet的ServletConfig對(duì)象不能被另一個(gè)servlet訪問。

    初始化參數(shù)為局部的

    <servlet><servlet-name>ServletConfigDemo</servlet-name><servlet-class>com.yyz.servletconfig.ServletConfigDemo</servlet-class><init-param><param-name>xxx</param-name><param-value>yyy</param-value></init-param></servlet><servlet-mapping><servlet-name>ServletConfigDemo</servlet-name><url-pattern>/servlet/ServletConfigDemo</url-pattern></servlet-mapping>

    調(diào)用形式:

    //獲取指定的初始化參數(shù) String value = config.getInitParameter("xxx"); response.getOutputStream().write(value.getBytes()); //獲取所有的初始化參數(shù) Enumeration<String> e = cofig.getInitParameterNames(); while(e.hasMoreElements()){String name = e.nextElement();value = config.getInitParameter(name);response.getOutputStream().write((name+"="+value+"<br/>").getBytes()); }

    ServletContext

    一個(gè)ServletContext對(duì)象表示了一個(gè)Web應(yīng)用程序的上下文。

    Servlet上下文:Servlet上下文提供對(duì)應(yīng)用程序中所有Servlet所共有的各種資源和功能的訪問。Servlet上下文API用于設(shè)置應(yīng)用程序中所有Servlet共有的信息。Servlet可能需要共享他們之間的共有信息。運(yùn)行于同一服務(wù)器的Servlet有時(shí)會(huì)共享資源,如JSP頁面、文件和其他Servlet。

    初始化參數(shù)為全局的

    功能:

    • 獲取web應(yīng)用程序的初始化參數(shù)

    • 記錄日志

    • application域范圍的屬性

    • 訪問資源文件

    • 獲取虛擬路徑所映射的本地路徑

    • web應(yīng)用程序之間的訪問

    • ServletContext的其他方法

      ?

    總結(jié)

    以上是生活随笔為你收集整理的Java Web Servlet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。