response.sendRedirect的一点实际用法

<jsp:forward>、<jsp:include> 和 response.send.sendRedirect() 和是 JSP/Servlet 中用于页面跳转或内容复用的三种技术,它们的功能、原理和适用场景有显著区别。以下面3条语句为例, 阅读详情

<黑咖啡 原创>
以下是一个购物单提交的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");       //如果会员没有登录就跳转到登录页面,
else{ //如果已经登录则提交订单并销毁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(" 以上商品已订购,我们会和你及时联系!");
 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");       //如果会员没有登录就跳转到登录页面,
//没有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(" 以上商品已订购,我们会和你及时联系!");
 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跳转后,原页面的语句会继续执行。

Ollama+FAISS+Embedding+Rerank+LLM 详细部署指南 下载安装Ollama 双击运行安装程序 安装完成后会自动启动服务 修改默认安装路径(避免C盘爆满) 或使用PowerShell: 验证安装 Linux系统部署: (二)准备模型 1. 拉取Embedding模型 2. 拉取LLM模型 注意:原文中提到的可能需要从自定义仓库拉取: 3. 下载Rerank模型 (三)安装依赖库 创建项目目录和虚拟环境: 二、主要功能实现 项目结构 (一)配置文件(config/config.yaml) (二)文本分块策略实现 创建 : (三)文档读取 阅读详情

相关推荐

Cadence IC618与Spectre231安装配置全攻略:License、环境变量与依赖检查

EDA工具部署中,License管理与环境变量隔离是核心难点。FlexLM作为通用授权机制,通过守护进程和端口配置实现工具授权;环境变量则控制工具路径与库加载顺序,避免版本冲突。合理配置可确保IC618与Spectre231稳定运行,提升仿真效率。典型应用场景包括模拟IC设计、高校实验室及企业级EDA环境。本文聚焦Cadence IC618与Spectre231的安装实践,详解License配置、环境隔离及依赖检查,助你快速搭建可靠设计环境。

weixin_28721917的博客 324

Response.sendRedirect()

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33785108的博客 1102

鸿蒙OS开机动画背后的秘密:从代码到视觉的完整解析(附源码分析)

本文深入解析了鸿蒙OS开机动画的系统级实现原理。从bootanimation服务的启动配置、与Render Service的协同,到基于VSync信号的帧率同步与绘制流水线,结合OpenHarmony源码进行了逐行解读。文章揭示了其事件驱动的优雅退出机制,并探讨了视频支持、多屏适配等高级特性与定制化可能,为开发者理解鸿蒙图形子系统提供了硬核技术视角。

sony5的博客 972

response.sendRedirect()的用法

sendRedirect() response和request一样都是jsp内置对象,request是获取用户的请求,response处理用户请求。sendRedirect()函数的作用是重定向网页,向浏览器发送一个特殊的Header,然后由浏览器来做重定向,转到指定的页面。下面我将创建四个页面,首先是sex.jsp,有一个下拉列表和提交按钮确定,选择“男”,就跳转到male.jsp,选择“女”就...

mathor的博客 15万+

Matlab TreeBagger实战:用随机森林预测房价的5个关键步骤(附完整代码)

本文详细介绍了使用Matlab的TreeBagger工具包构建随机森林模型预测房价的完整流程。通过波士顿房价数据集实战,涵盖数据预处理、模型构建、参数调优、特征重要性分析及高级应用(如分位数回归)等5个关键步骤,并附有完整代码,帮助读者快速掌握这一强大的回归分析工具。

ol789012的博客 444

Qt(C++)使用QChart动态显示3个设备的温度变化曲线

Qt的QChart是一个用于绘制图表和可视化数据的类。提供了一个灵活的、可扩展的、跨平台的图表绘制解决方案,可以用于各种应用程序,如数据分析、科学计算、金融交易等。

1916

response.sendRedirect()实现重定向(页面跳转)

在某些情况下,针对客户端的请求,一个 Servlet 类可能无法完成全部工作。这时,可以使用请求重定向完成这一工作。

unber的博客 1万+

【ARM Trace32(劳特巴赫) 使用介绍 10 -- Trace32 scan dump 详细介绍】

将图 1-2 中扫描单元按照扫描移位模式连接起来,就构成了扫描测试中的基本结构,这里介绍下全扫描。全扫描就是多个扫描单元相连接,上一单元的扫描输出,连接到目前单元的扫描输入,目前单元的扫描输出连接到下一单元的扫描输入,以此类推,构成一条移位寄存器链,如图1-3 所示:图 1-3 全扫描这样的扫描结构,可通过一个串行输入端,将期望的数据存入移位寄存器链并观察运行结果。

CodingCos的博客 2033

使用response.sendRedirect实现页面重定向

通常有两种方式来实现页面重定向:客户端重定向和服务器端重定向。浏览器接收到这个响应后,会自动向新的URL发出请求,从而实现页面跳转。大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!它通过发送一个302状态码和新的URL来告诉浏览器访问另一个地址,从而实现页面跳转。属于客户端重定向,它通过发送一个状态码为302的HTTP响应,告诉浏览器访问另一个URL。:不要信任用户输入的URL,避免开放式重定向漏洞。的值,将用户重定向到不同的页面。

微赚淘客开发者博客 4220

Ceph入门到精通-更换osd、扩容osd

【代码】Ceph入门到精通-更换osd、扩容osd。

隔壁老瓦的专栏 1547

SPD-Conv+YOLOv8:空间深度转换卷积赋能小目标检测,从原理到实战的科研级优化指南

从理解SPD-Conv“空间到深度+逐步卷积”的核心设计,到亲手将其嵌入YOLOv8并验证在小目标场景的表现,再到基于此探索属于自己的科研与工程方向——这个过程能让你深刻理解“小目标特征保留”在检测任务中的核心价值。现在就开始行动,相信你会在小目标检测的“细节捕捉”之路上,走出一条属于自己的技术路径。实验通常会证明:嵌入SPD-Conv后,YOLOv8在小目标AP上提升5-8个百分点,mAP50-95提升3-5个百分点,而推理速度仅下降5%以内,充分体现了其“保细节+提精度”的优势。

m0_64661770的博客 161

关于重定向response.sendRedirect方法的使用

想要了解Servlet转发机制的可以点击。

m0_62638072的博客 1511

torch_npu 用法笔记

torch_npu 用法笔记

jacke121的专栏 1536

详解request.getRequestDispatcher().forward(request,response)和response.sendRedirect()的用法和区别

在进行web开发时,跳转是最常见的,今天在这里来学习下2种跳转: 第一种是request.getRequestDispatcher().forward(request,response): 1、属于转发,也是服务器跳转,相当于方法调用,在执行当前文件的过程中转向执行目标文件,两个文件(当前文件和目标文件)属于同一次请求,前后页共用一个request,可以通过此来传递一些数据或者session信息,...

北冥的博客 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

通过response对象的sendRedirect方法重定向网页

通过response对象的sendRedirect方法重定向网页 制作人:全心全意 使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这一点与转发不同。在客户端浏览器上将会得到跳转的地址,并重新发送请求链接。用户可以从浏览器的地址栏中看到跳转后的地址。进行重定向操作后,request中的属性全部失效,并且开始一...

weixin_33995481的博客 8783

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jsp中和response.sendRedirect("")两种跳转的区别

jsp中<jsp:forward page=""/>和response.sendRedirect("")两种跳转的区别 一、response.sendRedirect("") 始终要记住一点就是这种跳转是让客户端浏览器自己去访问指定的页面,这个指定页面的地址就是sendRedirect("")参数的内容。如果跳转的页面是webapp里面的页面,客户端需要两层访问服务器。如果是...

weixin_41434876的博客 1339

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

在servlet中request.getRequestDispatcher与response.sendRedirect的使用及区别

【1】request.getRequestDispatcher的用法      其返回一个RequestDispatcher对象,是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中。RequestDispatcher接口中定义了两个方法:include/forward。       RequestDispatcher接口所定义的forward()

tongxinxiao的专栏 8541

response.sendRedirect方法使用出错的解决方法

之前在写一个登陆界面的校验代码,校验通过就跳转成功页面,失败则跳转失败页面,我用的是response.sendRedirect()这个方法来实现跳转的,代码如下: <% request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String username=request.getParam...

weixin_44342683的博客 5219

response.sendRedirect()使用注意事项

用response.sendRedirect做转向其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化。用则不同,它是直接在server做的,浏览器并不知道,也不和浏览器打交道,这从浏览器的地址并不变化可以看出。所以使用response.sendRedirect时就需要注意以下两点:1,在使用respo

Freaky ?!…… 2164

servlet的重定向(response.sendRedirect())

重定向的2个servlet中的request、response是不同的对象 重定向就相当于:浏览器向服务器的一个地址请求,服务器向浏览器发送一个新的地址,浏览器重新向新的地址请求 package cn.hncu.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.s

Dragon_Dai_2017的博客 3327

response.sendRedirect

response.sendRedirect的注意事项首先我们要明白用response.sendRedirect做转向的原理,它其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化。用则不同,它是直接在server做的,浏览器并不知道,也不和浏览器打交道,这从浏览器的地址并不变化可以看出。所以使用resp

pq5326的专栏 2825

response.sendRedirect(url)参数过长和中文乱码问题。

1、参数过长 response.sendRedirect(url)是get传输,url长度最大限制在2k,如果url的参数是动态增长的, 所以建议不使用此方法进行跳转,用forward进行跳转,使用setAttribute传递大数据。 request.setAttribute(“aa”,"大数据"); request.getRequestDispatcher(url).forward(

cymlancy的专栏 1万+

response.sendRedirect( )无效-原因及解决

这两天整理项目,记录一下遇到的问题。 代码: if (request.getSession().getAttribute("login") == null || !((boolean) (request.getSession().getAttribute("login")))) { response.sendRedirect("http://ip:8080/HTML_T...

tiandc的博客 1万+

jsp中response.sendRedirect()和 jsp:forward的用法和区别

response.sendRedirect()会在客户端呈现跳转后的URL地址;(可以执行后面的语句eg:Request.jsp)这种称为客户端跳转,使用response.sendRedirect()方法将重定向的URL发送到客户端,浏览器再根据这个URL重新发送请求。用这个方法时,在浏览器地址栏上会看到新的请求资源的地址。并且这时的request和response都与第一次的不一样了,因为重新...

沈_默的博客 7579

关于response.sendRedirect()方法的一点思考

学习内容body { background-image: url(../../images/wgypx/background.gif);}-->   List list=(List)request.getAttribute("contentlist");   Map map=new HashMap();   if(list.isEmpty()){   String url="/show/wgypx

TAOSST的Blog 3096

java response.sendredirect_重定向是发生的问题。response.sendRedirect()

我的一个JSP文件中有这样一条语句:response.sendRedirect("rmailerror.jsp");在有的JSP中可以执行,有的JSP中就出现这样的错误提示:typeExceptionreportmessageInternalServerErrordescriptionTheserverencounteredaninternalerror(Internal...

weixin_33918358的博客 1394
上一篇: 使用JAVA中的动态代理实现数据库连接池
下一篇: JSP文件操作大全
zhoubin_java
博客等级 码龄22年 2粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值