struts2原理
当我们访问url地址时,为什么struts2会通过过滤器去找action类,然后再转发或重定向,而不像不用struts2时那样,通过web.xml里的配置去找过滤器,在过...
当我们访问url地址时,为什么struts2会通过过滤器去找action类,然后再转发或重定向, 而不像不用struts2时那样,通过web.xml里的配置去找过滤器,在过滤器里面再去转发或重定向?它的好处是什么?不知问的是不是有问题,挺迷糊,如果可以请用通俗的话回答。
展开
3个回答
展开全部
struts2的一个核心理念就是所有的请求都经过一个核心过滤器,这个核心过滤器在最新版本里是StrutsPrepareAndExecuteFilter,这个核心过滤器你可以把它拆分成prepare和execute两个过滤器,一个用来提前做准备,一个用来对用户的请求进行响应。单纯用struts2的话,这个里面不应该自己再去写servlet了。还有,过滤器是过滤器,servlet和过滤器是不一样的。servlet可以用来生成response而过滤器不能生成。另一个问题,jsp本身就是servlet,用来向用户展示页面。所以在struts2里servlet就只剩下jsp页面,因为用户使用struts的主要部分就是写action——用来进行业务处理。我们所写的action都会静态的配置在struts配置文件中,所以在StrutsPrepareAndExecuteFilter的准备阶段,她就会根据struts生成一个actionmapping,等用户的请求来的时候,便会根据url在actionmapingmanager的作用下找到相应的action了,最近在看struts源码,基本上就是这个过程,不知道帮到你 了吗。
展开全部
因为你用Struts2时候要在web.xml里配置Struts2的过滤器,应该是StrutsPrepareAndExecuteFilter。请求都会通过这个过滤器都会转给Struts2来处理。Struts2再应用自己的拦截器来交给Action处理。之前你配的过滤器是其它的而不是Struts2的。至于好处,那你应该了解Struts2有什么好处。Struts2核心组件是拦截器,真正要了解的话还需要深入学习。
追问
不知还能看到吗?我想知道熟悉原来对实际工作中用处大吗?
追答
最好还是熟悉一下比较好, 因为原理熟悉之后,出了异常你可以很轻松的查找出问题并解决~
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
由代理执行的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询