關(guān)于JSP幾個(gè)內(nèi)置對(duì)象的用法
JSp的session內(nèi)置對(duì)象取值方法
//創(chuàng)建session對(duì)象
HttpSession session =requst.getSession();
//設(shè)置session 對(duì)象的屬性值
session.setAttribute("屬性名",值);
取值
Object object=session.getAttibute("屬性名")
設(shè)置方法
//設(shè)置響應(yīng)回去的類(lèi)型
response.setContentType("text/html");
//設(shè)置響應(yīng)的字符編碼格式
response.setCharacterEncoding("UTF-8");
request(請(qǐng)求)
//獲取請(qǐng)求屬性的值
request.getParameter("屬性名");
多用于表單提交和URL參數(shù)的傳遞的取值
JSp內(nèi)置對(duì)象生命周期:
out 只在本jsp頁(yè)面使用 無(wú)生命周期
request 生命周期 一次請(qǐng)求
response 生命周期 一次響應(yīng)
session 生命周期 項(xiàng)目瀏覽器關(guān)閉時(shí),生全周期結(jié)束,默認(rèn)不操作項(xiàng)目超過(guò)30分鐘生命周期結(jié)束
application 生命周期 當(dāng)開(kāi)啟Tomcat服務(wù)器時(shí)創(chuàng)建,關(guān)閉Tomcat服務(wù)器時(shí)結(jié)束生命周期 (作用:統(tǒng)計(jì)服務(wù)器訪問(wèn)人數(shù)或流量)
頁(yè)面跳轉(zhuǎn):
response.sendRedirect("admin/one.jsp") 重定向
RequestDispatcher 請(qǐng)求跳轉(zhuǎn)
兩者實(shí)現(xiàn)的效果相同
二者的區(qū)別:
1、
URL 地址的變化用response.sendRedirect時(shí),RequestDi.spatcher不會(huì)使URL地址進(jìn)行變化。
RepuestDispatcher 是服務(wù)器端請(qǐng)求機(jī)制的跳轉(zhuǎn)
response.sendRedirect 是客戶(hù)端請(qǐng)求機(jī)制的重定向
2、
RequestDispatcher傳值通過(guò)JSP-Servlet-JSp形式直接傳入到下一個(gè)JSp頁(yè)面
response.sendRedirect 傳值通過(guò)JSP-Servlet-JSP形式,只能夠傳遞到請(qǐng)求機(jī)制重定向這之前
3、
如果項(xiàng)目要跳轉(zhuǎn)到另外一個(gè)服務(wù)器的頁(yè)面時(shí),用response.sendRedirect進(jìn)行重定向
4、
我們盡量使用RequestDispatcher方式,因?yàn)槭欠?wù)器響應(yīng),所以在web容器執(zhí)行效率較高
RequestDispatcher什么時(shí)候使用呢?
項(xiàng)目中不進(jìn)行頁(yè)面的交互跳轉(zhuǎn)的時(shí)候,例如一個(gè)界面的增、刪、改、查,或者相關(guān)聯(lián)同類(lèi)型模塊之間的跳轉(zhuǎn)
response.sendRedirect重定向什么時(shí)候使用呢?
無(wú)關(guān)聯(lián)的不同模塊間跳轉(zhuǎn)使用,例如,用戶(hù)界面模塊跳轉(zhuǎn)到產(chǎn)品信息界面模塊
5、
RequestDispatcher基本上認(rèn)定使用在Servlet里面
response.sendRedirect 用在Servlet和JSP頁(yè)面較多
重定向傳值 只影響request,不影響session的傳值
session何時(shí)使用?
傳值時(shí)盡量不要使用session
購(gòu)物車(chē)的實(shí)現(xiàn)必須使用session對(duì)象
session.removeAttribute("name") 全部刪除物品
如果選擇性刪除?
傳入要?jiǎng)h除的購(gòu)物信息主鍵id值,根據(jù)id值支查找集合中的對(duì)應(yīng)信息,然后做集合中的刪除操作
for(Product product : list){
if(deleteid==product.getid()){
list.remove(product);
}
}
session.setAttribute("gouwu",list)
兩種提交方式的亂碼處理:
post提交方式亂碼處理
中文亂碼問(wèn)題
request.setcharacterEncoding("UTF-8");
處理get方式提交的亂碼方式處理
String names=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8")
posted on 2010-05-27 20:54 chenjinlong 閱讀(1125) 評(píng)論(0) 編輯 收藏