struts----struts-config.xml文件配置学习

1.概述。

       在Struts应用启动时,会把Struts配置文件中的配置信息读入到内存中,并把他们放到config包中相关javaBean类的实例 中,org.apache.struts.config包中的每一个类都和Struts配置文件中特定的配置元素对应。例如:                                               <action>元素---->ActionMapping

<forward>元素---->ActionForward

2.根元素<struts-config>

      <struts-config>元素是Struts配置文件的根元素,和它对应的配置类为org.apche.struts.config.ModuleConfig类。

       <struts-config>元素有8个子元素,它的DTD定义如下:

      <!ELEMENT struts-config(data-source?,form-beans?,global-exception?,global-     forwards?,actionmapping?,controller?,message-resources*,plug-in*)>

       定义Struts配置文件,必须按照上面DTD规定的顺序进行配置,否则将报错。

 2.1. <data-sources>元素

            <data-sources>元素用来配置应用所需要的数据源

            <data-sources>元素包含零个,一个或多个<data-source>子元素。

            <data-source>元素用于配置特定的数据源,它可以包括多个<set-property>子元素。

            <set-property>元素用于设置数据源的各种属性。例如:

<data-sources> 
    <data-source type=”org.apche.commons.dbcp.BasicDataSource”>
        <set-property property=”autoCommit” value=”true”/>
        <set-property property=”description” value=”MySQL Data Source”/>
        <set-property property=”driverClass” value=”com.mysql.jdbc.Driver”/>
        <set-property property=”maxCount” value=”10”/>
        <set-property property=”minCount” value=”2”/>
        <set-property property=”user” value=”root”/>
        <set-property property=”password” value=””/>
        <set-property property=”url” value=”jdbc:mysql://localhost:3306/addressbooksample”/>
    </data-source>
</data-sources> 

            比较流行的数据源:

扫描二维码关注公众号,回复: 4559104 查看本文章

名称

供应商

URL

Poolman

开放源代码软件

http://sourceforge.net/projects/poolman

Expresso

Jcorporate

http://www.jcorporate.com

JDBC Pool

开放源代码软件

http://www.bitmechanic.com/projects/jdbcpool

DBCP

Jakarta

http://jakarta.apache.org/commons/index.html

            配置完数据源后,就可以在Action类中访问数据源。

            在org.apache.struts.action.Action类中定义了getDataSource(HttpRequest)方法,可以用于获取数据源对象的引用。

             例如:

public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest 
                request,HttpServletResponse response) throws Exception{
    javax.sql.DataSource dataSource;//定义数据源对象
    java.sql.Connection myConnection;//定义联接对象
    try{
        dataSource=getDataSource(request);//从配置文件中读取数据源信息并进行配置
        myConnection=dataSource.getConnection();//建立一个数据源连接实例
    }
    catch(SQLException sqle){
        getServlet().log(“Connection.process”,sqle);
    }
    finally{
    try{
        myConnection.close();
    }
    catch(SQLException e){
        getServlet().log(“Connection.close”,e);
    }
    }// end finally
}//end execute 

          在配置文件中声明多个数据源的方法:

          可以通过为每一个数据源分配唯一的key值,通过该值来标识特定的数据源。例如:

<data-sources>
    <data-source key=”A” type=”org.apache.commons.dbcp.BasicDataSource”>
        <set-property property=”autoCommit” value=”true”/>
        <set-property property=”description” value=”MySQL Data Source”/>
        <set-property property=”driverClass” value=”com.mysql.jdbc.Driver”/>
        <set-property property=”maxCount” value=”10”/>
        <set-property property=”minCount” value=”2”/>
        <set-property property=”user” value=”root”/>
        <set-property property=”password” value=””/>
        <set-property property=”url” value=”jdbc:mysql://localhost:3306/addressbooksample”/>
    </data-source>
    <data-source key=”B” type=”org.apache.commons.dbcp.BasicDataSource”>
    </data-source>
    <data-source key=”C” type=”org.apache.commons.dbcp.BasicDataSource”>
    </data-source>
</data-sources> 

    2.2.<form-beans>元素

            <form-beans>元素用来配置多个ActionForm Bean。

            <form-beans>元素包含零个,一个或多个<form-bean>子元素。每个<form-bean>又包含多个属性:

属性

描述

className

指定和<form-bean>元素对应的配置类,默认值为org.apache.struts.config.FormBeanConfig,如果在这里设置自定义的类,该类必须扩展FormBeanConfig类。

Name

指定该ActionForm Bean的唯一标识符,整个Struts框架用标识符来引用这个Bean,该属性是必须的。

Type

指定ActionForm类的完整名,该属性是必需的。(在配置type属性时,必须给出ActionForm类的完整类名,即包括类的包名。)

<form-beans>
    <form-bean name="wfcm1010Form"
               type="jp.co.bsnnet.sofia.web.forms.keiyaku.wfcm1000.Wfcm1010Form">
    </form-bean>
</form-beans>

  2.3.<global-exceptions>元素

           该元素主要配置异常处理,它的exception子元素代表全局的异常配置。

  2.4 <global-forwards>元素

          该元素主要用来声明全局的转发关系,它具有以下四个属性:

   2.5 <action-mappings>元素

          描述从特定的请求路径到相应的Action类的映射。

                 2.5.1  attribute:设置和Action关联的ActionForm Bean在request和session范围内的key.

                 2.5.2 classsName:和action元素对应的配置元素,默认为:org.apache.struts.action.ActionMapping.

                 2.5.3 forward:转发的URL路径。

                 2.5.4  include:指定包含的URL路径。

                2.5.5  name:指定和Action关联的Action FormBean的名字,该名字必须在Form-Bean定义过。

                2.5.6   input:输入表单的URL路径,当表单验证失败时,将把请求转发到该URL。

                2.5.7   path:指定访问Action的路径,以“/”开头,无扩展名。

                2.5.8  parameter:指定Actgion的配置参数,在Action类的execute()方法中,可以调用ActionMapping对象的getParameter()方 

                                               法来读取该配置参数。

                2.5.9  scope:指定ActionForm Bean的存在范围,可选取为request和session,默认为session。

                2.5.10 type:指定Action类的完整类名

                2.5.11  validate:指定是否要调用Action FormBean的validate方法,默认值为ture.

       注:forward、include、type属性只能选中其中一项。

猜你喜欢

转载自blog.csdn.net/lsh15846393847/article/details/85044203