Struts2采用filter充当前端控制器处理请求,filter会根据Struts.xml的配置,将请求分发给不同的业务控制器Action,再由Action处理具体的业务逻辑。Action处理完业务之后,filter会根据其返回的字符串,从struts.xml中找到对应的result,最终由result将请求转发给页面。
这个实现的思路与Spring MVC基本一致。其差异如下:
(1)Spring采用Servlet充当前端控制器,分发请求。
(2)Spring采用RequestMapping配置请求与业务控制器的关系。
(3)Spring采用Controller充当业务控制器。
(4)Spring采用ViewResolver将请求转发给页面。