2020-03-19

JSP的概述

一、什么是JSPJSP:JavaServer?Pages(Java服務(wù)器頁(yè)面),其實(shí)就是在HTML中嵌入Java代碼

二、為什么學(xué)習(xí)JSPSUN公司提供了動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù):Servlet,Servlet自身有一些缺點(diǎn),SUN公司發(fā)現(xiàn)了這些問(wèn)題,就推出了一個(gè)新的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)JSPServlet的缺點(diǎn):

Servlet需要進(jìn)行配置,不方便維護(hù)Servlet很難向網(wǎng)頁(yè)中輸出HTML頁(yè)面內(nèi)容

(二)JSP的運(yùn)行原理

一、JSP的簡(jiǎn)單使用1、創(chuàng)建一個(gè)JSP頁(yè)面

2、運(yùn)行JSP(JSP需要發(fā)布到服務(wù)器中才能運(yùn)行)發(fā)布項(xiàng)目到Tomcat中

JSP的運(yùn)行原理分析JSP文件會(huì)翻譯成Java文件,將這個(gè)Java文件編譯生成class文件,再運(yùn)行class文件

(三)JSP的腳本元素

一、JSP的腳本元素概述什么是

JSP的腳本元素JSP=HTML+Java代碼+JSP自身的東西JSP的腳本元素就是在JSP中嵌入Java代碼

二、JSP的腳本元素的分類

1、聲明標(biāo)簽

(1)語(yǔ)法:<%!變量或方法聲明%>寫(xiě)在這個(gè)腳本中的代碼,會(huì)被翻譯成Servlet內(nèi)部的成員變量、或成員方法

(2)用法:<%!//聲明變量int?i?=?3;%>

2、表達(dá)式標(biāo)簽

(1)語(yǔ)法:<%=表達(dá)式%>寫(xiě)在這個(gè)腳本中的代碼,會(huì)被翻譯成方法內(nèi)部的out.print();當(dāng)中的內(nèi)容

(2)用法:<%=?i?%>

3、程序代碼標(biāo)簽(1)語(yǔ)法:<%程序代碼%>寫(xiě)在這個(gè)腳中的代碼,會(huì)被翻譯成方法內(nèi)部的局部變量或方法內(nèi)部的代碼片段

(2)用法:<%//程序代碼int?x?=?5;%

一、JSP開(kāi)發(fā)模式動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)模式的發(fā)展

(五)開(kāi)發(fā)中的路徑問(wèn)題

一、路徑問(wèn)題描述什么時(shí)候會(huì)遇到路徑問(wèn)題開(kāi)發(fā)中我們會(huì)提供一些頁(yè)面,在頁(yè)面中會(huì)提供鏈接或者表單,當(dāng)點(diǎn)擊鏈接或表單時(shí),需要進(jìn)行提交,提交到

Servlet中,從頁(yè)面向Servlet發(fā)送請(qǐng)求的地址(路徑)應(yīng)該如何編寫(xiě)

二、路徑的分類

1、相對(duì)路徑(1)相對(duì)路徑的寫(xiě)法:相對(duì)路徑不是以/開(kāi)頭的(2)相對(duì)路徑的使用:1)在根路徑下的頁(yè)面訪問(wèn)

Servlet

demo2.jsp

的訪問(wèn)路徑:

http://localhost:8080/web02/demo2.jsp

ServletDemo1

的訪問(wèn)路徑:

http://localhost:8080/web02/ServletDemo1

2)在某個(gè)目錄下的頁(yè)面訪問(wèn)Servletdemo2.jsp的訪問(wèn)路徑:http://localhost:8080/web02/demo2/demo2.jspServletDemo1的訪問(wèn)路徑(不變):http://localhost:8080/web02/ServletDemo1

2、絕對(duì)路徑

(1)絕對(duì)路徑的寫(xiě)法:通常以/開(kāi)頭使用絕對(duì)路徑,就不需要關(guān)心當(dāng)前文件和要請(qǐng)求的文件之間的相對(duì)位置關(guān)系了

