Java中实现"请求转发"和"重定向",有什么区别...

来源:互联网 发布:网络营业执照 编辑:程序博客网 时间:2024/06/09 20:06
 

“转发” 和“重定向”的区别 。
    我之前只知道有 重定向 (通过javascript实现,发生在浏览器端,浏览器在得知真正的URL后,跳转了过去, 从后台看,就是又多做了一次 Get请求)

    转发的概念是 服务器端内部完成的, 服务器相当于是一个代理, 来了 客户端的 Get 请求, 他发现要移到别处处理的, 自己内部给自己发起了一个 Get 请求, 然后把那个Get请求的返回值,直接返回了给(外面的) 客户端浏览器

    从 浏览器的角度看, 我只用了一个 Get 请求, 但是请求回来的,已经是完全不同页面的内容了 , 你服务器丫的换了个页面(透明), 怎么不告诉我 ?  

 

在servlet中调用“转发”的语句如下:request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.jsp在servlet中调用“重定向”的语句response.sendRedirect("new.jsp");   //重定向到new.jsp

================================
在jsp页面中实现“转发”的语句:<jsp:forward page="new.jsp" />      //转发到new.jsp在jsp页面中实现“重定向”的语句:<%response.sendRedirect("new.jsp"); //重定向到new.jsp%>





    无论是 转发, 还是 重定向, 对于页面内容来说, 都是全部换成新的, 是都是属于全局刷新(非局部刷新)。







 [参考内容:]
    http://blog.csdn.net/meiyalei/article/details/2129120  
          《HTTP中的重定向和请求转发的区别》


    http://blog.sina.com.cn/s/blog_7ba68f520100rqkh.html
          《ActionForward详细介绍》

`

0 0
原创粉丝点击