noMathNoPain 2015-11-02 06:03 采纳率: 78.3%
浏览 1582
已采纳

struts2 关于最后请求的响应?

struts2 在web容器中表现为一个过滤器, 最近想到最后的视图资源怎么返回的,查了很多资料
都说filter不能直接响应只能修改响应,那么struts2最后response.sendredirect()或者转发什么的在什么地方呢?
还是说 filter配合servlet用的时候"标准"用法是修改,但其实是可以直接响应(因为它确实有ServletResponse这个参数...)而struts2没有按照“标准”来???求大神指点

  • 写回答

3条回答 默认 最新

  • Jasionder 2015-11-04 17:43
    关注

    单从理解上讲(事实比这复杂),你可以把struts2分为两个部分,一个是他的filter,一个是封装的servlet,前端的请求会首先被filter拦截,主要有这么几件事(帮你封装数据、校验数据、控制请求跳转),控制请求跳转可这样理解:默认的filter肯定是不会拦截你的请求,他只会帮你封装,然后放行;如果是你自己写的filter,可能会因为数据不合法或者其他原因直接拒绝掉,从而同意的转向你配置的界面,如果合法,你的filter肯定也是会放行的。当所有的filter都放心以后进入action,其实就是已经封装好的servlet,这其中本身就有request和response,之前怎么做现在还可以怎么做,一般的返回都是返回String,通过你的配置文件找到相应的jsp,还是通过底层将jsp翻译为servlet转发给浏览器的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?