Struts配置文件解析:
1、首先使用Struts进行安装配置,在当前应用下创建当前应用的目录结构,,把Struts安装文件中lib目录下的JAR文件放到当前应用的lib目录下。
2、在WEB-INF目录下必须配置文件:
web.xml、struts-config.xml。
3、web.xml
以例子加注释解析吧:
<?xml version="1.0" encoding="UTF-8"?><!-- 固定格式 -->
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<!-- WEB应用配置 -->
<web-app>
<display-name>HelloApp Struts Application</display-name>
<!-- Standard Action Servlet Configuration -->
<servlet>
<-- struts action类的servlet配置 -->
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<!-- 配置Action类的初始化参数名为config,值为 /WEB-INF/struts-config.xml-->
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping servlet类映射到对应的URL-->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- The Usual Welcome File List 应用的默认显示页面-->
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
<!-- Struts Tag Library Descriptors Struts自带的标签库-->
<!-- 还有struts-nested.tld和struts-tiles.tld -->
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
</web-app>
4、servlet-config.xml
用struts来写bean和action类对应关系都在servlet-config.xml配置
下面以配置文件加注释加以说明:
<!-- 配置文件固定格式 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<!-- struts配置标签 -->
<struts-config>
<!-- bean的配置,指定bean名字为hello2Form,type对应的是bean类 -->
<form-beans>
<form-bean name="hello2Form" type="hello2.Hello2Form" />
</form-beans>
<!-- action-mapping配置, 可以有多个action标签-->
<action-mappings>
<!--
input----action对应的请求页面
name----和bean标签的name对应,是这个action对应的哪一个bean
path ----action类对应的URL,是请求页面路径,使用时以path.do的形式。
score----请求范围,有两种:request,session
type ----指定对应的action类
validate----指定是否通过FormBean验证。
-->
<action input="/Hello2.jsp" name="hello2Form" path="/hello2" scope="request" type="hello2.Hello2Action" validate="true">
<--
name----转发请求名
path ----用于指定请求转发的url
-->
<forward name="hello2" path="/Hello2.jsp" />
</action>
<!--
此action可以不通bean和action关联,可以在当前应用下通过
http://IP:port/applicationpath/hello.do,就可以转发到logon.jsp页面。
path----和前一个action的path一样,使用方式path.do
forward----请求path.do对应的页面
-->
<action path="/hello" forward="/logon.jsp" />
</action-mappings>
<!-- 指定配置文件Resources的位置 -->
<message-resources parameter="hello2.Resources" />
<!-- 用于bean的验证 -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
</struts-config>