You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

被Servlet重定向的JSP如何获取对应的request与response对象?

关于请求转发中JSP获取request/response对象的说明

首先要明确:你代码里用的是请求转发(forward),不是HTTP重定向(redirect)——这俩是完全不同的机制,你提到的“重定向”其实是请求转发,先理清这个概念。

当Servlet调用request.getRequestDispatcher("login.jsp").forward(request, response)时,整个过程是在同一个HTTP请求上下文里完成的:

  • Web容器(比如Tomcat)会把当前Servlet正在处理的HttpServletRequest和HttpServletResponse对象,直接传递给目标JSP。
  • JSP本质上是被容器编译成Servlet的,编译后的JSP Servlet的service()方法,参数就是容器传入的这两个对象,和原Servlet里的是同一个实例。

简单说,请求转发相当于“把当前请求的处理接力棒传给JSP”,整个请求的上下文(包括request里的属性、会话信息等)都不会丢失,JSP拿到的就是原Servlet用过的那一套request和response对象。

如果是真正的HTTP重定向(response.sendRedirect()),那才会发起新的HTTP请求,此时JSP拿到的是全新的request/response对象,和原Servlet的无关。


内容的提问来源于stack exchange,提问作者Omin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:20:55