這篇文章主要介紹了jsp數(shù)據(jù)交互實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(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** 重定向,需要進一步的操作以完成請求
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)部進行,無法訪問到除內(nèi)部以外的資源):
request.getrequestdispatcher("/response/welcome.jsp").forward(request, response);
重定向(全路徑):
response.sendredirect("/chap02/response/login.jsp");
區(qū)別:
1.轉(zhuǎn)發(fā)是在服務(wù)器內(nèi)部進行,重定向是客戶端完成的,需要寫入全路徑,地址xxxxxxx
2.轉(zhuǎn)發(fā)請求1次,其余的操作都是在服務(wù)器內(nèi)部進行的;重定向請求至少2次,其余的請求命令客戶端再次請求一個url
3.轉(zhuǎn)發(fā)可以攜帶這次請求的數(shù)據(jù),重定向不帶數(shù)據(jù)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持碩編程。
- jsp+servlet實現(xiàn)文件上傳與下載功能
- EJB3.0部署消息驅(qū)動Bean拋javax.naming.NameNotFoundException異常
- 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- 秒殺系統(tǒng)Web層設(shè)計的實現(xiàn)方法
- 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實現(xiàn)方法
- JSP使用過濾器防止Xss漏洞
- 在JSP頁面中動態(tài)生成圖片驗證碼的方法實例
- 詳解JSP 內(nèi)置對象request常見用法
- 使用IDEA編寫jsp時EL表達式不起作用的問題及解決方法
- jsp實現(xiàn)局部刷新頁面、異步加載頁面的方法
- Jsp中request的3個基礎(chǔ)實踐
- JavaServlet的文件上傳和下載實現(xiàn)方法
- JSP頁面的靜態(tài)包含和動態(tài)包含使用方法