国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JSP > 正文

JSP-11-Servlet

2019-11-15 00:11:17
字體:
供稿:網(wǎng)友
jsp-11-Servlet1 初識(shí)ServletØ Servlet做了什么

本身不做業(yè)務(wù)

只接收請(qǐng)求并決定調(diào)用哪個(gè)javaBean去處理請(qǐng)求

確定用哪個(gè)頁(yè)面來顯示處理返回的數(shù)據(jù)

Ø Servlet 是什么

Servlet是一個(gè)Java程序,是在服務(wù)器端運(yùn)行以處理客戶端請(qǐng)求并做出響應(yīng)的程序。

Server+Applet, 是一種服務(wù)器端的Java應(yīng)用程序

只有當(dāng)一個(gè)服務(wù)器端的程序使用了 servlet API的時(shí)候,這個(gè)服務(wù)端的程序才能稱之為Servlet.

Ø ServletAPI介紹API: 應(yīng)用程序接口

javax.servlet.Servlet

所有Java Servlet的基礎(chǔ)接口類。規(guī)定了必須由Servlet具體類實(shí)現(xiàn)的方法集。

javax.servlet.GenericServlet

是 Servlet的通用版本,是一種與協(xié)議無關(guān)的Servlet。

Javax.servlet.http.HttpServlet

在GenericServlet基礎(chǔ)上擴(kuò)展的基于Http協(xié)議的Servlet.在程序中,常常是繼承此類。需要注意的是,Httpservlet的子類至少重寫以下方法中的一個(gè) doGet()和doPost()。

Ø Servlet的生命周期

Servlet容器負(fù)責(zé)加載和實(shí)例化Servlet。 Servlet容器有時(shí)候也叫做Servlet引擎,是Web服務(wù)器或應(yīng)用服務(wù)器的一部分,用于在發(fā)送的請(qǐng)求和響應(yīng)之間提供網(wǎng)絡(luò)服務(wù)。在這里我們可以把Servlet容器理解為 Tomcat。

加載和實(shí)例化

當(dāng)Servlet容器啟動(dòng)或者容器檢測(cè)到客戶端請(qǐng)求時(shí),加載和實(shí)例化。

Servlet容器會(huì)查找內(nèi)存中是否存在Servlet實(shí)例,如果不存在,就創(chuàng)建,如果存在,就直接從內(nèi)存中取出。

初始化 init()方法

實(shí)例化后,容器調(diào)用 Servlet的init(), 初始化對(duì)象。

提供服務(wù),請(qǐng)求處理 service()

初始化后,Servlet就處于能響應(yīng)請(qǐng)求的就緒狀態(tài)。此時(shí)得到客戶端請(qǐng)求并做出處理。(多線程響應(yīng))。

銷毀 destroy()方法

當(dāng)程序中的Servlet對(duì)象不再使用的時(shí)候或者Web服務(wù)停止的運(yùn)行的時(shí)候

Ø Servlet的主要方法

Init()

Servlet的初始化方法,僅僅會(huì)執(zhí)行一次

Service()

處理請(qǐng)求和生成響應(yīng)

Destroy()

在服務(wù)器停止并且程序中的Servlet對(duì)象不再使用的時(shí)候調(diào)用,只執(zhí)行一次

ServletRequest

封裝客戶的請(qǐng)求信息

ServletResponse

創(chuàng)建響應(yīng)信息,將處理結(jié)果返回給客戶端

ServletConfig

包含了Servlet的初始化參數(shù)信息

Ø Servlet處理 Get/Post 請(qǐng)求 HttpServletRequest request對(duì)象的用戶

//獲得參數(shù)

Request.getParameter(“param”);

//將輸入的內(nèi)容轉(zhuǎn)換為中文

Request.setCharacteEncoding(“GBK”);

Request.setAttribute(“loginname”,user);

HttpServletResponse response 對(duì)象常用方法

//解決中文亂碼問題

Response.setContentType(“text/html;charset=GBK”);

Response.sendRedirect(“url”);

轉(zhuǎn)發(fā)

RequestDispatcher dispatcher = request.getRequestDispatcher(url);

首先定義轉(zhuǎn)發(fā)器。參數(shù) url 是魚轉(zhuǎn)發(fā)的頁(yè)面或者 Servlet的URL地址。

Dispatcher.forward(request,response);

然后實(shí)現(xiàn)轉(zhuǎn)發(fā)的功能,參數(shù)為請(qǐng)求、響應(yīng)對(duì)象。

14.2 Servlet 的部署與配置

當(dāng)前項(xiàng)目的web.xml

<web-app>

<servlet>

<servlet-name>自定義名稱</servlet-name>

<servlet-class>servlet實(shí)際類的具體位置</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>同上自定義的名稱 </servlet-name>

<url-pattern>用戶訪問Servlet的URL</url-pattern>

</servlet-mapping>

</web-app>


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 怀化市| 灵山县| 隆昌县| 黄平县| 个旧市| 德化县| 沅江市| 宁国市| 湘乡市| 松潘县| 江北区| 富平县| 双流县| 西盟| 盐城市| 阿拉善左旗| 东乡族自治县| 秀山| 达孜县| 祁阳县| 铁岭市| 通榆县| 石阡县| 河北区| 阿图什市| 北辰区| 桂东县| 调兵山市| 花莲县| 长垣县| 施秉县| 石屏县| 疏勒县| 陇川县| 温泉县| 慈利县| 桂平市| 依安县| 封开县| 昌图县| 马山县|