请问关于forward后地址的问题 那你就用response.sendRedirect()进行重定向跳转好了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但公司里已经做的就是按forward做的阿,还有,是不是因为这个原因导致的呢??? RequestDispatcher dispatcher=getServletContext().getRequestDispatcher("test/test.jsp");dispatcher.forward(request,response);上面这段是写在doGet 方法结束中,dopost也是调用doget方法,看看有没有把两个JSP内置对象 request,response参数带入 你可以在页面中写一个"button" , 然后给它个onclick="window.reload();" ???要是强制刷新页面而servlet没有被再次执行,那才是大麻烦 怎么说呢?/现在用的是公司已经封装好的包,我现在不明白的是:既然我的servlert已经转发到了一个jsp叶面,但为什么在jsp叶面上显示的的地址还是servlet的???有没有办法让转发后的地址变为jsp页面的??这样能不能解决这个问题?? >>我现在不明白的是:既然我的servlert已经转发到了一个jsp叶面,但为什么在jsp叶面上显示的的地址还是servlet的???----------这是欺骗浏览器的转发,和sendRedirect不一样。>>有没有办法让转发后的地址变为jsp页面的??这样能不能解决这个问题??----------forward后再sendRedirect >>这是欺骗浏览器的转发,和sendRedirect不一样。不大明白阿,是不是说forward后虽然地址栏显示的是servlet的地址。但实际上已经指向了jsp页面??那我刷新的时候,是不是应该执行的是jsp页呢??? forward和sendRedirect();前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法 那应该怎样解决我提出的问题呢??如果必须用forward的话?? 很久没用servlet中的跳转了,用forward,在struct-congfig.xml文件里面配置路径,这样多好。 这样有什么不对吗?forward之后本来就不改变URL,还是开始的那个地址啊. 我给你出个主意:到了客户端以后再重定向一下。可以自动进行。比如修改完某一元素,要跳到列表页面(假设你用forward),则此时刷新列表,就会再次进入servelt。解决方法:1。使用sendRedirect,但你说不能改了。2。不要跳到列表,而是跳到一个空白页面,在页面中加入javascript,自动跳到列表页面就可以了。原因分析:redirect会给浏览器回发一个302状态包,客户端会从这个包中读取到新的地址,然会转到列表文件,所以地址栏是真实地址,这样的好处是用户可以方便的保存页面。forward在中途并不给客户端回发包,所以客户端并不知道转发的过程,他认为地址仍然是servlet的地址。这样做效率会稍高,并且在request作用于可以跨越servlet和列表页面,可以方便的取得变量。 我以前发过一个帖子,在wap中,即使是使用redirect,刷新list页面也会转到servlet中。这个问题至今困扰我,我也不知道为什么。 struts2 ValueStack Maven Repository hql不能见组件类对象最为参数绑定吗? jmx菜鸟问题 连接池啊,郁闷的连接池啊,错误提示连接池无可用资源 高分求b/s结构的解决方案 J2EE新手,对J2EE有一点理解,不知对不对,请高手进来指点一下,研究一下! java 用stringbuffer 拼接字符串 windows里\r\n 是换行 那linux里啥是换行呢 webservice java后台代码实现接口交互 請教tomcat single sign on的問題 关于 Spring-MVC-step-by-step的菜鸟问题
还有,是不是因为这个原因导致的呢???
dispatcher.forward(request,response);上面这段是写在doGet 方法结束中,dopost也是调用doget方法,看看有没有把两个JSP内置对象 request,response参数带入
要是强制刷新页面
而servlet没有被再次执行,那才是大麻烦
我现在不明白的是:既然我的servlert已经转发到了一个jsp叶面,但为什么在jsp叶面上显示的的地址还是servlet的???
有没有办法让转发后的地址变为jsp页面的??这样能不能解决这个问题??
----------
这是欺骗浏览器的转发,和sendRedirect不一样。>>有没有办法让转发后的地址变为jsp页面的??这样能不能解决这个问题??
----------
forward后再sendRedirect
不大明白阿,是不是说forward后虽然地址栏显示的是servlet的地址。但实际上已经指向了jsp页面??
那我刷新的时候,是不是应该执行的是jsp页呢???
如果必须用forward的话??
比如修改完某一元素,要跳到列表页面(假设你用forward),则此时刷新列表,就会再次进入servelt。解决方法:
1。使用sendRedirect,但你说不能改了。
2。不要跳到列表,而是跳到一个空白页面,在页面中加入javascript,自动跳到列表页面就可以了。原因分析:
redirect会给浏览器回发一个302状态包,客户端会从这个包中读取到新的地址,然会转到列表文件,所以地址栏是真实地址,这样的好处是用户可以方便的保存页面。
forward在中途并不给客户端回发包,所以客户端并不知道转发的过程,他认为地址仍然是servlet的地址。这样做效率会稍高,并且在request作用于可以跨越servlet和列表页面,可以方便的取得变量。