`
newleague
  • 浏览: 1505036 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Struts2使用之web.xml 、struts.xml 配置

阅读更多

配置web.xml,配置Struts2的过滤器,例如:

<filter>  
  
    <filter-name>struts2</filter-name>  
  
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>  
  
</filter>  
  
<filter-mapping>  
  
    <filter-name>struts2</filter-name>  
  
    <url-pattern>/*</url-pattern>  
  
</filter-mapping>  
  
 

Struts.xml 主配置文件:

  在web应用程序中我们都是使用部署描述符来初始化一些资源如servlet、过滤器、监听器等等,这个部署描述符就是那广为人知的web.xml了。同样的,框架也使用一个配置文件来初始化它自己的资源,这些资源主要包括:
1.拦截器(Interceptor):对请求进行预处理和后加工;
2.Action Classes:负责调用商业逻辑和数据访问层;
3.Results:负责返回视图(view),如JSP页面等等;

Bean标签配置


Struts2是个可以扩展的框架,框架的核心组件都是可以配置的,这些组件可以通过Struts2自身的依赖注入容器来装配。开发时可以自己编写组件来扩展框架功能,然后通过bean元素来配置组件。
    在Struts-default.xml文件定义了struts2框架中可配置的组件。

bean元素属性:

属性名称
 是否必须
 描述信息
 
class
 是
 bean的类名
 
type
 否
 bean实现的主要接口
 
name
 否
 bean的名字,在具有相同Type属性的bean中,该名字必须唯一
 
scope
 否
 bean的作用域,是default,singleton,request,session,thread中的一个
 
static
 否
 是否注入静态方法,如果指定了type,static就不能为true
 
optional
 否
 Bean是否可选
 


 package标签配置:

<package … />标签是用来把那些需要共享的通用信息——例如拦截器堆栈或URL命名空间——的配置组织在一起的。它通常由Action的配置组成,但也可以包括任何类型的配置信息。它还可以用来组织管理各自独立的功能——它们也可以被进一步拆分到不同的配置文件中。

Struts2中的包类似于java中的包,提供了将action、result、拦截器和拦截器栈组织成一个逻辑单元的一种方式,从而为你简化了维护工作,提高了重用性。
在struts.xml文件中,与web应用相关的设置都在包中定义,每一个包中都包含了将要用到的action、result、拦截器和拦截器栈。

属性名
 是否必须
 描述信息
 
name
 是
 package的唯一标识,不允许同名
 
extends
 否
 当前这个Package所继承的Package的名字,被继承的Package中所有的配置信息(包括Action的配置)都可以在新的命名空间下,新的Package里面被使用。
 
namespace
 否
 命名空间提供了从URL到Package的映射。也就是说,如果两个不同的Package,其命名空间分别为“package1”和“package2”,那么URL差不多就是“/myWebApp/package1/my.action” 和

“/myWebApp/package2/my.action”这样的形式。
 
abstract
 否
 声明包为抽象的,如果这个属性的值为“true”,那么这个Package就只是一个配置信息的组合,也就无法通过Package的名字来访问其中配置的Action。
 


Include标签配置:

<include … /> 是<struts>标签的一个子标签,它可以把其他配置文件导入进来,从而实现Struts2的模块化。它的“file”属性定义了要导入的文件的名称——该文件要和“struts.xml”一样有着相同的结构。在大型项目开发中,可以将项目分解为多个小模块,每个模块独立开发和管理。我们可以为每个模块提供一个配置文件,然后对其进行配置,然后在struts.xml中使用include元素包含这些配置文件。例如:

<include file="struts-chat.xml" />  
  
<include file="struts-hangman.xml" />  
  
<include file="struts-continuations.xml"/>  
  
<include file="struts-tags.xml"/>  
  
<include file="struts-validation.xml" />  
当我们导入文件时,一定要注意导入的顺序。因为从文件被导入的那个点开始,该文件中的信息才能被访问到,也就是说,如果要使用另外一个文件中所定义的标签,那么该文件就必须要在被引用之前就配置好。


Bean的两种配置方法

1)        框架的IoC容器创建bean的实例,然后将该实例注入到框架的内部对象中。第一种做法可以称为对象注入,它通常要用到bean的type属性,告诉容器这个对象实现了哪个接口,如果自己创建了ObjectFactory,则可以在struts-default.xml中作如下配置:

<struts>  
  
    <bean type="com.opensymphony.xwork2.ObjectFactory"    
  
    name="struts" class="org.apache.struts2.impl.StrutsObjectFactory" />  
  
</struts>  
2)        通过bean的静态方法向bean注入值第二种做法使用值注入,允许不创建bean,而让bean接受框架的常量。Bean使用值注入,必须使用static属性,并将该属性设置为true。例如:struts-default.xml文件中可以作如下配置:

<bean class=“com.opensymphony.xwork2.ObjectFactory” static=“true”/>  

constant标签

我们可以通过定义一些能够改变框架和插件行为的关键设置来定制我们struts应用程序,而这些设置就是常量。常量扮演了两个关键的角色:首先它们被用来覆盖一些原有的默认设置,例如上传文件的最大容量、框架是否处于开发模式等等;其次,常量还用来指定在一个类型(type)的多个实现中,哪个bean应该被选中。

常量可以定义在多个文件中,默认情况下我们按照下面的顺序来寻找常量,后面的将覆盖前面的设置:

struts-default.xml

struts-plugin.xml

struts.xml

struts.properties

web.xml

前3个xml文件的格式是一样的,因为它们使用同一个DTD文件,在xml文件中Constant元素有两个必须的属性:name和value;在struts.properties文件中,每一个entry都被视为一个常量;在web.xml文件中FilterDispatcher的初始化参数被载入为常量。

下面分别给出3中常量形式的例子。

struts.xml文件中常量

<struts>     
  
     <constant name="struts.devMode" value="true" />  
  
</struts>  
struts.properties文件中常量

struts.devMode = true  
web.xml文件中常量

<filter>  
  
    <filter-name>struts</filter-name>        
  
   <filter-class>  
  
        org.apache.struts2.dispatcher.FilterDispatcher   
  
  </filter-class>  
  
    <init-param>  
  
           <param-name>struts.devMode</param-name>  
  
           <param-value>true</param-value>  
  
    </init-param>  
  
</filter>

分享到:
评论

相关推荐

    struts.xml和applicationContext.xml、web.xml的配置

    总结来说,`struts.xml` 负责Struts2的Action配置,`applicationContext.xml` 管理Spring的Bean和依赖,而`web.xml` 定义了Web应用的基本结构和组件。这三个文件共同协作,构建了一个功能完善的Java Web应用,实现了...

    spring在web.xml中和在struts中的不同配置..pdf

    在本文中,我们将探讨Spring在`web.xml`中的配置与在Struts中的配置差异,以及这两种配置方式背后的基本原理。 首先,Spring的核心是ApplicationContext,它是一个管理Bean的容器,可以看作是应用程序的上下文环境...

    struts1中web.xml配置详解

    struts1 中 web.xml 配置详解 struts1 框架是一种基于 Java 语言的 Web 应用程序开发框架,它提供了一个灵活的、...本文详细解释了 web.xml 文件中的配置项和相关知识点,以便于开发者更好地理解和使用 Struts 框架。

    flex4,struts2.3兼容配置web.xml

    flex4,struts2.3兼容配置web.xml

    flex4,struts2.3兼容配置web.xml中的filter

    flex4,struts2.3兼容配置web.xml中的filter

    struts2.5 web.xml配置

    `web.xml`是Java Web应用的核心配置文件之一,用于定义应用程序级别的配置信息,如过滤器、监听器、欢迎页面列表等。下面将详细介绍Struts2.5中的`web.xml`配置要点。 ### Struts2.5 Web.xml配置概述 #### 1. **...

    Struts2.5版本struts.xml与web.xml配置的更改方法

    在Struts2框架中,配置文件`struts.xml`和`web.xml`是核心部分,它们定义了应用程序的行为和路由规则。随着版本的更新,配置方式也会有所改变。以下是Struts2.5版本中`struts.xml`和`web.xml`配置的更改方法: **1....

    struts2的web.xml配置文件

    以前和struts2一起使用的配置文件,struts2的核心控制器

    Struts2手动搭建所有的jar包及相应的struts.xml和web.xml

    本教程将详细讲解如何手动搭建一个完整的Struts2环境,包括引入所有必要的jar包以及配置struts.xml和web.xml文件。 首先,我们需要准备Struts2的核心库。Struts2框架依赖于一系列的jar包,这些包包含了从控制器到...

    struts.xml文件详解.doc

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

    在web.xml中配置action或.do

    ### 在web.xml中配置action或.do的理解与实践 #### 一、引言 在Web开发领域,特别是基于Java的Web应用程序开发中,`web.xml`文件扮演着至关重要的角色。它不仅定义了Web应用的基本配置,还管理着诸如Servlet、过滤...

    struts-config.xml struts标准配置文件 struts-config

    struts-config.xml struts标准配置文件 struts-config

    sruts2.0 web.xml 配置文件

    `web.xml`配置文件在Struts2中扮演着至关重要的角色,它是整个应用的部署描述符,定义了应用程序的入口点、过滤器、Servlet以及其他Web组件的配置信息。在这里,我们将深入探讨`web.xml`配置文件在Struts2中的应用...

    struts2属性文件struts.xml的配置

    通过以上分析可以看出,`struts.xml`文件是Struts2项目的核心配置文件之一,它不仅定义了项目的全局配置,还具体指定了每个Action的行为和返回结果,是Struts2框架中不可或缺的一部分。开发者可以根据实际需求调整...

    struts.xml和struts.properties配置详解

    综上所述,`struts.xml`和`struts.properties`是Struts 2框架的两个重要配置文件,它们共同决定了应用程序的行为和运行时的属性。理解并熟练配置这两个文件对于开发和维护Struts 2应用至关重要。在实际开发中,应...

    Struts框架中struts-config.xml文件配置小结

    ### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...

    javaweb项目中web.xml的作用

    2. servlet:用于配置servlet,例如struts1的ActionServlet是struts1的核心。 3. servlet-mapping:用于配置servlet的映射关系,例如将ActionServlet映射到*.do。 web.xml文件不是一个Web的必要文件,没有web.xml...

    struts-config.xml

    Struts 是一个基于 Model-View-Controller (MVC) 设计模式的Java Web框架,它使得开发者能够更方便地构建动态、数据驱动的Web应用程序。`struts-config.xml`是Struts框架的核心配置文件,它定义了应用的各个组件及其...

    struts、applicationContext配置文件移动后web.xml配置示例

    使用myeclipse8.5搭建SSH后,将struts.xml和applicationContext.xml移动到别的地方,示例中为webroot下的config文件夹中,web.xml中需要做的修改示例。其中对于返回上一层方式不同的myeclipse可能不同,如有的用../...

Global site tag (gtag.js) - Google Analytics