帮我举下在java中页面跳转方法,和他们的用处

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了帮我举下在java中页面跳转方法,和他们的用处相关的知识,希望对你有一定的参考价值。

在java中页面跳转方法,和他们的用处(不同点),还有就是是他们的特点

1.request.getRequestDispatcher().forward(urlb)
它是请求转发,跳转到urlb去,当前页的地址是不变的。前后页面共享一个request,同样request中包装的值也可以共享。

2.response.sendredirect(urla)
它是地址重定向,就是把当前页转到urla 即:页面跳转后产生了新的request,response.和跳转前的不一样了。
参考技术A 是JSP中的页面跳转么?

JSP的页面跳转分为:forward()和redirect()。

前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
参考技术B java中有2中方式进行跳转
1是转发forward,转发的时候,数据没丢失
2是重定向,重定向的话,经过了2次请求,数据会丢失
对括号里面就是要跳转的目标地址

关于java,过滤html请求的Filter中跳转页面的问题。

我有一个Fiter类,这个类拦截的是*.htm和*.html请求的页面。
我在这个类中用response.sendRedirect()方法跳转到一个error.html页面,
这个页面负责输出一条alert语句和跳转到登录页面。
当我在没有登录的情况下第一次访问一个此项目后台html页面的时候一切正常。
成功跳转到登录页面。
当我在没有登录的情况下再一次访问这个项目的后台HTML页面的时候
报了一个错误如下:
--------------------------------------------------------------------------
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException: Cannot forward after response has been committed
--------------------------------------------------------------------------
当我在不登录的情况下再一次请求这个地址时,又恢复正常。
再一次就报这个错,也就是说隔一次好使一次。不知为何,苦想了1天啊。
所以上来问问各位大神。希望有哪位大神可以帮我解决。

参考技术A 一种解决方法 在response.sendRedirect()后面加上return。这种如果不行的话。
response.sendRedirect("error.jsp");error.jsp的完整路径加上。因为Fiter类是针对整个项目进行拦截的。
参考技术B response.sendRedirect()这句话后面的代码应该是被检测到可能会被执行,你用if else将代码块分好,这样应该是没问题的 参考技术C 你就想定义一个filter一样定义两个filter就可以。在filter中不是有一个filterchain么,他就是把请求传递给下一个filter去处理的。 参考技术D 肯定是逻辑问题
请把你的代码贴上来,可以分析 下。
if(包含某后缀名)
重定向

dofilter(...)本回答被提问者采纳
第5个回答  2010-12-29 有点不清楚 想看看你的代码 383808552

以上是关于帮我举下在java中页面跳转方法,和他们的用处的主要内容,如果未能解决你的问题,请参考以下文章

java中如何点击按钮跳转到网页(在浏览器中打开)

在java web开发中,凡是能实现页面跳转的方法都有哪些?具体列出这些方法的实现语句

MIPS中j,jr,jal这三个跳转指令有啥区别,最好能举下例子说明下,谢谢了

关于java,过滤html请求的Filter中跳转页面的问题。

phpcms怎么做到移动端和pc端同步使用数据,并且,都要静态化页面,帮我解决再加100分

jsp中,通过java后台控制跳转的页面;