`

struts-config.xml配置文件讲解

阅读更多
Struts的核心是struts-config.xml配置文件,在这个文件里描述了所有的Struts组件。
在这里包括配置主要的组件及次要的组件,下面是struts-config.xml包含主要元素的内容:

一、    struts-config.xml的主要元素:
 <? xml version=”1.0” encoding=”ISO-8859-1” ?>  
 <! 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-config >  
     < data-sources >  
         < data-source >  
         </ data-source >  
     </ data-sources >  
     < form-beans >  
         < form-bean  /  >  
     </ form-beans >  
     < global-forwards >  
         < forward  /  >  
     </ global-forwards >  
     < action-mappings >  
         < action  /  >  
     </ action-mappings >    
 < controller  /  >  
     < message-resources  /  >  
     < plug-in  />  
 </ struts-config > 

     注意:以上各元素的顺序是非常重要的,你的struts-config.xml配置文件必须按照这个顺序进行配置,否则在你的容器启动的时候就会出错。

二、    struts-config.xml的子元素:
1. < icon /> 子元素
    它包含 <small-icon/> 及 <large-icon/> ,它的作用是图形化其父元素,
<small-icon/> 的内容是一个16x16的图像文件,而 <large-icon/> 的内容是一个32x32的图像文件。如下例子:
     <icon> 
       <small-icon> 
          /images/smalllogo.gif
       </small-icon> 
       <large-icon> 
         /images/largelogo.gif
       </large-icon> 
</icon> 
2. <display-name /> 子元素
    它提供对父元素的短文字(short textual)描述信息,如下:
     < display-name > 
            short textual discription of its parent element
     </ display-name > 
3. <description  /> 子元素
    它提供对父元素的完全(full-length textual)的描述信息,如下:
    < description > 
     full-length textual discription of its parent element
    </ description > 
4. <set-property  /> 子元素
        它用来设置它的父元素中设定的JavaBean的属性值,它一般用在指定的GenericDataSource 属性,
扩展的ActionMappings以及扩展的 global forwards。如下:
         < set-property  property ="name of bean property"  value ="value of bean property" /> 
          例如:
          < set-property  property ="driverClass"  value ="org.gjt.mm.mysql.Driver"  /> 
          < set-property  property ="user"  value ="admin" /> 
          < set-property  property ="maxCount"  value ="4" /> 
          < set-property  property ="minCount"  value ="2" />  
          < set-property  property ="password"  value ="" />  
          < set-property  property ="url"  value ="jdbc:mysql://localhost:3306/struts" /> 

三、    配置JDBC数据源

其配置形式如下:
< data-sources >  
 < data-source >  
 < set-property  property ="driverClass"  value ="fully qualified path of JDBC driver" />  
 < set-property  property ="url"  value ="data source URL" />  
 < set-property  property =”mincount”  value ="the minimum number of connections to open" />  
 < set-property  property ="password"  value ="the password used to create connections" />  
 < set-property  property ="user"  value ="the username used to create connections" />  
 </ data-source >  
 </ data-sources > 


   <data-source> 的属性及其描述信息如下:
属  性 描 述 信 息
Key 绑定在ServletContext上的DataSource实例的索引键,若不设定则缺省为Action.DATA_SOURCE_KEY,如果在应用程序中有多于一个的DataSource,  则必须设置Key的值。
DriverClass 所用的JDBC驱动类(必须的)如:com.microsoft.jdbc.sqlserver.SQLServerDriver
url所用的JDBC的URL(必须的)如:jdbc:microsoft:sqlserver://xg088:1433
MaxCount   同时打开的最大连结数,缺省值为2(可选的)
MinCount 同时打开的最小连结数,缺省值为1(可选的)
User连结到数据库的用户名(必须的)
Password连结到数据库的密码(必须的)
Description 关于DataSource的描述信息(可选的)
ReadOnly如果设为true,则表示该连结是只读的,缺省为false。(可选的)
LoginTimeout创建连结的最大允许时间,以秒为单位。(可选的)
AutoCommit 如果为true,则每次execute之后会强制回滚。缺省为true。(可选的)


举例说明:
 < data-sources >  
 < data-source >  
 < set-property  property =”key”  value =”  value ="WILEY_DATA_SOURCE"   />  
 < set-property  property ="driverClass"  value ="org.gjt.mm.mysql.Driver"   />  
 < set-property  property ="url"  value ="jdbc:mysql://localhost/wileyusers"   />  
 < set-property  property ="maxCount"  value ="5" />  
 < set-property  property ="minCount"  value ="1" />  
 < set-property  property ="user"  value ="sa" />  
 < set-property  property ="password"  value ="yourpassword" />  
 </ data-source >  
 </ data-sources >

四、    配置FormBean
<form-bean  /> 用来定义将要绑定到Action的FormBean的实例。语法如下:
   < form-beans > 
      < form-bean  name ="name used to uniquely identify a FormBean" 
             type =”fully  qualified class name of FormBean" /> 
   </ form-beans > 
例:
< form-beans > 
      < form-bean  name ="lookupForm"  type ="wiley.LookupForm"   /> 
</form-beans > 

五、    配置全局转发
    全局转发可以定义几个 < forward /> 子元素,struts首先会在 < action-mappings > 元素中找对应的 < forward > ,

若找不到,则到全局转发配置中找。语法如下:
< global-forwards > 
    < forward  name ="unique target identifier"  path ="context-relative path to targetted resource " /> 
</ global-forwards > 
    除了name及path属性之外,还有一个redirect属性,如果redirect设为true的时候,则用

HttpServletResponse.sendRedirect()方法,否则用RequestDispatcher.forward()方法,缺省为false。
注:如果为true,则用HttpServletResponse.sendRedirect()方法,此时存储在原来的HttpServletRequest中

的值将会丢失。
例子:
< global-forwards > 
< forward  name ="success"  path ="/welcome.jsp" /> 
< forward  name ="failure"  path ="/index.jsp" /> 
</ global-forwards > 
六、    配置 < action-mappings > 
    它可以定义几个 < action  /  > 子元素,它主要是定义Action实例到ActionServlet类中,语法如下:
< action-mappings > 
   < action  path ="context-relative path mapping action to a request" 
    type ="fully qualified class name of the Action class" 
    name ="the name of the form bean bound to this Action" > 
     < forward  name ="forwardname1"  path ="context-relative path" /> 
     < forward  name ="forwardname2"  path ="context-relative path" /> 
   </ action > 
</ action-mappings > 

   < action /> 属性及其描述信息如下:
属  性描 述 信 息
Path在浏览器的URL中输入的字符(必须的)
Type 连结到本映射的Action的全称(可选的)
Name与本操作关联的Action Bean在 < form-bean /> 中定义name名(可选的)
Scope 指定ActionForm Bean的作用域(session和request),缺省为session。(可选的)
Input当Bean发生t误时返回的控制。(可选的)
ClassName指定一个调用这个Action类的ActionMapping类的全名。缺省用  org.apache.struts.action.ActionMapping,(可选的)
Forward指定处理相应请求所对应的JSP页面。(可选的)
Include如果没有forward的时候,它起forward的作用。(可选的)
Validate 若为true,则会调用ActionForm的validate()方法,否则不调用,缺省为true。(可选的)
  
    例子:
< action-mappings > 
< action  path ="/lookupAction"  type ="wiley.LookupAction"  name ="LookupForm" 
   scope ="request" 
   validate ="true" 
   input ="/index.jsp" > 
< forward  name ="success"  path ="/quote.jsp" /> 
< forward  name ="faliue"  path ="/index.jsp" /> 
</ action > 
</ action-mappings > 

七、    配置RequestProcessor
     在struts-config.xml文件中用 < controller /> 子元素来定义RequestProcessor,其语法格式如下:
< controller  processorClass ="fully qualified class name"   />

< controller  /> 元素属性及其描述信息如下:
属  性描  述
processorClass指定自定义的RequestProcessor类的全名
BufferSize 指定用来下载所用的缓存大小。缺省是4096字节
contentType 定义response文本类型,缺省是text/html
Debug定义当前系统的除错级别,缺省是0
Locale 如果是true,则在用户的session中存放Locale对象,缺省为true
maxFileSize指定下载文件最大的大小。缺省是250M
multipartClass指定去代替org.apache.struts.upload.DiskMultipartRequestHandler类的类的全名。
Nocache如果是true,则会关闭每个response的缓存功能。缺省是false
TempDir 指定上载文件所用的临时目录。缺省值由容器决定

例子:
①  < controller  processorClass ="wiley.WileyRequestProcessor"   /> 
②  < controller
      contentType ="text/html;charset=UTF-8" 
     debug ="3" 
     locale ="true" 
     nocache ="true" 
     processorClass ="org.apache.struts.action.RequestProcessor" /> 

八、    配置Message Resources
     在struts-config.xml文件中用 < message-resources  /> 元素来定义消息资源。其语法如下:
         < message-resources   parameter ="wiley.ApplicationResources" /> 

< message-resources  /> 元素属性及其描述信息如下:
属  性 描  述
Parameter给定资源文件全名
ClassName定义处理消息资源的类名的全名,缺省是org.apache.struts.config.MessageResourcesConfig
Factory 定义MessageResourcesFactory类的全名,缺省是  org.apache.struts.util.property.MessageResourcesFacotry
Key定义绑定在这个资源包中的ServletContext的属性主键,缺省值是Action.MESSAGES_KEY.
Null 如果为true,则找不到消息key时,则返回null,缺省是true

例子:
①  < message-resources  parameter ="wiley.ApplicationResources" /> 
②  < message-resources
      parameter ="StorefrontMessageResources" 
     null ="false" /> 
< message-resources
      key ="IMAGE_RESOURCE_KEY" 
     parameter ="StorefrontImageResources" 
     null ="false" /> 
注意:设定key的目的如下:
< html:img  altKey ="navbar.home.image.alt"  bundle ="IMAGE_RESOURCE_KEY"  
       pageKey ="navbar.home.image"  width ="125"  height ="15"  border ="0" /> 
这里说明要到StorefrontImageResources.properties资源文件中找主键值是”navbar.home.image”所对应的值。
这里StorefrontImageResources.properties的内容如下:
……
navbar.home.image=/images/home.gif
navbar.home.image.alt=Home
……
此处navbar.home.image.alt说明的和 < img  alt =”Home”……/>一样。

九、    配置Plug-in
配置Plug-in如下:
<plug-in className ="wiley.WileyPlugin" /> 
也可如下:
< plug-in  className ="com.oreilly.struts.storefront.service.memory.StorefrontMemoryDatabasePlugIn" > 
    < set-property  property ="pathname"  value ="/WEB-INF/database.xml" /> 
</ plug-in >
分享到:
评论

相关推荐

    Struts中配置文件的详细讲解

    主要有两个核心配置文件:`web.xml`和`struts-config.xml`。 首先,`web.xml`是Web应用的部署描述符,它位于`WEB-INF`目录下。这个文件是所有Web应用都需要的,不仅Struts应用,任何基于Servlet的Web应用都需要它。...

    Struts配置文件详细讲解

    主要涉及两个配置文件:`web.xml`和`struts-config.xml`。 **1. `web.xml` - Web应用部署描述符** `web.xml`是每个Java Web应用程序的标准配置文件,用于向Web容器(如Tomcat)提供关于应用的元数据。此文件包含了...

    struts1.x技术课程讲解.pdf

    - **ActionServlet** 接收请求后,根据配置文件 struts-config.xml 中的规则,决定调用哪个 Action 类来处理请求。 - **Action** 类执行业务逻辑,修改模型状态,并返回一个 ActionForward 对象,指明应转向哪个 ...

    struts.xml文件详解.doc

    Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....

    struts配置文件讲解

    在这篇详尽的讲解中,我们将深入探讨Struts配置文件的关键元素和作用。 1. **struts-config.xml文件**:这是Struts框架的主要配置文件,通常位于Web应用的WEB-INF目录下。这个XML文件包含了所有关于动作映射、数据...

    spirng hibernate struts1整合jar包和配置流程

    创建struts-config.xml配置文件,定义Action类和对应的ActionForm,以及视图页面的跳转规则。 2. 配置Spring: 创建applicationContext.xml配置文件,声明Bean的定义,包括Hibernate的SessionFactory、DAO和...

    实验指导\第二章Struts框架详解.doc

    2. **理解配置文件的作用**:`struts-config.xml`是Struts的配置文件,它定义了各个Action、ActionForm以及它们之间的映射关系,以及请求的转发规则。 ### 实验步骤 1. 创建名为`Login`的新工程,并添加Struts支持...

    Struts配置文件讲解

    在 Struts 应用程序中,`struts-config.xml` 文件是核心配置文件,它定义了应用程序的行为和组件之间的关系。以下是 `struts-config.xml` 文件的主要元素及其详细解释: 1. **数据源(Data Sources)**: - `&lt;data...

    Struts1基本配置

    - **struts-config.xml**:这是Struts1的核心配置文件,包含了所有Action、Form Bean、Forward、Plug-in等配置信息。例如: ```xml &lt;struts-config&gt; &lt;form-beans&gt; &lt;!-- Form Bean配置 --&gt; &lt;/form-beans&gt; ...

    最简单的Struts1入门案例

    2. **struts-config.xml配置**:这是Struts1应用的主配置文件,它定义了Action的映射、数据源、Form Bean和其他组件。在"配置文件有详细的解释"的描述中,我们可以期待这个案例会详细讲解如何配置Action与URL路径的...

    struts框架详细介绍

    Struts框架是一个经典的Java web应用程序开发框架,由Apache软件基金会...通过以上讲解,我们了解了Struts框架的基本构成、工作原理以及配置文件的使用。掌握这些知识,能帮助开发者更高效地构建和管理Java web应用。

    Struts1的开发过程

    3. 配置`struts-config.xml`:这是Struts的核心配置文件,用于定义Action、Form Bean、Action Mapping等。一个简单的配置示例如下: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts-config PUBLIC...

    Struts.in.Action中文版.rar

    7. **Struts配置文件**:struts-config.xml是Struts的核心配置文件,它包含了ActionMapping、ActionForm、数据源、国际化资源等关键配置,是理解和使用Struts框架的关键。 8. **国际化与本地化**:Struts支持多语言...

    struts的课件,及详细讲解

    最后,通过action和struts.xml配置文件控制页面间的跳转和业务逻辑的执行,形成了完整的请求处理流程。 项目调度流程展示了各个对象之间的交互,例如,当执行查询操作时,用户通过JSP页面输入查询条件,UserAction...

    Struts实例讲解

    接下来是配置`web.xml`文件,这是每个Servlet应用的核心配置文件。在`web.xml`中,你需要声明`ActionServlet`,它是Struts框架的主控制器。配置如下: ```xml &lt; servlet-name &gt; action &lt;/ servlet-name &gt; ...

    struts教程

    ActionMapping则定义了Action与URL之间的映射关系,通过struts-config.xml配置。 **4. ActionForm** ActionForm对象用于封装表单数据,从客户端传入,被Action处理后返回给视图。每个ActionForm对应一个特定的用户...

    structs详解--课件

    - `org.apache.struts.config`:处理struts-config.xml配置文件的元素映射。 - `org.apache.struts.util`:提供通用服务,如连接池和消息源支持。 - `org.apache.struts.taglib`:包含用于构建用户界面的各种标签库...

    Struts In Action.zip

    Struts的核心组件包括Action、ActionForm、ActionServlet、配置文件(struts-config.xml)以及各种标签库。 1. **Action**:Action是处理用户请求的中心组件,它接收ActionForm中的数据,执行业务逻辑,并决定转发...

    03_张孝祥09年Struts视频_validator单元3.rar

    1. **定义验证规则**:在XML配置文件(如struts-config.xml或validator-rules.xml)中,开发者可以定义每个字段的验证规则,如非空检查、长度限制、格式验证(如电子邮件地址、日期等)。 2. **创建验证表单**:在...

    SSH开发struts所用的jar包

    在Struts中,`Action`类是业务逻辑的核心,`ActionForm`用于封装请求参数,而配置文件(如struts-config.xml)则定义了请求与Action之间的映射关系。 在Struts开发中,我们需要一系列的jar包来支持其运行。这些jar...

Global site tag (gtag.js) - Google Analytics