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