JSP的重定向

JSP的重定向主要可用以下四种方式:

1.response.sendRedirect("http:www.bai9du.com");

2.修改HTTP header的location属性

     <% 

           response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);

           String newLocn = basePath+ "login.jsp";

           response.setHeader("Location",newLocn);

    %>

3.使用forword <jsp:forword page= "/login.jsp"/>此种方式在重定向网页编辑器(kindeditor),编辑器加载不了

4.JSP中实现在某页面停留若干秒后,自动定向到另一页面

    在html文件中,下面的代码

      <meta http-equiv = "refresh" content="300;url=target.jsp">

   它的含义:在5分钟之后正在浏览的页面将会自动变为target.jsp这一页。代码中300为刷新的延时时间,以秒为单位。

                      target.jsp为目标页面,若为本页面则为自动刷新本页。

    由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面。

  关键代码:
   String content  = stayTime+";URL="+URL;

   response.setHeader("REFRESH",content);



重定向原理:

   forword:

    服务器重定向,即:服务器在向客户端发送数据之前,先将数据输出在缓冲区,然后缓冲区数据发送给client段(对来自client的request请求处理完成或者缓冲区满或者程序调用out.flush()或调用response.flushbuffer(),服务器会向客户端送数据),此时(缓冲区数据发送到客户端之前),前面数据不发送,执行重定向,此种情况,服务器发送到客户端的数据将被清除,但是如果在jsp:forword page="/lgon.jsp"/>之前有很多输出,进而导致缓冲区已满,此时将自动输出到客户端,重定向不起作用。


sendRedirect:

   客户端重定向,通过修改HTTP协议的header部分,对浏览器下达重定向的命令,让浏览器在对location中指定的URL提出请求,是浏览器显示重定向的网页内容,该方法可以接受绝对或者相对的URL地址,web容器将此header发送到客户端之前会转换成绝对的URL


总结: forword重定向只能为同一个web应用程序的资源,浏览器URL地址不变

            sendRedirect可重定向到任何URL,重定向后URL地址改变。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值