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