关于java,servlet中的服务器端跳转和客户端跳转
2015-05-04 10:39
225 查看
最近因为写jsp和servlet有点多,所以不可避免的遇到了服务端与客户端跳转的问题,但是由于原理不清楚,所以老是记不住。今天特意查了资料,一定要弄清楚。
需要注意的是,此跳转只能传递session及application范围的属性,而无法传递request范围的属性。
下面画一张图来更好的理解客户端跳转:
由下图可以看到实际上客户端会发送两个请求,并且页面的路径会改变。
注意,服务器端跳转页面的路径不会发生改变,所以可以接受session及request范围的属性。
图解:
2,尽量使用response.sendRedirect(“fail.jsp”) 而不去使用forward ,因为当服务器崩溃了,那么sendRedirect 则就会起很大的好处了。
3,在处理信息的servlet中,不能用服务器端跳转,那样刷新就会一直处理信息。
一,什么是客户端跳转
客户端跳转也叫重定向,是使用HttpServletResponse对象中的sendRedirect()方法,这是一个响应对象的方法,调用了这个方法,就表明整个请求已经结束了,服务器开始向客户端返回执行的结果。需要注意的是,此跳转只能传递session及application范围的属性,而无法传递request范围的属性。
下面画一张图来更好的理解客户端跳转:
由下图可以看到实际上客户端会发送两个请求,并且页面的路径会改变。
二,什么是服务端跳转
服务端跳转也叫请求转发,是RequestDispatcher接口的forward()方法来实现的。而RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的。注意,服务器端跳转页面的路径不会发生改变,所以可以接受session及request范围的属性。
图解:
三,总结
1,客户端跳转“/ ”代表服务器路径webapps ,即服务器根路径,服务器端跳转“/ ”代表站点根路径,即应用程序根路径;2,尽量使用response.sendRedirect(“fail.jsp”) 而不去使用forward ,因为当服务器崩溃了,那么sendRedirect 则就会起很大的好处了。
3,在处理信息的servlet中,不能用服务器端跳转,那样刷新就会一直处理信息。
相关文章推荐
- [Java]Get与Post,客户端跳转与服务器端跳转
- Servlet客户端跳转VS 服务器端跳转
- servlet客户端跳转+服务器端跳转
- JAVA 客户端跳转与服务器端跳转 get与post
- 6.JavaWeb基础 客户端跳转和服务器端跳转
- 关于服务器端跳转和客户端跳转
- servlet客户端跳转+服务器端跳转
- java中,客户端与服务器端跳转的几种方式
- 关于javaee servlet的跳转与重定向
- java聊天程序客户端和服务器端,BUG中。。。。。
- java服务器端获取客户端IP地址
- java servlet跳转ftl
- 客户端跳转与服务器端跳转的区别
- 客户端的跳转与服务器端的跳转的区别
- struts2 result类型和客户端跳转,服务器端跳转
- Web开发中客户端的跳转与服务器端的跳转的区别
- 客户端跳转与服务器端跳转
- 关于Ajax是运行在服务器端还是客户端的问题
- javaweb_关于Servlet一些基础知识笔记
- Get与Post,客户端跳转与服务器端跳转