JSP數據交互實現過程解析及示例代碼
文章主要介紹了JSP數據交互實現過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下1.JSP內置對象:JSP內置對象是 We...
文章主要介紹了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.轉發可以攜帶這次請求的數據,重定向不帶數據
以上就是本文的全部內容,希望對大家的學習有所幫助。
JSP編程實現用戶自動登錄功能示例代碼
文章主要介紹了jsp實現用戶自動登錄功能,文中示例代碼介紹的非常詳細,感興趣的小伙伴們可以參考一下.理解并掌握Cookie的作用以及利用cookie實現用戶的自動登錄功能,實現下圖效...
ASP編程中Session對象失效的客戶端解決方法
雖然利用Timeout屬性釋放資源的策略是出于保護服務器的目的,但是Session對象不可預知的失效性,卻成為開發應用程序的一個弊病。因而在實際應用程序的開發中,必須解決Session對象失效的問題。...
Sphero推出編程教學機器人Bolt 配備紅外交互+LED點陣顯示屏
Sphero 剛剛推出了名叫 Bolt 的新款教學機器人,與此前推出的 Spark+ 相比,Bolt 最大的特色,就是配備了紅外傳感器和可編程的 LED 點陣顯示屏。在完成任務的時候,Bolt 可以顯示一...
哪本書才是編程領域的“九陰真經”
前幾天在公眾號調查了下“對自己編程影響最大的一本書是什么”,答案基本不出我所預料:SICP、HTDP、 K & R C、Hackers and Painters 占據上風。還有幾位說是譚老師的《C語言程序設計》,仔細想想,也算是入門必讀書籍...
極限黑客機械鍵盤 分離式外觀支持開源編程
國外眾籌網站Indiegogo上架了一款神奇的機械鍵盤,其最大的特點就是支持開源編程,而且能夠直接從中間“撕成兩半”。...
優必選發Alpha 1P教育機器人:人形可編程
10月12日,國內知名機器人公司優必選(UBTECH)舉辦新品發布會,正式發布全新Alpha1P人形可編程教育機器人。據悉,Alpha1P將于今日在天貓正式啟動...
喬布斯:每個人都應該花1年時間學習編程
當人們談到蘋果前CEO喬布斯時,總是會聯想到文青、嬉皮、鮑勃·迪倫和披頭士等等這些。但喬布斯也有另一面,比方說喬布斯曾經認真學習過編程,并曾在訪談中表示,每個人都...
編程語言那么多,為什么Google獨愛JS?
我從事軟件開發的相關工作已經有15年了。目前的工作主要集中于Web和移動應用方面。在這么多年里,我對JavaScript的態度可能比較能代表一大群程序員的看法:從一開始對js的...
Java誕生二十周年:回顧編程世界主宰的成長歷程
早在上世紀九十年代初就業已誕生的消費級電子實驗成果已經于本周迎來了其作為企業級計算領域主要解決方案的第二十個年頭。毫無疑問,Java已經成為一款占據主導地位的平臺...