您的位置:首页 > 编程语言 > Java开发

Struts2中转发和重定向的区别以及实现方法

2016-03-22 13:48 465 查看

Struts2中转发和重定向的区别以及实现方法

最近遇到一个问题,就是在设置struts2的拦截器以后,想要访问必须登录,想要的效果是转到登录页面,也就是转到xxx.jsp,但是发现没有转到,而是action结尾的,后来发现是因为在struts.xml里面配置的时候,没有在result中配置type属性,struts默认的是重定向,就是网址不变,解决办法就是在result中加type=”redirect”,就可以了

转发和重定向的区别:

重定向是不共享request的东西,重定向后的页面中无法接收request里的东西,另外dispatcher结果类型的default属性为TRUE,故<result-          type/>缺省为dispatcher 所以如果没有设置type属性的话,那么默认的是请求转发,就是说你要是什么都不写的话,默认就是这样的


<result name="list" type="dispatcher">/admin/jsp/userAction/list.jsp</result>


重定向的两个属性:

redirect是在处理完当前Action之后,重定向到另外一个实际的物理资源,以.jsp结尾这样的

redirectAction也是重定向,但它重定向到的是另外一个Action,就是以action结尾这样的

只要是重定向,那么之前凡是保存在request里面的东西就全都消失了

因为重定向实际是发送第二个请求,故请求中的东西也就不会出现在第二个请求里面了

也就是说重定向是不共享request的东西,重定向后的页面中无法接收request里的东西,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: