Java WEB 第6章 登錄功能實(shí)現(xiàn)-頁(yè)面中錯(cuò)誤提示
第6章 登錄功能實(shí)現(xiàn)-頁(yè)面中錯(cuò)誤提示
6.1 涉及的技術(shù)知識(shí)點(diǎn):
- 請(qǐng)求重定向 ?
- 請(qǐng)求轉(zhuǎn)發(fā) ?
- Jsp頁(yè)面 ?
- EL表達(dá)式 ?
- JS簡(jiǎn)單應(yīng)用
6.2 請(qǐng)求重定向 redirect
- Servlet接收到瀏覽器端請(qǐng)求并處理完成后,給瀏覽器端一個(gè)特殊的響應(yīng),這個(gè)特殊的響應(yīng)要求瀏覽器去請(qǐng)求一個(gè)新的資源,整個(gè)過(guò)程中瀏覽器端會(huì)發(fā)出兩次請(qǐng)求,且瀏覽器地址欄會(huì)改變?yōu)樾沦Y源的地址。
- 重定向的情況下,原Servlet和目標(biāo)資源之間就不能共享請(qǐng)求域數(shù)據(jù)了
- 實(shí)現(xiàn)重定向的API
6.3 請(qǐng)求轉(zhuǎn)發(fā)
- Servlet接收到瀏覽器端請(qǐng)求后,進(jìn)行一定的處理,先不進(jìn)行響應(yīng),而是在服務(wù)器端內(nèi)部“轉(zhuǎn)發(fā)”給其他Servlet程序繼續(xù)處理。在這種情況下瀏覽器端只發(fā)出了一次請(qǐng)求,瀏覽器地址欄不會(huì)發(fā)生變化,用戶也感知不到請(qǐng)求被轉(zhuǎn)發(fā)了。
- 轉(zhuǎn)發(fā)請(qǐng)求的Servlet和目標(biāo)Servlet共享同一個(gè)request對(duì)象。
- 實(shí)現(xiàn)轉(zhuǎn)發(fā)的API
6.4 重定向與轉(zhuǎn)發(fā)的區(qū)別
6.5 JSP頁(yè)面
- JSP全稱Java Server Pages,顧名思義就是運(yùn)行在java服務(wù)器中的頁(yè)面,也就是在我們JavaWeb中的動(dòng)態(tài)頁(yè)面,其本質(zhì)就是一個(gè)Servlet。
- 其本身是一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),它的主要構(gòu)成有HTML網(wǎng)頁(yè)代碼、Java代碼片段、JSP標(biāo)簽幾部分組成,后綴是.jsp
- 相比于Servlet,JSP更加善于處理顯示頁(yè)面,而Servlet跟擅長(zhǎng)處理業(yè)務(wù)邏輯,兩種技術(shù)各有專長(zhǎng),所以一般我們會(huì)將Servlet和JSP結(jié)合使用,Servlet負(fù)責(zé)業(yè)務(wù),JSP負(fù)責(zé)顯示。
- 一般情況下, 都是Servlet處理完的數(shù)據(jù),轉(zhuǎn)發(fā)到JSP,JSP負(fù)責(zé)顯示數(shù)據(jù)的工作
- JSP的基本語(yǔ)法:
-
- JSP的腳本元素
- 腳本片段是嵌入到JSP中Java代碼段,格式以<%開(kāi)頭,%>結(jié)尾,兩個(gè)%號(hào)之間就可以編寫Java代碼了
- JSP的表達(dá)式
- JSP表達(dá)式用來(lái)直接將Java變量輸出到頁(yè)面中,格式以<%=開(kāi)頭,以%>結(jié)尾,中間是我們要輸出的內(nèi)容
- JSP的隱含對(duì)象
- out(JspWriter):相當(dāng)于response.getWriter()獲取的對(duì)象,用于在頁(yè)面中顯示信息。
- config(ServletConfig):對(duì)應(yīng)Servlet中的ServletConfig對(duì)象。
- page(Object):對(duì)應(yīng)當(dāng)前Servlet對(duì)象,實(shí)際上就是this。
- pageContext(PageContext):當(dāng)前頁(yè)面的上下文,也是一個(gè)域?qū)ο蟆?/li>
- exception(Throwable):錯(cuò)誤頁(yè)面中異常對(duì)象
- request(HttpServletRequest):HttpServletRequest對(duì)象
- response(HttpServletResponse):HttpServletResponse對(duì)象
- application(ServletContext):ServletContext對(duì)象
- session(HttpSession):HttpSession對(duì)象
- EL表達(dá)式
- EL是JSP內(nèi)置的表達(dá)式語(yǔ)言,用以訪問(wèn)頁(yè)面的上下文以及不同作用域中的對(duì)象 ,取得對(duì)象屬性的值,或執(zhí)行簡(jiǎn)單的運(yùn)算或判斷操作。EL在得到某個(gè)數(shù)據(jù)時(shí),會(huì)自動(dòng)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。
- EL表達(dá)式用于代替JSP表達(dá)式(<%= %>)在頁(yè)面中做輸出操作。
- EL表達(dá)式僅僅用來(lái)讀取數(shù)據(jù),而不能對(duì)數(shù)據(jù)進(jìn)行修改。
- 使用EL表達(dá)式輸出數(shù)據(jù)時(shí),如果有則輸出數(shù)據(jù),如果為null則什么也不輸出。
- EL表達(dá)式的語(yǔ)法:
- EL取值的四個(gè)域:
pageScope
requestScope
sessionScope
applicationScope
?
6.6 頁(yè)面中錯(cuò)誤提示的功能效果
6.7 JavaScript
-
- 1)? 在1995年時(shí),由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計(jì)實(shí)現(xiàn)而成。Netscape在最初將其腳本語(yǔ)言命名為LiveScript,因?yàn)?a >Netscape與Sun合作,網(wǎng)景公司管理層希望它外觀看起來(lái)像Java,因此取名為JavaScript。
- ?2)? 特性
- 腳本語(yǔ)言。JavaScript是一種解釋型的腳本語(yǔ)言,C、C++、Java等語(yǔ)言先編譯后執(zhí)行, 而JavaScript是在程序的運(yùn)行過(guò)程中逐行進(jìn)行解釋。
- 基于對(duì)象。JavaScript是一種基于對(duì)象的腳本語(yǔ)言,它不僅可以創(chuàng)建對(duì)象,也能使用現(xiàn)有的對(duì)象。
- 簡(jiǎn)單。JavaScript語(yǔ)言中采用的是弱類型的變量類型,對(duì)使用的數(shù)據(jù)類型未做出嚴(yán)格的要求,是基于Java基本語(yǔ)句和控制的腳本語(yǔ)言。
- 動(dòng)態(tài)性。JavaScript是一種采用事件驅(qū)動(dòng)的腳本語(yǔ)言,它不需要經(jīng)過(guò)Web服務(wù)器就可以對(duì)用戶的輸入做出響應(yīng)。
- 跨平臺(tái)性。JavaScript腳本語(yǔ)言不依賴于操作系統(tǒng),僅需要瀏覽器的支持。因此一個(gè)JavaScript腳本在編寫后可以帶到任意機(jī)器上使用,前提是機(jī)器上的瀏覽器支 持JavaScript腳本語(yǔ)言,目前JavaScript已被大多數(shù)的瀏覽器所支持。
- ? 3)? 編寫位置
- 編寫到HTML中<script>標(biāo)簽中。
- 寫在外部的.js文件中。然后通過(guò)script標(biāo)簽引入。
? ? ? ? ? ? ? 4)? JavaScript的事件驅(qū)動(dòng)
- 用戶事件:用戶操作,例如單擊、鼠標(biāo)移入、鼠標(biāo)移出等
- 系統(tǒng)事件:由系統(tǒng)觸發(fā)的事件,例如文檔加載完成。
- 常用的事件:
-
onload
onclick
onblur
onfocus
onmouseover
onmouseout
5)? ?BOM- Borwser Object Model 瀏覽器對(duì)象模型
- 瀏覽器對(duì)象模型提供了獨(dú)立于內(nèi)容的、可以與瀏覽器窗口進(jìn)行互動(dòng)的對(duì)象結(jié)構(gòu)。BOM由多個(gè)對(duì)象組成,其中代表瀏覽器窗口的Window對(duì)象是BOM的頂層對(duì)象,其他對(duì)象都是該對(duì)象的子對(duì)象
- 常用的對(duì)象(window的子對(duì)象)
document ??history ???location ???screen ??navigator ???frames
? ? ? ? ? 6)? ?DOM
- Document Object Model 文檔對(duì)象模型
- document對(duì)象: window對(duì)象的一個(gè)屬性,代表當(dāng)前HTML文檔,包含了整個(gè)文檔的樹形結(jié)構(gòu)。獲 取document對(duì)象的本質(zhì)方法是:document,而“window.”可以省略。
- DOM樹
- 元素查詢
功能
API
返回值
根據(jù)id值查詢
document.getElementById(“id值”)
一個(gè)具體的元素節(jié)點(diǎn)
根據(jù)標(biāo)簽名查詢
document.getElementsByTagName(“標(biāo)簽名”)
元素節(jié)點(diǎn)數(shù)組
根據(jù)name屬性值查詢
document.getElementsByName(“name值”)
元素節(jié)點(diǎn)數(shù)組