這篇文章主要介紹了JSP數據交互實現過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
1.JSP內置對象:JSP內置對象是 Web 容器創建的一組對象,不用通過手動new就可以使用
2.JSP9大內置對象:
對象名稱 類型
request (請求對象) javax.servlet.ServletRequest
response(響應對象) javax.servlet.SrvletResponse
out (輸出對象) javax.servlet.jsp.JspWriter
session (會話對象) javax.servlet.http.HttpSession
application(應用程序對象) javax.servlet.ServletContext
page(頁面對象) javax.lang.Object
pageContext(頁面上下文對象) javax.servlet.jsp.PageContext
config(配置對象) javax.servlet.ServletConfig
execption(例外對象) javax.lang.Throwable
3.JSP內置對象:out
<%int[] value = { 60, 70, 80 };for (int i : value) {//將輸出信息輸出到控制臺System.out.println("控制臺:"+i);//out作為JSP最簡單的內置對象,主要用于將信息輸出到頁面上out.println(i);}%>4.JSP內置對象:request:客戶端向服務器端發送請求數據,我們通過request對象接收數據
<%//獲取數據之前解決亂碼 解決表單POST提交方式的亂碼request.setCharacterEncoding("UTF-8");//request用于獲取客戶端向服務器提交的數據String username=request.getParameter("username");String password=request.getParameter("password");//獲取表單組件對應多個值時的請求數據String [] hobbys=request.getParameterValues("hobby");for(int i=0;i<hobbys.length;i++){//獲取數據之前解決亂碼 解決表單Get提交方式的亂碼/* hobbys[i]=new String(hobbys[i].getBytes("ISO-8859-1"),"UTF-8"); */out.print(hobbys[i]);}out.println();out.println(username+"/t"+password);//性別String sex=request.getParameter("sex");out.println(sex);//下拉框地址String address=request.getParameter("address");out.println(address);%>POST和GET的區別:
1.從安全角度考慮 post更安全一些 get不安全
2.post方式提交數據可以提交大概幾GB的數據 get方式提交數據最大也就到幾KB
5.解決亂碼的方案:
post亂碼解決:request.setCharacterEncoding("UTF-8");
get亂碼解決: hobbys[i]=new String(hobbys[i].getBytes("ISO-8859-1"),"UTF-8");
6.HTTP狀態碼:
1** 信息,服務器收到請求,需要請求者繼續執行操作
2** 成功,操作被成功接收并處理
3** 重定向,需要進一步的操作以完成請求
4** 客戶端錯誤,請求包含語法錯誤或無法完成請求
5** 服務器錯誤,服務器在處理請求的過程中發生了錯誤
404和500錯誤狀態碼配置頁面:
在當前項目的web.xml當中加入如下配置信息:
<error-page><error-code>500</error-code><location>/500.jsp</location></error-page><error-page><error-code>404</error-code><location>/404.jsp</location></error-page>
7.response:響應
轉發(是在服務器內部進行,無法訪問到除內部以外的資源):
request.getRequestDispatcher("/response/welcome.jsp").forward(request, response);
重定向(全路徑):
response.sendRedirect("/Chap02/response/Login.jsp");
區別:
1.轉發是在服務器內部進行,重定向是客戶端完成的,需要寫入全路徑,地址xxxxxxx
2.轉發請求1次,其余的操作都是在服務器內部進行的;重定向請求至少2次,其余的請求命令客戶端再次請求一個URL
3.轉發可以攜帶這次請求的數據,重定向不帶數據
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答