1.导入STRUTS2-core-2.0.X.jar,xwork-2.0.X.jar,ognl-2.6.x.jar
2.配置web.xml文件
加入org.apache.struts2.dispatcher.FilterDispatcher过滤器的配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
FilterDispatcher是STRUTS2核心控制器。负责拦截所有的用户请求。
用户请求的到达时,Filter过滤用户请求。如果用户请求以action结尾,请求将被转入struts2框架处理。
<filter>可以加入以下参数
<init-param>
<param-name>config</param-name>
<param-value>以逗号隔开的多个struts配置文件的名,没有XML后缀</param-value>
</init-param>
<init-param>
<param-name>actionPackages</param-name>
<param-value>
org.apache.struts2.showcase.person包空间名,多个用逗号隔开
</param-value>
</init-param>
<init-param>
<param-name>configProviders</param-name>
<param-value>
一个或多个实现ConfigurationProvider接口的配置提供类的类全名,多个类用逗号隔开
</param-value>
</init-param>
3.在classes下加入struts.xml文件
Struts.xml文件用来配置action,拦截器等。
<?xml version=”1.0” encoding=”GBK”?>
<!—DTD信息-->
<!DOCTYPE struts PUBLIC
“-//Apache Software Foundation//DTD Struts Configuration 2.0//EN”
“http://struts.apache.org/dtds/struts-2.0.dtd”>
<struts>
<package name=”packagename” extends=”struts-default”>
<action name=”Login” class=”lee.LoginAction”>
<result name=”input”>login.jsp</result>
</action>
</package>
</struts>
i.Struts-default.xml配置文件位于struts-core-2.0.x.jar包中。是struts2最核心的配置文件。
ii.从中可以看到整个的struts的核心功能的全貌.
iii.Struts可以在result元素中指定相应的type属性(默认jsp).从而支持其他的视图技术。
v.包可以继承其他的包。包可以定义命名空间,用来区别其他配置文件中的相同的包名。
vi.包可以定义成abstract=true 这样包就只能被继承,不能被框架直接实例化。
vii.struts可以将一个struts.xml文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。<struts><include file=”struts-partOne.xml”/></struts>
注意:也可以在web.xml中配置filter时加入config参数来加载多个配置文件。
3.struts.properties配置文件
该文件定义了struts2框架的大量属性。只要将该文件放在web应用的CLASSPATH下,struts2框架就会自动加载。
stuts.locale
指定Web应用的默认Locale
struts.i18n.encoding
指定应用的默认编码相当于调用HttpServletRequest的setCharacterEncoding方法。
struts.custom.i18n.resources
指定struts应用所需要的国际化资源文件的名称(message_zh_cn.properties只需要指定名为message)
struts.mutipart.parser
该属性处理mutipart/form-data的MIME类型请求的框架(cos|pell|jakarta)默认是jakarta(common-fileupload)
struts.multipart.saveDir
指定上传文件的临时保存路径,默认是javax.servlet.context.tempdir;
struts.multipart.maxSize
指定文件上传中整个请求内容允许的最大字节数。
struts.action.extension
指定Struts处理请求后缀,默认是action(login.action)
struts.serve.static.browserCache
指定浏览器是否缓存静态内容
struts.enable.SlashesInActionNames
该属性设置struts2是否允许在Action名中使用斜线,该属性的默认值是false。
struts.devMode
设置struts2是否使用开发模式(true|false)
struts.dispatcher.parametersWorkaround
对于不支持HttpServlertRequest调用getParameterMap()方法的服务器,可以设置该属性值为true
来解决该问题。不支持getParameterMap()方法的服务器:weblogic,orion,oc4j
struts.i18n.reload
设置是否每次HTTP请求到达时,系统都重新加载资源文件。默认false
struts.ui.theme
设置视图标签的默认主题。默认是xhtml
struts.ui.templateDir
设置视图主题所需模板文件的位置,默认是template,默认加载template路径下的模板文件。
struts.ui.templateSuffix
指定模板文件的后缀(ftl|vm|jsp)
struts.configuration.xml.reload
设置当struts.xml文件改变后,系统是否自动重新加载。
struts.configuration.files
指定默认加载的配置文件,默认值是:struts-default.xml,struts-plugin.xml,struts.xml
struts.objectFactory
指定struts2默认的ObjectFactoryBean,该属性默认是spring
struts.objectFactory.spring.autoWire
指定Spring框架自动装配模式,默认是name.即根据Bean的name属性自动装配。
struts.objectFactory.spring.userClassCache
指定spring框架是否缓存Bean实例。默认是true
struts.objectTypeDeterminer (tiger|notiger)