JSP實現數據傳遞
JSP內置對象
九種對象簡介:
out對象
:用於向客戶端、瀏覽器輸出數據。request對象
:封裝了來自客戶端、瀏覽器的各種信息。response對象
:封裝了伺服器的響應信息。
exception對象
:封裝了jsp程序執行過程中發生的異常和錯誤信息。config對象
:封裝了應用程序的配置信息。page對象
:指向了當前jsp程序本身。session對象
:用來保存會話信息。也就是說,可以實現在同一用戶的不同請求之間共享數application對象
:代表了當前應用程序的上下文。可以在不同的用戶之間共享信息。pageContext對象
:提供了對jsp頁面所有對象以及命名空間的訪問。
JSP實現數據傳遞-表單為例
根據表單名稱獲取提交的數據信息:
request.getParameter(「name」)返回的是一個String
獲取表單對應多個值時的請求數據信息:
request.getParameterValues(「name」)返回的是一個String數組需要遍歷
解決中文亂碼問題
< form action=」Welcome.jsp」 method=」get」 >
表單get方式提交,中文亂碼處理-治標:
request.getParameter(「name」)返回的是一個String
返回的值.getByte(「ISO-8859-1」)=byte[] 數組名 以ISO-8859-1的格式打散
String name=new String(數組名,」格式」)或者
new String(返回的值.getByte(「ISO-8859-1」),utf-8)返回是一個String類型
表單g所有方式提交,中文亂碼處理-治本:
修改Tomcat配置文件
配置tomcatconfserver.xml文件
connectionTimeout=」20000」
redirectPort=」8443」 URIEncoding=」utf-8」/>
如圖:
表單post方式提交,中文亂碼處理:
request.setCharacterEncoding(「utf-8」)
response.setCharacterEnconding(「utf-8」)
在請求中存取屬性
在請求中保存屬性:
public void setAttribute(String name,Object o)
request.setAttribute(mess,」註冊失敗」)
在請求中獲取屬性:
public Object getAttribute(String name)
注意:
1.在使用屬性值的時候要做非空判斷,否則會出現空指針
2.它的返回值類型是Object類型,需要做數據類型的轉換
轉發與重定向:
轉發:
RequestDispatcher對象
forward()方法
1.requestDispatcher(「url」).forward(request,response)
< jsp:forward page=」url」 >
重定向:
response.sendRedirect(request.getContextPath(到上文)+」url」)
通過編碼URLEncode.encode(String,格式)
或者解碼URLDecode.Decode(String,格式)
作用域問題:
request作用域:在一次請求的範圍內
response作用域:在二次請求的範圍內
轉發和重定向的區別:
行為區域的區別:
轉發是伺服器端的行為區域,重定向是客戶端行為區域URI:
轉發不會發生變化,重定向會改變地址欄的URL請求問題:
轉發是一次請求,重定向是兩次請求跳轉區域問題:
轉發不可以跳轉到第二個項目,重定向可以地址會發生改變(跳轉到第二個項目)攜帶請求問題
:轉發可以攜帶request相關信息,重定向不會攜帶
TAG:程序員小新人學習 |