一、Struts2的配置步骤
1.导入jar包
struts2有5个基本包:commons-logging-1.0.4.jar(日志包),freemarker-2.3.13.jar、ognl-2.6.11.jar、struts2-core-2.1.6.jar(核心包),xwork-2.1.2.jar(webWork的核心包)。注:导入时要导入基本包+其它要使用的包
2.Web.xml配置
3.struts.xml配置(建立在Src包下面)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="GBK"/>
<package name="default" namespace="/user" extends="struts-default">
<!-- action 中当method没有写时候,默认调用execute方法,返回的是“success” -->
<action name="login" class="com.pb.method.LoginMenthodModelDriven" method="login">
<result name="success">
/success.jsp
</result>
<result name="input">
/index.jsp
</result>
</action>
</package>
</struts>
解析:
a.运行过程:
当HttpServerRequest请求到这,先匹配package(根据namespace),当package匹配上在匹配action标签中name,当name也匹配上了,在根据clss(指定某个Action的路径)找到指定的Action,method是执行指定Action中的某个方法,没有就默认执行execute方法,当执行Action的方法时候会返回字符串与标签result的name匹配,匹配上了就执行那个result的值进行调制.
b.部分constant注解
<constant name="struts.devMode" value="true" /><!-- 一般在研发阶段使用,作用修改配置文件不用重启tomcat的 -->
<constant name="struts.i18n.encoding" value="UTF-8"/><!--指定默认编码类型-->
<constant name="struts.server.static.browserCache" value="false"/><!--设置浏览器是否缓存静态内容,默认为TRUE 开发阶段最好关闭-->
<constant name="struts.ui.theme" value="simple"/><!--设置默认的视图主题-->
<constant name="struts.action.extension" value="do,action"/><!--