1、Struts2简介
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的 体系结构 与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
------------------------
2、 Struts2工作原理
![](https://img-blog.csdn.net/20150911114553836?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
------------------------
3、 Struts2体系结构
当 Web容 器 收到 请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括 (ActionContextCleanUp)过滤器,然后经过Other filters(SiteMesh ,etc),接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N) 一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面,之后拦截器(Interceptor N)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。
![图片](https://i-blog.csdnimg.cn/blog_migrate/5243140928e1cf56d1fb55da60893a8e.png)
=======================================
=======================================
初次框架配置
==============
1、导入struts2框架基本jar包
![图片](https://i-blog.csdnimg.cn/blog_migrate/bdb04ed71627a73c612c465f375604aa.png)
==============
2、在src目录中导入struts2的配置文件struts.xml
![图片](https://i-blog.csdnimg.cn/blog_migrate/689182d5de935bbdaead0d3b74468936.png)
![图片](https://i-blog.csdnimg.cn/blog_migrate/d662f72303fa6e45047b103b5bfe927e.png)
==============
3、在web.xml中通过配置filter初始化struts2框架
![图片](https://i-blog.csdnimg.cn/blog_migrate/55037f560df3d0ae23cf37bf2258d80a.png)
==============
4、将工程部署到tomcat,启动,若没有错误信息,框架配置基本完成
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的 体系结构 与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
------------------------
2、 Struts2工作原理
------------------------
3、 Struts2体系结构
当 Web容 器 收到 请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括 (ActionContextCleanUp)过滤器,然后经过Other filters(SiteMesh ,etc),接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N) 一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面,之后拦截器(Interceptor N)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。
![图片](https://i-blog.csdnimg.cn/blog_migrate/fc8776579fc84c27cc63e9b571320206.png)
![图片](https://i-blog.csdnimg.cn/blog_migrate/5243140928e1cf56d1fb55da60893a8e.png)
=======================================
=======================================
初次框架配置
==============
1、导入struts2框架基本jar包
![图片](https://i-blog.csdnimg.cn/blog_migrate/bdb04ed71627a73c612c465f375604aa.png)
==============
2、在src目录中导入struts2的配置文件struts.xml
![图片](https://i-blog.csdnimg.cn/blog_migrate/689182d5de935bbdaead0d3b74468936.png)
![图片](https://i-blog.csdnimg.cn/blog_migrate/d662f72303fa6e45047b103b5bfe927e.png)
==============
3、在web.xml中通过配置filter初始化struts2框架
![图片](https://i-blog.csdnimg.cn/blog_migrate/55037f560df3d0ae23cf37bf2258d80a.png)
==============
4、将工程部署到tomcat,启动,若没有错误信息,框架配置基本完成