Servlet中的两种跳转方法:
来源:互联网 发布:苹果mac安装搜狗输入法 编辑:程序博客网 时间:2024/06/05 19:09
方法一:response.sendRedirect("../success.jsp")
利用这个方法如果跳转前有request.setAttribute("a","b")的话,那么参数是传不到success.jsp,因为它在客户端重定向到success.jsp了,本质上跳了2次。所以参数失效,使用这个的时候会发现浏览器的URL地址发生了变化。
方法二:RequestDispatcher rd = getServletContext().getRequestDispatcher("/login.jsp"); rd.forward(request,response);利用这个方法跳转,参数可以被正确传送,而且效率比第一种高,IE的URL地址不变。
在什么地方用就是看自己的需求了。具体问题具体分析。
response.sendRedirect=把地址发送到浏览器端,让浏览器再请求,这是地址栏变的原因
request.getRequestDispatcher().forward=服务端的控制权转向,等于从一个servletClass跳到另一个servletClass或jsp继续运行,最后才返回所有的结果,所以地址栏不会变
request中attribute与parameter的有效期是在一次请求后,而实际使用第一种情况后发生了再次请求,所以是attribute与parameter丢失的原因。
效率上讲1肯定不如2,但有时候你必须得用1,其他时候用2即可。
利用这个方法如果跳转前有request.setAttribute("a","b")的话,那么参数是传不到success.jsp,因为它在客户端重定向到success.jsp了,本质上跳了2次。所以参数失效,使用这个的时候会发现浏览器的URL地址发生了变化。
方法二:RequestDispatcher
request.getRequestDispatcher().forward=服务端的控制权转向,等于从一个servletClass跳到另一个servletClass或jsp继续运行,最后才返回所有的结果,所以地址栏不会变
request中attribute与parameter的有效期是在一次请求后,而实际使用第一种情况后发生了再次请求,所以是attribute与parameter丢失的原因。
效率上讲1肯定不如2,但有时候你必须得用1,其他时候用2即可。
- 【Servlet】Servlet中的两种跳转方法
- Servlet中的两种跳转方法:
- Servlet跳转Jsp的两种方法
- servlet 实现页面跳转的两种方法
- 在servlet中实现页面跳转的两种方法
- servlet 实现页面跳转的两种方法
- servlet两种跳转比较
- Servlet 的两种跳转方式
- servlet跳转页面两种方式
- 页面跳转两种方法
- servlet中的跳转
- servlet跳转页面的几种方法
- servlet跳转页面的几种方法
- servlet跳转页面的几种方法
- servlet跳转页面的几种方法
- servlet跳转页面的几种方法
- servlet跳转页面的几种方法
- servlet跳转页面的几种方法
- 作为软件工程师,你必须知道的20个…
- 通俗易懂的数据库设计三大范式
- 如何写出高性能SQL语句
- 设计师的配色理论:你真懂这些色彩…
- 过滤器接口与实现字符编码过滤器实…
- Servlet中的两种跳转方法:
- java Android SDK安装与…
- 指针传递内存的做法
- 程序员面试什么最重要?
- 分治算法
- 属性服务接口与使用
- vc中Error spawning cl.…
- [转]Windows下自由创建.htaccess文…
- 关于VIM的一些色彩设置