`
啸笑天
  • 浏览: 3466032 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

Struts的配置详解

阅读更多

在 Struts 的应用开发中,主要涉及到两个配置文件,即 web.xml 和 Struts-config.xml   其中 web.xml 是所有 Java Web 应用所需要的,而后者是 Struts 应用所专有的.

      在采用 MyEclipse 开发Struts 应用时,这些配置文件一般可以由 MyEcplise 自动配置和管理,在某些特殊情况下只需稍微进行一下调整即可

      在web.xml中 和 Struts-config.xml有关的配置项主要有:配置中央控制器 ActionServlet 及其初始化参数--配置欢迎文件清单--配置错误处理--配置Struts标签库

      在Struts-config.xml 中主要配置以下项目: 配置数据源--配置ActionForm Bean--配置异常处理--配置全局转发关系--配置Action映射--配置消息资源

详细的配置示例如下:  web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"

                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"                                             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  

                                  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>action</servlet-name>         //配置一个 servlet 名为action,类为org.apache.struts.action.ActionServlet
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>     //配置 servlet的初始参数config参数用来设置struts-config.xml的路径 
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>     //调试的详细级别,0(off),1(最不严格)直到6(最严格) 大多数Struts组件设置为级别 0 至 3
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>      //应用配置文件的Digester 的调试详细级别,级别设置情况类似 debug 参数
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>     //设置该 servlet 在web应用启动时.被加载的次序,数值越小就越先加载,若为负或没有设置,就在首次访问时再加载
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>//配置一个servlet 映射, *.do 表明 ActionServlet 只负责处理所有以 .do 结尾的 url,可以更改,但推荐默认
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>//配置欢迎文件清单,当访问Web应用的根 url 时,将按此设置依次寻找,找到后将被自动执行.
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

<jsp-config>            //设置jsp的配置信息

<taglib>

<taglib-uri>/strust-html</taglib> //配置Struts-html 标签库

<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>/struts-bean</taglib> //配置Struts-bean标签库

<taglib-location>/WEB-INF/tld/struts-bean.tld<taglib-cation>

</taglib>

<taglib>

<taglib-uri>/struts-logic</taglib>  //配置Struts-logic标签库

<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>

</taglib>

</jsp-config>

<error-page>

<error-code>404</error-code>          //当容器波捕获到HTTP404错误时,用此页面来代替原始的404错误信息呈现给用户

<location>/error/404.htm</location>    起到包装信息的作用

</error-page>

<error-page>

<error-code>500</error-code>

<location>/error/500.htm</location>

<error-page>

<exception-type>exception-type</exception-type>  //当容器捕获到 exception-type 所指定的异常是,用此页面代替原始<loaction>/error/error.htm</location>                         异常信息呈现给用户

</error-page>

</web-app>

 

 

 

Struts-config 的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//
DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds
/struts-config_1_3.dtd">


<struts-config>
<data-sources>
 <data-source type="org.apache.commons.dbcp.basicDataSource">
  <set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
  <set-property property="url" value="jdbc:mysql://localhost:3306/member?characterEncoding=gb2312"/>
  <set-property property="username" value="root" />
  <set-property property="password" value="root" />
  <set-property property="minActive" value="2" />
  <set-property property="maxActive" value="20" />
  <set-property property="defaultAutoCommit" value="true" />
 </data-source>
</data-sources>
<!-- ==========<data-sources>和<data-source>的配置说明======================================= -->

在<data-sources>中可以设置多个<data-source>,<data-source>用来配置一个数据源,<data-source>的type属性用来指定一个数据
源的实现类,如 jakartar 的开源项目 DBCP: org.apache.commons.dbcp.BasicDataSource
在该标签体内通过<set-Property>标签来配置数据源的各种属性,各个属性作用说明如下:
 DriverClassName:该数据源所用到的JDBC驱动    url:连接数据库所用的 url      username:连接数据库用的账号  password:连接数据库用的密码
minActive:数据源的最小连接数  maxActve:数据源的最大连接数       defaultAutoCommit:是否自动提交

<!--============================================================================= -->

  <form-beans >
    <form-bean name="userLoginForm" type="struts.form.UserLoginForm" />
    <form-bean name="accountForm" type="org.apache.struts.action.DynaActionForm" />
     <form-property name="name" type="java.lang.String" />
     <form-property name="age" type="java.lang.Integer" />
     <form-property name="phone" type="java.lang.String" />
     <form-property name="address" type="java.lang.String" />     
  </form-beans>
  
  <!-- =========================<form-beans> 和 <form-bean>的配置说明====================== -->
  在<form-beans>中可以设置多个<form-bean>,<form-bean>用来设置ActionForm Bean ..<form-bean>有两个属性
  name:为当前一个 ActionForm Bean 指定一个供访问的名字          type:指定当前 ActionForm Bean 的完整类名
  如果要配置动态 ActionForm 的话 ,可使用<form-property>来设置表单的属性,<form-property>有三个属性
  name:表单属性的名称     type:表单属性的值的类型       initial:该属性的初始值
  
  <!-- ============================================================================ -->

  <global-exceptions >
   <exception key="global.error.SQLError"
         path="/errorPages/sql.jsp"
         scope="request"
         type="java.sql.SQLException" />
  </global-exceptions>
  
  <!-- ==================配置异常处理==================================================== -->
  用于配置 java异常与异常处理类之间的映射,其属性说明如下:
  key:消息资源文件中定义的消息key        path:异常发生时的转发路径
  scope:指定ActionMessage 实例存放的范围,默认为request,也可以选session
  type:所需处理的异常类名
  
  <!-- =========================================================================== -->
  <global-forwards />
  <action-mappings >
    <action
      attribute="userLoginForm"
      input="/form/userLogin.jsp"
      name="userLoginForm"
      path="/userLogin"
      scope="request"
      type="com.yourcompany.struts.action.UserLoginAction"
      cancellable="true" >
 <forwards name="success" path="/index.jsp" />
 </action>
  </action-mappings>
   <!-- ==============<action-mappings>和<action>的配置说明================================ -->
 <action-mappings>用来设置多个<action>,<action>用于配置一个Action,在<action>中可使用<forward>来  为该Action
 设置一个请求转发  <action>的属性说明如下:
 attribute:设置与当前 Action 相关联的 ActionForm Bean在指定范围内的名称   
 input:  指定包含输入表单的URL路径,表单验证失败时,请求会被转发到该URL中
 name:  指定一个在 <form-beans>中定义过的与该 Action 关联的名字
 path:  指定访问Action的路径,以 "/"开头,没有扩展名
 scope:指定ActionForm Bean 的存在范围,可以选request 和 session,默认为 session
 type:  指定Action 类的完整类名
 validate:指定是否要先调用 ActionForm Bean 的 validate() 方法,默认为 true  
  <!-- ===================================================================== -->
  <controller contentType="text/html;charset=UTF-8"
       locale="true"
       processorClass="CustomRequestProcessor"/>  
  
  <!-- =============<controller>的配置说明========================================= -->
  用于配置 ActionServlet  其属性说明如下:
  bufferSize: 指定上传文件的输入缓冲的大小,默认为4096
  className:指定当前控制器的配置类,默认为 org.apache.struts.config.ControllerConfig
  contentType:指定相应结果的内容类型和字符编码
  locale: 指定是否把 locale 对象保存到当前用户的 session 中,默认为 false
  proccessorClass:指定负责处理请求的java类的完整类名 默认为 org.apache.struts.requestProccessor
  temDir:指定文件上传时的临时工作目录,如果没有设置,将使用 Servlet容器为 Web 应用分配的临时工作目录
  nochache: 为true时,在相应结果中加入特定的头参数 Pragma Cache-Control ..Expires 防止页面被存储在浏览器的缓存中
                                默认为false
  
  <!-- ===================================================================== -->
 

  <message-resources parameter="com.yourcompany.struts.ApplicationResources" /> 
   <!-- 为 struts 框架设置一个消息资源绑定 -->
   
   <plug-in
   className="org.apache.struts.validator.ValidatorPlugIn">
   <set-property property="pathnames"
        value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml" />
   </plug-in>
   <!-- 用于配置Struts插件,通过className属性指定插件的类名 下面的可以设置属性,其说明如下:
        Propertiy :插件的属性名称         value:该名称所配置的值 -->
</struts-config>

 

分享到:
评论

相关推荐

    Struts配置详解.doc

    **struts-config.xml配置文件详解:** `struts-config.xml`是Struts框架专用的配置文件,它主要定义了Action、Form Bean、ActionMapping、DataSources等。以下是其中的一些关键元素: 1. ****:用于定义表单Bean,...

    struts配置详解

    struts配置相关内容,大家可以参考参考。不错的文章。

    Struts2配置详解

    ### Struts2配置详解 #### 一、总览 在深入了解Struts2的配置细节之前,我们先来简要概述一下Struts2框架的核心特点及其配置文件的基本结构。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...

    Struts2 配置详解

    Struts2 配置详解 Struts2 配置稍微麻烦了一点点

    struts2 result配置详解

    Struts2 Result 配置详解 Struts2 框架中 Result 配置是一种非常重要的配置,它直接影响着应用程序的执行结果。Result 配置通常用于定义 Action 的执行结果,例如将结果.redirect 到一个新的 URL,或者将结果....

    JSP Struts配置文件详解

    #### 二、配置详解 ##### 1. `&lt;controller&gt;` 元素 在Struts配置文件中,`&lt;controller&gt;`元素用于配置ActionServlet,它是Struts框架的核心组件之一,负责接收客户端请求,并根据配置转发给相应的Action。具体属性...

    Struts配置文件详解

    ### Struts配置文件详解 #### 一、Struts配置文件的重要性与作用 Struts框架作为SSH(Struts+Spring+Hibernate)三大框架之一,在企业级Web应用开发中扮演着核心角色。Struts配置文件是Struts框架的灵魂所在,它...

    Struts1配置详解

    在深入探讨Struts1配置详解之前,我们先对Struts框架有一个基本的了解。Struts是Apache软件基金会下的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,主要用于简化Web应用程序...

    Struts配置文件详解.

    Struts配置文件是Struts框架的核心组成部分,它定义了应用程序的行为和组件间的交互方式。配置文件基于XML格式,使得开发者可以灵活地配置ActionForm、Action、Forward等元素,以实现业务逻辑与视图的分离,增强应用...

    struts核心配置文件详解

    Struts应用的配置 多应用模块的配置 Struts配置文件 多应用模块的划分有助于应用的并行开发,提高效率

    struts.properties配置详解

    ### Struts2中struts.properties配置详解 #### 概述 在Struts2框架中,除了大家熟知的`struts.xml`配置文件之外,还有一个重要的配置文件——`struts.properties`。该文件主要用来存储一些Struts2的核心配置属性,...

    Struts配置文件详解.pdf

    ### Struts配置文件详解 #### 一、Struts配置文件的重要性与作用 Struts框架作为Java Web开发领域中的一种流行MVC(Model-View-Controller)框架,它提供了一种结构化的方式来构建Web应用程序。在Struts框架中,`...

Global site tag (gtag.js) - Google Analytics