Struts配置文件详解

时间:2022-08-03 19:35:13

一、web.xml配置文件

1.配置ActionServlet

           1.1配置ActionServlet是创建Struts应用程序的前提条件,作为Struts的控制器组件,ActionServlet负责接收客户端请求,再由RequestProcessor去分发处理,它和配置普通的Servlet是一样的如:

<servlet>
<!--配置该元素用于配置文件中其他部分对其进行引用-->
<servlet-name>action</servlet-name>
<!--配置该元素配置ActionServlet的真实路径-->
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param><!--配置初始化参数struts-config.xml的路径-->
<param-name>config</param-name><!--配置Struts专用的config参数-->
<param-value>/WEB-INF/struts-config.xml</param-value><!--配置config参数的路径-->
</init-param>
<init-param><!--声明debug属性-->
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<!--应用程序启动的优先级,由Web容器载入内存的顺序,值越小越优先-->
<load-on-startup>2</load-on-startup>
</servlet>

           1.2配置ActionServlet处理的URL地址       

<!-- 指定ActionServlet处理的请求URL都是以.do结尾 -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

           1.3配置默认网页列表元素

           该配置主要用于指定用户输入网站地址时,默认进入主页位置及名称默认为index.jsp

<welcome-file-list>
<welcome-file>/welcome.jsp<welcome-file>
</welcome-file-list>

           1.4配置错误处理元素

Struts应用程序运行的过程中,如果抛出错误或者异常,Struts本身提供的通用错误处理机制无法解决时,则抛给WEB容器,如果web容器没有处理,则默认显示在浏览器页面中。 为了避免让用户看到错误信息,可以再配置文件中配置<error-page>,指定在发生错误时,跳转到相应的页面。

 <!--路径错误,找不到文件-->
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<!--程序错误配置-->
<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
<!--捕获异常页面-->
<error-page>
<error-code>java.lang.Exception</error-code>
<location>/exception.jsp</location>
</error-page>

         1.5部署Struts标签库路径的配置元素

                

  <jsp-config>
<!--部署Bean标签的路径-->
<taglib>
<!--tablib-uri给出标签库的标识,以供本应用程序的JSP页面引用-->
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<!--tablib-location给出标签库实际保存位置-->
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
</jsp-config>
使用该标签库的JSP页面需要在头文件处,引入URL所标识的标签库如下:
<!--引用Bean标签库-->
 <% taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>

二、struts-config.xml配置文件

           Struts-config.xml位于Struts应用的WEB-INF目录下,和web.xml为同级目录,是Struts的核心组件,开发者通过它能够对Struts应用程序总体内容一目了然,整个应用程序组件配置都在该文件中。

1.      Action配置

<!--action-mapping可以定义多个<action>子元素-->
<action-mappings>
<action name="loginForm" <!--指定要用到的ActionForm,该名称必须在<form-beans>中声明过-->
path="/login"<!--和action类匹配的请求页面相对路径,不包含(.do),必须以“/”开头-->
type="com.bjpowernode.drp.web.actions.LoginAction"<!--指定处理请求Action类的完整路径-->
scope="request"<!--Action实例的使用范围,默认为session-->
input="/index.jsp"<!--表单验证出错时,要转向的页面-->
validate="true"<!--是否调用Action类中的validate方法进行表单验证-->
><!--指定目标响应页面,name表示action调用时的名字,path表示转向的相对路径,redirect表示是否重定向-->
<forward name="success" path="/item.do" redirect="true"/>
</action>
</action-mapping>

2.      ActionForm配置

<!--配置ActionForm-->
<form-beans>
<!--name表示实例名称,供别的调用;type指定ActionForm的完整路径和类名-->
<form-bean name="loginForm" type="com.LoginActionForm"/>
</form-beans>
<!--配置动态ActionForm-->
<form-beans>
<form-bean name="loginForm" type="com.LoginActionForm"/>
<!--name指定属性的名称,type指定属性的类型-->
<form-property name="sex" type="java.lang.String"
</form-bean>
</form-beans>

3.       资源文件的配置元素

要使用属性文件中保存信息时,用于在应用中输出本地化消息文本,首先引入相应的资源包,如下

<!--资源文件的配置,国际化,parameter指定资源文件的路径-->
<message-resources parameter="MessageResources" />

工作方式是,提供一个资源文件,由它来统一管理JSP页面显示信息

4.       异常:局部和全局

<!--局部异常,放在action元素中,其中key表示在资源配置文件中报错信息的“键”-->
<exception key="error" type="java.lang.Exception" path="/error.jsp"
scope="request">
<!--全局异常-->
<global-exceptions><!--path表示异常转发路径-->
<exception key="error" type="java.lang.Exception" path="/error.jsp"
scope="request">
</global-exceptions>

5.       插件的配置

Struts虽然提供了很多功能,但是有时候为了更好的使用,还必须扩展其他功能如下:

<plug-in classNama="org.apache.struts.validator.ValitatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator0-rules.xml,/WEB-INF/validation.xml">
</plug-in>