一、Struts2简介:
1.什么是Struts2?
著名的SSH三大框架分别为:表现层(Struts)、业务逻辑层(Spring),持久化层(Hibernate).
Struts2是在WebWork2基础上发展而来的MVC框架,尽管Struts2与Struts在名字上很像,但代码编写风格上几乎是完全不一样的。
Struts2比Struts更优秀,修复了Struts的许多Bug和缺点。
2.Struct2框架的优点?
1.Struts2是非侵入式设计
Struts2的Action类为POJO类,即不依赖于Servlet API和Struts API。
2.Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
3.Struts2提供了类型转换器,可以将特殊的请求参数转换成需要的类型。
4.Struts2支持多种表现层技术,如JSP、freeMarker、vectocity等。
5.Struts2的输入验证可以对指定的方法进行验证。
6.提供了全局范围、包范围和Action范围的国际化资源文件管理实现。
二、搭建Struts2开发环境
1.新建一个Web Project工程。
2.导入所需要用到的Structs2的jar包,这里暂时先只导入Structs核心jar包。
Structs2所有jar包下载地址http://struts.apache.org/download.cgi#struts23163
核心jar包:
xwork-core-2.1.6.jar: Structs2框架的核心类库
struts2-core-2.1.8.1.jar: XWork类库,Structs2在其上构建
ognl-2.7.3.jar:对象图导航语言(Object Graph Navigation Language),Structs2框架通过其读写对象属性。
freemarker-2.3.15.jar: Structs2的UI标签的模板使用FreeMarker编写
commons-logging-1.0.4.jar: ASF出品的日志包,Structs2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录。
commons-fileupload-1.2.1.jar: 文件上传组件,2.1.6版本后必须加入此文件。
方法一:
方法二:
3.复制Structs2.xml文件到项目的src目录下。
Structs2.xml文件配置模板如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> </struts>
4.在Struct中,Structs2框架式通过Servlet启动的。而在Structs2中,Structs2框架式通过Filter启动的。
Structs2在web.xml中的启动配置如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
注意:自动Structs2.1.3以后,下面的FilterDispatcher已经标注为过时
<filter-class>org.apache.structs2.dispatcher.FilterDispatcher</fileter-class>
5.测试Structs2是否搭建成功,发布程序项目,开启tomcat服务。