准备工作
- struts2-core-2.1.8.1.jar :Struts 2框架的核心类库
- xwork-core-2.1.6.jar :XWork类库,Struts 2在其上构建
- ognl-2.7.3.jar :对象图导航语言(Object Graph Navigation Language),
- struts2框架通过其读写对象的属性
- freemarker-2.3.15.jar :Struts 2的UI标签的模板使用FreeMarker编写
- commons-logging-1.1.x.jar :ASF出品的日志包,Struts 2框架使用这个日志
- 包来支持Log4J和JDK 1.4+的日志记录。
- commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后需要加入此文件
- commons-io-1.3.2.jar,上传文件依赖的jar包
在struts2中,struts框架是通过Filter启动的。所以,要在web.xml中配置
- <filter>
- <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>StrutsPrepareAndExecuteFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
编写struts2的默认配置文件为struts.xml.该文件存放在当前工程的目录下
在struts2框架中使用包来管理Action,包的作用和java中的类包是非常类似的,它主要用于管理一组业务功能相关的action。在实际应用中,我们应该把一组业务功能相关的Action放在同一个包下。
配置包时必须指定name属性,如果其他包要继承该包,必须通过该属性进行引用,注意:name名称是唯一 。包的namespace属性用于定义该包的命名空间。该属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“/”
通常每个包都应该继承struts-default包, struts-default包是由struts内置的,它定义了struts2内部的众多拦截器和Result类型。而Struts2很多核心的功能都是通过这些内置的拦截器实现。如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截器实现的。当包继承了struts-default包才能使用struts2为我们提供的这些功能。 struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定义。 struts-default.xml也是Struts2默认配置文件。 Struts2每次都会自动加载 struts-default.xml文件。