(2)注意:絕對(duì)路徑分成服務(wù)器端路徑和客戶端路徑客戶端路徑需要帶工程名服務(wù)器端路徑不需要帶工程名

(六)案例需求介紹

一、案例需求描述

1、提供登錄頁(yè)面,用于用戶登錄(用戶名和密碼需要查詢數(shù)據(jù)庫(kù))

2、如果登錄失敗,需要回到登錄頁(yè)面(給出提

示信息)

3、如果登錄成功,頁(yè)面進(jìn)行跳轉(zhuǎn),在成功頁(yè)面上顯示登錄成功的總?cè)藬?shù)

二、案例

程分析

(七)Request作為域?qū)ο蟠嫒?shù)據(jù)

一、Request作為域?qū)ο蟮腁PI向Request域中保存數(shù)據(jù)set?Attribute(String?name,Object?o)從Request域中獲取數(shù)據(jù)getAttribute(String?name)從Request域中移除數(shù)據(jù)removeAttribute(String?name)

二、Request作為域?qū)ο蟮淖饔梅秶鶵equest對(duì)象其實(shí)就是從客戶端瀏覽器,向服務(wù)器送的一次請(qǐng)求信息的封裝,那么實(shí)質(zhì)上向Request中所保存的數(shù)據(jù),有效期也是一次請(qǐng)求范圍一次

請(qǐng)求范圍:從客戶端瀏覽器向服務(wù)器發(fā)送一次請(qǐng)求,服務(wù)器針對(duì)這次請(qǐng)求對(duì)瀏覽器作出響應(yīng),當(dāng)服務(wù)器作出響應(yīng)之后,請(qǐng)求對(duì)象就銷(xiāo)毀了,保存在其中的數(shù)據(jù)就無(wú)效了

(八)請(qǐng)求轉(zhuǎn)發(fā)和重定向完成頁(yè)面的跳轉(zhuǎn)

一、請(qǐng)求轉(zhuǎn)發(fā)

1、請(qǐng)求轉(zhuǎn)發(fā)的寫(xiě)法

(1)通過(guò)ServletRequest對(duì)象RequestDispatchergetRequestDispatcher(String?path)

(2)再根據(jù)RequestDispatcher中的方法進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)

forward(ServletRequest?request?ServletResponse?response)

2、請(qǐng)求轉(zhuǎn)發(fā)的代碼實(shí)現(xiàn)

3、請(qǐng)求轉(zhuǎn)發(fā)的效果(請(qǐng)求Servlet顯示JSP)

二、重定向

1、重定向的寫(xiě)法

(1)通過(guò)HttpServletResponse對(duì)象中的方法實(shí)現(xiàn):send?Redirect(String?location)

2、重定向的代碼實(shí)現(xiàn)

2、請(qǐng)求轉(zhuǎn)發(fā)和重定向區(qū)別

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

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

  • 作業(yè): 一)JSP的概述 一、什么是JSPJSP:JavaServer Pages(Java服務(wù)器頁(yè)面),其實(shí)就是...
    常樂(lè)_b00d閱讀 361評(píng)論 0 0
  • (一)Response對(duì)象的概述 一、什么是Response我們開(kāi)發(fā)的軟件是B/S結(jié)構(gòu)的軟件,是可以通過(guò)瀏覽器訪問(wèn)...
    01_ff7c閱讀 234評(píng)論 0 0
  • JSP總結(jié)(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    91數(shù)據(jù)閱讀 3,644評(píng)論 0 13
  • 一、什么是Response 我們開(kāi)發(fā)的軟件是B/S結(jié)構(gòu)的軟件,是可以通過(guò)瀏覽器訪問(wèn)服務(wù)器的軟件。從瀏覽器輸入一...
    提筆執(zhí)江山閱讀 181評(píng)論 0 0
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題。 96、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,502評(píng)論 0 10

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