1. Struts2的起源
2. Struts2体系结构
Struts2大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet API分离
控制器代理负责处理用户请求,处理用户请求是回调业务控制器的execute方法,该方法的返回值决定了Struts2将怎样的视图资源呈现给用户。Struts2主要与MVC模型的视图层相关。
Struts2需要使用配置文件来创建系统的Action代理。
- 配置Action的struts2.xml
- 配置Action全局属性的struts.properties文件
在struts2.xml配置文件中定义了一系列的Action。在定义Action时,指定该Action的实现类并定义该Action的处理结构与视图资源之间的映射关系。代码如下:
<struts> <package name="default" namespace="/user" extends="struts-default"> <!-- 定义了一个为index的action,实现类为TestAction --> <action name="index" class="com.validate.TestAction"> <!-- 配置Action返回success时,将页面转到success.jsp --> <result name="success"> /success.jsp </result> <!-- 配置Action返回error时,将页面转到error.jsp --> <result name="error"> /error.jsp </result> </action> </package>
struts.properties配置文件的形式是key-value对。它指定了Struts2应用的全局属性。
#指定struts2处于开发状态
struts.devMode = false
#指定当struts2配置文件改变后,web框架是否重新加载struts2配置文件
struts.configuration.xml.reload = true
3. Struts2的标签库
Struts2的标签库大大简化了数据的输出,同时也提供了大量的标签用做页面效果。以后详解。
4.使用struts2实现一个简单的“Hello World”程序
为项目添加struts2支持
- 修改web.xml文件,在web.xml文件中配置struts2的核心Filter。(intellij idea默认已经配好)
- 将struts2包中lib目录下的jar文件复制到WEB-INF/lib路径下。
- 在src目录下创建struts.xml文件。
在struts.xml配置文件中已指定了Action,接下来定义此类并让其继承ActionSupport父类。