1.在项目中启用struts,在web.xml中添加如下代码:
<?xml version="1.0" encoding="UTF-8"?>并将一些必要的类库复制到web应用下的WEB-INF/lib目录下,并再建一个struts.xml到应用类加载路径下(至少需要该文件,为默认)。
<web-app 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_3_0.xsd"
version="3.0">
<!-- 定义struts 2的核心Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 让struts 2核心拦截所有请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8" ?>Struts2的工作流程图:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- 指定Struts 2配置文件的根元素 -->
<struts>
<!-- 由于将来随着项目开发,配置会越来越多,而导致配置文件增大,可通过将配置文件拆分,由该文件包含 -->
<include file="struts-part1.xml" />
<!-- 指定全局国际化资源文件base名 -->
<constant name="struts.custom.i18n.resources" value="messageResource"/>
<!-- 指定国际化编码所使用的字符集 -->
<constant name="struts.i18n.encoding" value="GBK"/>
<!-- 所有的Action定义都应该放在package下 -->
<package name="weizan" extends="struts-default">
<action name="login" class="weizan.LoginAction">
<!-- 定义三个逻辑视图和物理资源之间的映射 -->
<result name="input">/login/login.jsp</result>
<result name="error">/login/error.jsp</result>
<result name="success">/login/welcome.jsp</result>
</action>
</package>
</struts>
常量配置(亦称struts属性),可以通过修改支持的常量来满足应用的需求,可将struts.properties放到类路径下,struts框架会自动加载。可在struts2-core-***.jar的org/apache/struts2下有一个default.properties文件,其中包含了struts 2所支持的常量。
一般有三种方式(顺序加载,即后一个会覆盖前一个):
1)通过struts.properties文件配置
2)通过struts.xml配置
3)通过web.xml配置