java servlet请求转发_Java Servlet(九):转发请求与重定向请求区别

转发:

request.setAttribute("requestAttr","requestAttribute");

session.setAttribute("sessionAttr","sessionAttribute");

application.setAttribute("applicationAttr","applicationAttribute");%>pageContext:
request:
session:
application:

StringservletName= "myELServletPage.jsp";

RequestDispatcher requestDispatcher=request.getRequestDispatcher("/" +servletName);

requestDispatcher.forward(request, response);// 1、 重定向"/"代表当前web站点的根目录//转发:“/”代表当期web应用的 根目录。// 2、转发:只能转发到当前web应用的资源;//重定向:可以重定向到任何资源(包括外部资源)。%>

重定向:

request.setAttribute("requestAttr","requestAttribute");

session.setAttribute("sessionAttr","sessionAttribute");

application.setAttribute("applicationAttr","applicationAttribute");%>pageContext:
request:
session:
application:

// 1、 重定向"/"代表当前web站点的根目录//转发:“/”代表当期web应用的 根目录。

response.sendRedirect("myRedirectPage.jsp");// 2、转发:只能转发到当前web应用的资源;//重定向:可以重定向到任何资源(包括外部资源)。%>

myELServletPage.jsp与myRedirectPage.jsp内容都相同:

pageContext:
request:
session:
application:

当访问转发页面时,结果是:

5fd7e901e05f3d1cb569cd8610a5b801.png

当访重定向页面时,结果是:

526d014c245ac448b277b2fc8c11683c.png

转发与从定向区别:

1、用法却别:

重定向请求:1、调用HttpServletRequest 的getRequestDispatcher()的方法,获取RequestDispatcher对象, 调用getRequestDispatcher()需要传入转发的地址。

2、调用HttpServletRequest的forward(request,response)方法。

转发请求:调用HttpServletResponse对象的sendRedirect()方法,直接在sendRedirect()方法中传入要转发的目标地址。

2、重定向请求: "/"代表当前web站点的根目录;

转发请求:“/”代表当期web应用的 根目录。

3、重定向请求:可以重定向到任何资源(包括外部资源);

转发请求:只能转发到当前web应用的资源。

4、重定向请求:只发送了一个次请求。浏览器地址不发送变化。

转发请求:发送了两次请求。浏览器地址发送变化。

5、转化请求:目的页面可以接受该页面传递的参数信息。在最终的Servlet中,request对象和中转的那个request是同一个对象。

重定向请求:在最终的Servlet中,request对象和中转的那个request不是同一个对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值