1.什么是Struts 2
Struts 2 整合了两个优秀的框架Struts 1和Web Work,这两个都是非常优秀的MVC框架,这就保证了Struts2 作为实际开发框架的成熟性。
Struts 2保留了Struts 1的简单易用性,并且充分利用了Web Work的拦截器机制。
2.Struts 2体系介绍
框架结构:Servlet Filters、Struts 核心模块、拦截器和用户实现模块。
3.Struts 2处理过程
a.客户端提交一个请求,如在浏览器输入一个网址。
b.请求被提交到一列拦截器,顺序(首先提交到ActionContext CleanUp,再到其他过滤器,如Other Filters、SiteMesh等,最后到StrutsPrepareAndExecuteFilter).
c.StrutsPrepareAndExecuteFilter询问ActionMapper是否调用某个Action来处理请求,如果ActionMapper决定调用某个Action,StrutsPrepareAndExecuteFilter则会把这个请求的处理交给ActionProxy.
d.ActionProxy通过Configuration Manage(struts.xml)询问框架的配置文件,找到需要调用的Action类。
e.ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。(在调用之前,ActionInvocation会根据配置加载与Action相关的拦截器。)
f.一旦执行完毕,ActionInvocation负责根据struts.xml中的配置找到相应的返回结果。
4.如何学习Struts 2
a.了解Struts 2框架的配置文件。
1).配置文件的配置信息是Struts 2应用的核心部分。在Struts 2框架中,常用的配置文件有:web.xml,struts.xml、struts.properties和struts-default.xml
web.xml让web应用加载StrutsPrepareAndExecuteFilter核心控制器。
struts.xml是Struts 2框架的核心配置文件,该文件主要负责管理Struts 2框架的业务控制器Action。在struts.xml文件中可以进行Bean配置、常量配置、包配置、命名空间配置、包含配置、拦截器配置等。
2).配置Action。Action实现了对用户请求信息的处理,是业务控制器,是应用的核心。
3).配置Result。一个result代表一个可能的输出,当Action类的方法执行结束时,返回一个字符串类型的结果,框架会根据这个结果码选择对应的result,向用户输出。
b.Struts 2拦截器。
拦截是AOP的一种实现策略。所谓AOP就是将通用需求功能从不相关的类中分离出来,使得很多类共享一个行为,一旦发生变化,不必修改很多类,只需要修改这个行为即可。主要内容是配置拦截器、了解自定义拦截器和明白Struts2框架中的系统拦截器。
c.Struts 2类型转换
d.Struts 2输入校验
e.Sruts 2标签库
f.避免表单重复提交和等待页面