2020-03-16

作業(yè)


Servlet: Server applet

概念:運行在服務(wù)器上的一個小程序(動態(tài)資源)

? Servlet是一個接口,定義了java類被瀏覽器訪問到的一套規(guī)則(接口)(有了這套規(guī)則,tomcat便可以識別和創(chuàng)建Servlet)

? 我們只需定義一個類并實現(xiàn)Servlet接口,復(fù)寫方法即可。

快速入門:

? ? ? ? 1.創(chuàng)建javaEE項目

? ? ? ? 2.定義一個類并實現(xiàn)Servlet接口

? ? ? ? 3.實現(xiàn)Servlet接口中的抽象方法

? ? ? ? 4.配置Servlet

Servlet執(zhí)行原理: 見圖

Servlet的生命周期:

? 1.被創(chuàng)建:執(zhí)行init()方法只執(zhí)行一次。

? Servlet對象什么時候被創(chuàng)建?

? 默認(rèn)狀態(tài)下該Servlet第一次被訪問時創(chuàng)建該對象。

? 如何更改Servlet被創(chuàng)建的時機?

? 在<Servlet>標(biāo)簽中設(shè)置<load-on-startup>

? 負(fù)數(shù):第一次被訪問時創(chuàng)建。

? 0或正數(shù):在服務(wù)器啟動時創(chuàng)建。

? 2.提供服務(wù): 執(zhí)行service()方法,執(zhí)行多次。

? ? 每次訪問Servlet時,service()方法都會被調(diào)用一次。

? 3.被銷毀:執(zhí)行destroy()方法,只執(zhí)行一次。

? 注意:

? ? ? 1.服務(wù)器關(guān)閉時Servlet被銷毀。

? ? ? 2.只有服務(wù)器正常關(guān)閉時才會執(zhí)行destroy()方法。

? ? ? 3.一般用于關(guān)閉資源。

Servlet3.0

好處:支持注解配置??梢圆恍枰獁eb.xml

1.在Servlet實現(xiàn)類上定義注解

@WebServlet("資源路徑")

2.無需配置web.xml即可訪問。

了解:

? ? String name() default ""; //相當(dāng)于<Servlet-name>

? ? String[] value() default {};//代表urlPatterns()屬性配置

? ? String[] urlPatterns() default {};//相當(dāng)于<url-pattern>

? ? int loadOnStartup() default -1;//相當(dāng)于<load-on-startup>

動態(tài)web項目的目錄結(jié)構(gòu):

-- 根目錄

--WEB-INFO目錄

--web.xml:web項目的核心配置文件

--classes目錄:放置字節(jié)碼文件的目錄

--lib目錄:放置依賴的jar包

Servlet的體系結(jié)構(gòu):

Servlet(接口)

|實現(xiàn)

GenericServlet(抽象類)

|繼承

HttpServlet(抽象類)

GenericServlet: 將Servlet中其它的方法做了空實現(xiàn),繼承自GenericServlet,

只需要重寫service()方法即可。

HttpServlet:對Http協(xié)議進(jìn)行了封裝,簡化了操作。

步驟:

? ? 1.定義一個類并繼承自HttpServlet

? ? 2.重寫doGet()或doPost()方法。

Servlet的相關(guān)配置:

urlpattern:servlet的訪問路徑。

1.一個Servlet可以配置多個訪問路徑。

? @webServlet({"/a","/b"});

2.路徑規(guī)則

? ? 1)

/xxx? 路徑匹配 ? ? ? ?

? ? 2)

? ? /xxx/xxx 多重路徑

3)

? ? *.do

另:?

/* 所有url都可訪問該servlet

注意:具有最低優(yōu)先級

Request對象

1.Request和Response對象的基本原理。

1)Request對象和Response對象都是服務(wù)器創(chuàng)建的。我們只是來使用他們。

2)Request對象用來獲取請求消息。Response對象用來設(shè)置響應(yīng)消息。

2.Request對象的繼承體系。

ServletRequest(接口)

| 繼承

HttpServletRequest(接口)

| 實現(xiàn)

? ? ? ? org.apache.catalina.connector.RequestFacade(實現(xiàn)類:由Tomcat實現(xiàn))

3.Request的具體功能

1)獲取請求消息數(shù)據(jù)

1.請求行

GET /day12_http/myhttpservlet1?username=zhangsan HTTP/1.1

相關(guān)方法:

? ? ? ? a.獲取請求方式

? ? ? ? String getMethod();

? ? ? ? b.獲取虛擬目錄

? ? ? ? String getContextPath();

? ? ? ? c.獲取Servlet路徑

? ? ? ? String? getServletPath();

? ? ? ? d.獲取GET請求參數(shù)

? ? ? ? String? getQueryStrin

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Servlet: Server applet 概念:運行在服務(wù)器上的一個小程序(動態(tài)資源) Servlet是...
    H_5a8d閱讀 188評論 0 0
  • Servlet: Server applet 概念:運行在服務(wù)器上的一個小程序(動態(tài)資源) Servlet是...
    高海婁閱讀 153評論 0 0
  • Servlet: Server applet 概念:運行在服務(wù)器上的一個小程序(動態(tài)資源) Servlet是...
    小湯源O閱讀 305評論 0 0
  • Servlet: Server applet 概念:運行在服務(wù)器上的一個小程序(動態(tài)資源) Servlet是...
    董宇浩閱讀 228評論 0 0
  • Servlet: Server applet 概念:運行在服務(wù)器上的一個小程序(動態(tài)資源) Servlet是一個...
    01_ff7c閱讀 318評論 0 0

友情鏈接更多精彩內(nèi)容