国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

response.sendRedirect的一點(diǎn)實(shí)際用法

2024-07-21 02:15:02
字體:
供稿:網(wǎng)友
中國最大的web開發(fā)資源網(wǎng)站及技術(shù)社區(qū),

  <黑咖啡 原創(chuàng)>
  以下是一個(gè)購物單提交的jsp頁面(正確的)

<%@ page contenttype="text/html" language="java" import="java.util.*,com.blackcoffee.shop.*,com.blackcoffee.util.*,com.blackcoffee.db.*" %>
<%@ page errorpage="/error.jsp" %>
<%
if(associatorsession.getsession(session)==null)
 response.sendredirect("/login.jsp");       //如果會(huì)員沒有登錄就跳轉(zhuǎn)到登錄頁面,
else{ //如果已經(jīng)登錄則提交訂單并銷毀session中的購物車
associator associator = new associator();
associator = associatorsession.getsession(session);
string errmsg = "";
errmsg=orderformoperation.addorderform(request,session);
cartsession.removesession(session);  //銷毀session中的購物車
if(!errmsg.equals(""))
 response.sendredirect("/error.jsp?errmsg="+errmsg);
%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body>
 <script language=javascript>
 alert(" 以上商品已訂購,我們會(huì)和你及時(shí)聯(lián)系!");
 window.location="../index.jsp";
 </script>
</body>
</html>
<%}%>

  有問題的代碼是這樣的

<%@ page contenttype="text/html" language="java" import="java.util.*,com.blackcoffee.shop.*,com.blackcoffee.util.*,com.blackcoffee.db.*" %>
<%@ page errorpage="/error.jsp" %>
<%
if(associatorsession.getsession(session)==null)
 response.sendredirect("/login.jsp");       //如果會(huì)員沒有登錄就跳轉(zhuǎn)到登錄頁面,
//沒有else了
associator associator = new associator();
associator = associatorsession.getsession(session);
string errmsg = "";
errmsg=orderformoperation.addorderform(request,session);
cartsession.removesession(session);  //銷毀session中的購物車
if(!errmsg.equals(""))
 response.sendredirect("/error.jsp?errmsg="+errmsg);
%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body>
 <script language=javascript>
 alert(" 以上商品已訂購,我們會(huì)和你及時(shí)聯(lián)系!");
 window.location="../index.jsp";
 </script>
</body>
</html>
<%//}%>

  請注意到出現(xiàn)問題的是因?yàn)闆]有了else,問題如下:每當(dāng)不登錄就購買物品后,點(diǎn)“訂貨”提交按鈕,本來應(yīng)該轉(zhuǎn)到登錄頁面,登錄后查看購物車,以前購買的貨物應(yīng)該都在,但是點(diǎn)“訂貨”提交按鈕后,轉(zhuǎn)向登錄頁面,登錄后購物車?yán)餂]有了。當(dāng)時(shí)出現(xiàn)錯(cuò)誤好像是說response.sendredirect已經(jīng)發(fā)送到客戶端,不能改變了,我就在這里折騰了些時(shí)間,后來檢查代碼時(shí)發(fā)現(xiàn)了這句話cartsession.removesession(session);

原來if(associatorsession.getsession(session)==null)
 response.sendredirect("/login.jsp");       //如果會(huì)員沒有登錄就跳轉(zhuǎn)到登錄頁面,

  這句話后面沒有else, 所以頁面雖然跳轉(zhuǎn)了,但是后面的語句也繼續(xù)執(zhí)行了,cartsession.removesession(session);

  這句清空了購物車,所以才會(huì)出錯(cuò)。

  總結(jié):response.sendredirect跳轉(zhuǎn)后,原頁面的語句會(huì)繼續(xù)執(zhí)行。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 桑日县| 荃湾区| 梓潼县| 黑河市| 博爱县| 于田县| 宁乡县| 昌乐县| 会理县| 分宜县| 保靖县| 渝北区| 当阳市| 长春市| 二手房| 田阳县| 图们市| 肃北| 武鸣县| 连江县| 泰和县| 高陵县| 裕民县| 永康市| 太仓市| 濉溪县| 旌德县| 通榆县| 三江| 遂川县| 蓝山县| 衡阳市| 武平县| 彭泽县| 广平县| 襄樊市| 郎溪县| 临朐县| 昌图县| 潜山县| 侯马市|