|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,redirect|response <黑咖啡原创>
以下是一个购物单提交的jsp页面(准确的)
<%@pagecontentType="text/html"language="java"import="java.util.*,com.blackCoffee.shop.*,com.blackCoffee.util.*,com.blackCoffee.db.*"%>
<%@pageerrorPage="/error.jsp"%>
<%
if(AssociatorSession.getSession(session)==null)
response.sendRedirect("/login.jsp");//假如会员没有登录就跳转到登录页面,
else{//假如已登录则提交定单并烧毁session中的购物车
Associatorassociator=newAssociator();
associator=AssociatorSession.getSession(session);
Stringerrmsg="";
errmsg=OrderFormOperation.addOrderForm(request,session);
CartSession.removeSession(session);//烧毁session中的购物车
if(!errmsg.equals(""))
response.sendRedirect("/error.jsp?errmsg="+errmsg);
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<Scriptlanguage=JavaScript>
alert("以上商品已订购,我们会和你实时接洽!");
window.location="../index.jsp";
</Script>
</body>
</html>
<%}%>
有成绩的代码是如许的
<%@pagecontentType="text/html"language="java"import="java.util.*,com.blackCoffee.shop.*,com.blackCoffee.util.*,com.blackCoffee.db.*"%>
<%@pageerrorPage="/error.jsp"%>
<%
if(AssociatorSession.getSession(session)==null)
response.sendRedirect("/login.jsp");//假如会员没有登录就跳转到登录页面,
//没有else了
Associatorassociator=newAssociator();
associator=AssociatorSession.getSession(session);
Stringerrmsg="";
errmsg=OrderFormOperation.addOrderForm(request,session);
CartSession.removeSession(session);//烧毁session中的购物车
if(!errmsg.equals(""))
response.sendRedirect("/error.jsp?errmsg="+errmsg);
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<Scriptlanguage=JavaScript>
alert("以上商品已订购,我们会和你实时接洽!");
window.location="../index.jsp";
</Script>
</body>
</html>
<%//}%>
请注重到呈现成绩的是由于没有了else,成绩以下:每当不登录就购置物品后,点“定货”提交按钮,原本应当转到登录页面,登录后检察购物车,之前购置的货品应当都在,可是点“定货”提交按钮后,转向登录页面,登录后购物车里没有了。事先呈现毛病仿佛是说response.sendRedirect已发送到客户端,不克不及改动了,我就在这里折腾了些工夫,厥后反省代码时发明了这句话CartSession.removeSession(session);
本来if(AssociatorSession.getSession(session)==null)
response.sendRedirect("/login.jsp");//假如会员没有登录就跳转到登录页面,
这句话前面没有else,以是页面固然跳转了,可是前面的语句也持续实行了,CartSession.removeSession(session);
这句清空了购物车,以是才会堕落。
总结:response.sendRedirect跳转后,原页面的语句会持续实行。
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。 |
|