`

Struts-config.xml配置文件讲解

阅读更多

官方配置文件说明:贴个Struts 1.1版本的online地址(比较久远了)与本文内容无关

http://struts.apache.org/1.1/userGuide/configuration.html

 

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