`
mzhj
  • 浏览: 222977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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中配置文件的详细讲解

    struts应用采用两个基于XML的配置文件来配置,分别是web.xml和struts-cofig.xml文件.web.xml文件是配置所有web应用的而struts-config.xml文件是struts专用的配置文件,事实上也是可以根据需要给这个配置文件起其他名称...

    Struts配置文件详细讲解

    Struts应用采用两个基于XML的配置文件来配置,分别是web.xml和struts-cofig.xml文件.web.xml文件是配置所有web应用的而struts-config.xml文件是struts专用的配置文件,事实上也是可以根据需要给这个配置文件起其他名称...

    struts 配置

    详细讲解struts的配置文件web.xml,和struts-config.xml

    struts的课件,及详细讲解

    struts-config.xml是Struts的主要配置文件,在该文件中,可以配置数据源、form-bean、action和plug-in(插件)和资源文件的信息。其文件主要结构如下所示: ...

    structs程序设计从入门到精通word文档

    3.3Struts-config.xml配置文件讲解 3.4struts中文问题","struts国际化问题"??终极解决方案 9 3.5为 Web 服务构建 Struts 应用程序 9 3.6Struts标记库是如何工作的 9 3.7Struts 9 3.8struts简单例子的分析(含代码...

    北京大部分公司的ssh面试题

    用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的Validate()验证后选择将请求...

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

    史上最强图解SSH集成中的配置文件

    对于刚刚接触ssh这3个框架集成的初学者来说,一定被其中的配置文件搞得一头雾水。作者结合教学过程中经验,用图例讲解。旨在使读者一目了然了解之间调用关系。彻底揭开SSH神秘面纱。

    webx3框架指南PDF教程附学习Demo

    该文档为官方webx框架文档,对webx进行了全面的讲解,非常实用,并附学习的Demo 为什么要用Webx而不是其它的开源框架? 现在有很多Java的Web框架可供选择,并且它们也都是免费的。例如: • Struts • Webwork • ...

    好用的代码生成源码

    配置文件必须存放在classpath: generator_config/table/table_name.xml (该文件生成器可以生成,自己再自定义修改) &lt;!-- 数据库表名" className="类名称" tableAlias="表的别名"&gt; 数据库列名" columnAlias="列...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签...

    李兴华Java Web开发实战经典(高清版) Part2

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签...

    spring web flow demo

    图 2 所示流程用 Spring Web Flow 2.0 的配置文件表示如下: 清单 1 用 Spring Web Flow 语义表达购物车流程 …… &lt;view-state id="viewCart"&gt; &lt;/view-state&gt; &lt;view-state id="viewOrder"&gt; &lt;/view-state&gt; &lt;view-...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签库...

    java web 视频、电子书、源码(李兴华老师出版)

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签库...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签库...

    李兴华 Java Web 开发实战经典 高清扫描版Part3

    15.2、配置Struts开发环境 15.3、开发第一个Struts程序 15.4、Struts工作原理 15.5、深入Struts应用 15.6、本章摘要 15.7、开发实战讲解(基于Oracle数据库) 第16章 Struts常用标签库 16.1、Struts标签库...

Global site tag (gtag.js) - Google Analytics