JSP基礎
JSP全名爲Java
Server Pages,其根本是一個簡化的Servlet設計,他實現了Html語法中的java擴張(以 <%, %>形式)。JSP與Servlet一樣,是在服務器端執行的。它在動態頁面建設中有着強大而特殊的功能,並有
動態網頁是指在服務器端運行的,使用程序語言設計的交互式網頁,他們會根據某種條件的變化,返回不同的頁面內容。其優勢主要有
交互性:可以實現與用戶的交互功能。
自動更新:無須改變頁面代碼,便會自動生成新的頁面內容,可以大大節省工作量。
隨機性:不同時間、不同的人訪問同一個網址時會產生不同的效果。
JSP的執行過程
1、翻譯階段.java 2、編譯階段.class 3、執行階段
在JSP頁面中,將表達式(expression)、小腳本(scriptlet)、聲明(declaration)統稱爲JSP腳本元素,用於在JSP頁面中嵌入Java代碼,實現頁面的動態請求。
JSP指令元素:通過設置指令中的屬性,在JSP運行時,控制JSP頁面的某些特性。
<%@ 指令 %>
小腳本:小腳本可以包含任意的Java片段,形式比較靈活,通過在JSP頁面中編寫的小腳本可以執行復雜的操作和業務處理。小腳本中定義的變量都是局部變量。
<% Java代碼 %>
表達式:表達式是對數據的表示,系統將其作爲一個值進行計算和顯示。當需要在頁面中獲取一個變量或者表達值時,使用表達式是非常方便的。注意:在JSP中使用表達式顯示數據是,則不能在表達式結尾處添加分號。
<%= 表達式 %>
聲明:用來定義Java腳本中的成員變量和方法。
<%! 成員變量和方法 %>
JSP數據交互
請求
方式一:使用表單請求。使用request內置對象。
方式二:使用URL重寫
<a href = "目標地址"?參數1&參數2&參數3></a>
方式三:使用隱藏表單域,適合服務器端跟蹤客戶端狀態,但有不希望客戶端可見。
應答
方式一:彈出消息框。(不友好,不推薦使用)
方式二:重定向
方式三:請求轉發
數據共享
JSP是通過不同的作用域(我們可以理解爲一個存放數據的容器)來實現頁面之間的數據傳遞。按可見度從小到大依次爲。
1.page(僅用於當前頁面,其提供的內置對象名稱爲pageContext)
2.request(僅用於一次請求轉發)
3.session(僅用於一個瀏覽器的不同窗口)
4.application(適用於該服務器的所有客戶端)
從存放數據的語法角度來講,以上四種作用域均提供了一組相同的方法。
作用域對象.setAttribute(String key,Object value);//寫入數據,存放的數據會轉換成Object
作用域對象.getAttribute(String
key);//讀取數據,得到的類型是Object類型,如賦給其他類型變量需要進行類型轉換。
亂碼處理(在JSP開發中必然會遇到的問題)
方式一:使用request.setCharacterEncoding("編碼");但該方式僅適用於"post"請求。
方式二:使用字節數組解碼(最好編寫一個編碼過濾類)
byte[] b = 源字符串.getByte("原編碼");//解碼
String s = new String(b,"新編碼");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.