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 >NetscapeSun合作,網(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ù)組