struts2 中不能从一个action转发到另一个action.但是可以重定向完成.

struts2 中不能从一个action转发到另一个action.但是可以重定向完成.

分析得:

虽然action和servlet功能类似,但实质上不是一个概念的东西(起码servlet声明周期是从访问开始一直到web容器退出,是共享的;而action是线程本地化的)

 1>.action是一个pojo ,是struts定义的概念.
 由于struts2基于filter,所以会过滤掉一些url.如访问servlet的时候会找不到相关的映射,而报错找不到相应action的映射.这也是该filter(StrutsPreparedAndExecuteFilter)功能之一.
 
 2>.struts2中的action都是线程本地化的,而非共享的.并且action的初始化相关工作(ActionContext等的初始化)都在filter中完成.

 3>.转发与重定向的区别导致,转发是在服务器端的行为,所以只会经过filter一次;而重定向会再次经历过filter.

 综合以上原因:不经过filter就不能完成action的初始化工作,所以转发不能给action,如果想从一个 action 跳转到另外的action必须通过重定向.
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值