JSP重定向问题

来源:百度知道 编辑:UC知道 时间:2024/08/20 18:57:41
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("location", location);
问题一:这里setStatus的作用是什么?既然setHeader是实现重定向,为什么还要setStatus?

问题二:为什么不直接用response.sendRedirect实现重定向?sendRedirect和setHeader难道有很大区别?

希望大家指教一下,自学不容易啊!谢谢!
问题没有我认为的答案,不过我可以补充
setHeader是服务端跳转,页面间存在参数的传递,而sendRedirect没使用"?"操作符号不可以传递参数。

一般只是跳转页面的话只用respones.sendRedirect跳转就行,这几个我看来没什么太大区别,只是需要把本页数据传给将要跳转的页面时要用到request.getParameterDisaptcher("要跳转到的页面").forward(request,respones)跳转只用这两个足够

jsp跳转分为转发和重定向!转发:举个例子就是别人请求你,你也会给人答案,只不过是把别人的答案拿过来给请求你的人来看。重定向:如果别人请求到你的话,你也给答案,你说到别人那里拿去吧!就直接让请求你的人去的地方了啊!response.setHeader()方法使用指定的头名称以及相应的值来设置头信息,如果头信息已经设置,则新的值会覆盖旧的值,如果头信息已经发出去,则此方法的设置将被忽略。
程序代码中的response.setStatus(),用来设定一个"态码"。
其内容为SC_MOVED_TEMPORARILY,而这个SC_MOVED_TEMPORARILY表示暂时移动目前网页到新地址。
此行程序就是通知客户端要更动目前网页的地址。

通知客户端要更动目前网页的地址" 是 服务器 和 客户端浏览器的 通讯机制, 是告诉浏览器怎么处理, 而不是告诉使用的人怎么处理, 对用户而言是透明的

三四年前学的jsp ,概念有些模糊了。

我只是记得,在jsp中的转向有两个方法,
不同之处是一种重定向后当前的网址不变,还有一种重定向后,当前的网址变为重定向后的网址。