国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 阜宁县| 平果县| 隆林| 梨树县| 桐梓县| 京山县| 合作市| 民县| 镇雄县| 长兴县| 布拖县| 孟连| 香河县| 岳池县| 固阳县| 苍南县| 康乐县| 盐津县| 扬州市| 定西市| 施甸县| 临沂市| 任丘市| 巴塘县| 陇西县| 普格县| 望城县| 河源市| 饶阳县| 南投市| 温宿县| 邢台市| 万源市| 尖扎县| 东方市| 会理县| 定日县| 寿光市| 南昌市| 牟定县| 湘西|