javaWeb转发 重定向的几种方式

1. RequestDispatcher.forward()

请求允许创建自定义属性
设置请求属性: request.setAttribute(属性名, 属性值)
获取请求属性: Object attr = request.getAttribute(属性名)
通常在servlet中使用,不在jsp中使用。
 request.getRequestDispatcher("index.jsp").forward(request,response);

2. response.sendRedirect()

重定向后在浏览器地址栏上会出现重定向页面的URL
在servlet中重定向
response.setContentType("text/html; charset=gb2312"); 
response.sendRedirect("/index.jsp");
jsp页面中可以用response.sendRedirect()直接实现重定位
后面不要写代码
只有在页面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出还有什么意义呢?而且有可能会因为后面的输出导致转向失败。

3.<jsp:forward page="" />

在jsp中可以这样写
另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交

请求转发:仅限于当前web应用内,"/“代表当前web应用的根目录
请求重定向:可以定向到任何资源,”/"代表当前web站点的根目录

附录

 JSP中实现在某页面停留若干秒后,自动重定向到另一页面
在html文件中,下面的代码:
<meta http-equiv="refresh" content="300; url=target.jsp">
它的含义:在5分钟之后正在浏览的页面将会自动变为target.html这一页。代码中300为刷新的延迟时间,以秒为单位。targer.html为你想转向的目标页,若为本页则为自动刷新本页。
由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面。
关键代码:
String content=stayTime+";URL="+URL;response.setHeader("REFRESH",content); 
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值