JSP數(shù)據(jù)交互實現(xiàn)過程解析及示例代碼
文章主要介紹了JSP數(shù)據(jù)交互實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下1.JSP內(nèi)置對象:JSP內(nèi)置對象是 We...
文章主要介紹了JSP數(shù)據(jù)交互實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
1.JSP內(nèi)置對象:JSP內(nèi)置對象是 Web 容器創(chuàng)建的一組對象,不用通過手動new就可以使用
2.JSP9大內(nèi)置對象:
- 對象名稱 類型
- request (請求對象) javax.servlet.ServletRequest
- response(響應(yīng)對象) javax.servlet.SrvletResponse
- out (輸出對象) javax.servlet.jsp.JspWriter
- session (會話對象) javax.servlet.http.HttpSession
- application(應(yīng)用程序?qū)ο螅? javax.servlet.ServletContext
- page(頁面對象) javax.lang.Object
- pageContext(頁面上下文對象) javax.servlet.jsp.PageContext
- config(配置對象) javax.servlet.ServletConfig
- execption(例外對象) javax.lang.Throwable
3.JSP內(nèi)置對象:out
<%
int[] value = { 60, 70, 80 };
for (int i : value) {
//將輸出信息輸出到控制臺
System.out.println("控制臺:"+i);
//out作為JSP最簡單的內(nèi)置對象,主要用于將信息輸出到頁面上
out.println(i);
}
%>
4.JSP內(nèi)置對象:request:客戶端向服務(wù)器端發(fā)送請求數(shù)據(jù),我們通過request對象接收數(shù)據(jù)
<%
//獲取數(shù)據(jù)之前解決亂碼 解決表單POST提交方式的亂碼
request.setCharacterEncoding("UTF-8");
//request用于獲取客戶端向服務(wù)器提交的數(shù)據(jù)
String username=request.getParameter("username");
String password=request.getParameter("password");
//獲取表單組件對應(yīng)多個值時的請求數(shù)據(jù)
String [] hobbys=request.getParameterValues("hobby");
for(int i=0;i<hobbys.length;i++){
//獲取數(shù)據(jù)之前解決亂碼 解決表單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的區(qū)別:
1.從安全角度考慮 post更安全一些 get不安全
2.post方式提交數(shù)據(jù)可以提交大概幾GB的數(shù)據(jù) get方式提交數(shù)據(jù)最大也就到幾KB
5.解決亂碼的方案:
post亂碼解決:request.setCharacterEncoding("UTF-8");
get亂碼解決: hobbys[i]=new String(hobbys[i].getBytes("ISO-8859-1"),"UTF-8");
6.HTTP狀態(tài)碼:
1** 信息,服務(wù)器收到請求,需要請求者繼續(xù)執(zhí)行操作
2** 成功,操作被成功接收并處理
3** 重定向,需要進(jìn)一步的操作以完成請求
4** 客戶端錯誤,請求包含語法錯誤或無法完成請求
5** 服務(wù)器錯誤,服務(wù)器在處理請求的過程中發(fā)生了錯誤
404和500錯誤狀態(tài)碼配置頁面:
在當(dāng)前項目的web.xml當(dāng)中加入如下配置信息:
<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:響應(yīng)
轉(zhuǎn)發(fā)(是在服務(wù)器內(nèi)部進(jìn)行,無法訪問到除內(nèi)部以外的資源):
request.getRequestDispatcher("/response/welcome.jsp").forward(request, response);
重定向(全路徑):
response.sendRedirect("/Chap02/response/Login.jsp");
區(qū)別:
1.轉(zhuǎn)發(fā)是在服務(wù)器內(nèi)部進(jìn)行,重定向是客戶端完成的,需要寫入全路徑,地址xxxxxxx
2.轉(zhuǎn)發(fā)請求1次,其余的操作都是在服務(wù)器內(nèi)部進(jìn)行的;重定向請求至少2次,其余的請求命令客戶端再次請求一個URL
3.轉(zhuǎn)發(fā)可以攜帶這次請求的數(shù)據(jù),重定向不帶數(shù)據(jù)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
JSP編程實現(xiàn)用戶自動登錄功能示例代碼
文章主要介紹了jsp實現(xiàn)用戶自動登錄功能,文中示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下.理解并掌握Cookie的作用以及利用cookie實現(xiàn)用戶的自動登錄功能,實現(xiàn)下圖效...
ASP編程中Session對象失效的客戶端解決方法
雖然利用Timeout屬性釋放資源的策略是出于保護服務(wù)器的目的,但是Session對象不可預(yù)知的失效性,卻成為開發(fā)應(yīng)用程序的一個弊病。因而在實際應(yīng)用程序的開發(fā)中,必須解決Session對象失效的問題。...
Sphero推出編程教學(xué)機器人Bolt 配備紅外交互+LED點陣顯示屏
Sphero 剛剛推出了名叫 Bolt 的新款教學(xué)機器人,與此前推出的 Spark+ 相比,Bolt 最大的特色,就是配備了紅外傳感器和可編程的 LED 點陣顯示屏。在完成任務(wù)的時候,Bolt 可以顯示一...
哪本書才是編程領(lǐng)域的“九陰真經(jīng)”
前幾天在公眾號調(diào)查了下“對自己編程影響最大的一本書是什么”,答案基本不出我所預(yù)料:SICP、HTDP、 K & R C、Hackers and Painters 占據(jù)上風(fēng)。還有幾位說是譚老師的《C語言程序設(shè)計》,仔細(xì)想想,也算是入門必讀書籍...
極限黑客機械鍵盤 分離式外觀支持開源編程
國外眾籌網(wǎng)站Indiegogo上架了一款神奇的機械鍵盤,其最大的特點就是支持開源編程,而且能夠直接從中間“撕成兩半”。...
優(yōu)必選發(fā)Alpha 1P教育機器人:人形可編程
10月12日,國內(nèi)知名機器人公司優(yōu)必選(UBTECH)舉辦新品發(fā)布會,正式發(fā)布全新Alpha1P人形可編程教育機器人。據(jù)悉,Alpha1P將于今日在天貓正式啟動...
喬布斯:每個人都應(yīng)該花1年時間學(xué)習(xí)編程
當(dāng)人們談到蘋果前CEO喬布斯時,總是會聯(lián)想到文青、嬉皮、鮑勃·迪倫和披頭士等等這些。但喬布斯也有另一面,比方說喬布斯曾經(jīng)認(rèn)真學(xué)習(xí)過編程,并曾在訪談中表示,每個人都...
編程語言那么多,為什么Google獨愛JS?
我從事軟件開發(fā)的相關(guān)工作已經(jīng)有15年了。目前的工作主要集中于Web和移動應(yīng)用方面。在這么多年里,我對JavaScript的態(tài)度可能比較能代表一大群程序員的看法:從一開始對js的...
Java誕生二十周年:回顧編程世界主宰的成長歷程
早在上世紀(jì)九十年代初就業(yè)已誕生的消費級電子實驗成果已經(jīng)于本周迎來了其作為企業(yè)級計算領(lǐng)域主要解決方案的第二十個年頭。毫無疑問,Java已經(jīng)成為一款占據(jù)主導(dǎo)地位的平臺...