struts2 中dispatcher、redirect和chain三种result type的使用区别
2016-05-10 16:15
483 查看
dispatcher:用于页面转发,页面跳转过程一直是同一个线程,Action中的数据一直保存在。
redirect:可用于返回一个页面、一个action、链接到一个网址。
缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。
所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。
chain:功能与redirect的action转发类似,不过与redirectaction转发功能不同的是它可以将Action中的数据一直保存在同一个HTTP请求中。
redirect:可用于返回一个页面、一个action、链接到一个网址。
缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。
所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。
chain:功能与redirect的action转发类似,不过与redirectaction转发功能不同的是它可以将Action中的数据一直保存在同一个HTTP请求中。
相关文章推荐
- No validator could be found for type: java.lang.Integer.错误
- java 数据装箱及练习-对一个字符串中的数字进行排序
- java类
- 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
- 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
- Maven构建springMVC+mybites
- Java里面的arraycopy总结
- MyBatis-spring和spring JDBC批量插入Mysql的效率比较
- Ubuntu系统如何卸载并安装新版本的jdk(permission denied问题)
- Java--类和对象--回合制对战游戏
- Java Lambda表达式入门
- java Map扩展知识练习
- JDK TimerTask任务使用
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
- java Map练习-获取字符串中字母出现次数(TreeMap实现)
- 为什么java的main方法是public static void
- c标签
- java动态代理(JDK和cglib)
- Spring的BeanFactoryPostProcessor和BeanPostProcessor
- java Map-HashMap、TreeMap练习