JSP資料互動實現過程解析及示例程式碼

佚名發表於2020-06-03

文章主要介紹了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.轉發可以攜帶這次請求的資料,重定向不帶資料

以上就是本文的全部內容,希望對大家的學習有所幫助。

相關文章