JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析

這篇文章主要介紹了jsp數(shù)據(jù)交互實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.jsp內(nèi)置對(duì)象:jsp內(nèi)置對(duì)象是 web 容器創(chuàng)建的一組對(duì)象,不用通過手動(dòng)new就可以使用

2.jsp9大內(nèi)置對(duì)象:

     對(duì)象名稱              類型             
    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(頁面對(duì)象)        javax.lang.object
    pagecontext(頁面上下文對(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ì)象,主要用于將信息輸出到頁面上
out.println(i);

}
%>

4.jsp內(nèi)置對(duì)象:request:客戶端向服務(wù)器端發(fā)送請(qǐng)求數(shù)據(jù),我們通過request對(duì)象接收數(shù)據(jù)

<%
//獲取數(shù)據(jù)之前解決亂碼 解決表單post提交方式的亂碼
request.setcharacterencoding("utf-8");

//request用于獲取客戶端向服務(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** 客戶端錯(cuò)誤,請(qǐng)求包含語法錯(cuò)誤或無法完成請(qǐng)求

  5** 服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過程中發(fā)生了錯(cuò)誤

404和500錯(cuò)誤狀態(tài)碼配置頁面:

  在當(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)行,無法訪問到除內(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ā)請(qǐng)求1次,其余的操作都是在服務(wù)器內(nèi)部進(jìn)行的;重定向請(qǐng)求至少2次,其余的請(qǐng)求命令客戶端再次請(qǐng)求一個(gè)url

  3.轉(zhuǎn)發(fā)可以攜帶這次請(qǐng)求的數(shù)據(jù),重定向不帶數(shù)據(jù)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持碩編程。

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频