`

Struts2的基本配置-web.xml

阅读更多
Struts 2的基本配置


    前面大致了解了Struts 2框架的基本内容,但这些基本内容都必须建立在Struts 2的配置文件基础之上,这些配置文件的配置信息也是Struts 2应用的核心部分。

3.5.1  配置web.xml文件

    任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载。

    通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts 2框架而言,需要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载应用的Struts 2框架。

    因为Struts 2将核心控制器设计成Filter,而不是一个普通Servlet。故为了让Web应用加载FilterDispacher,只需要在web.xml文件中配置FilterDispatcher即可。

    配置FilterDispatcher的代码片段如下:
   
    <!-- 配置Struts 2框架的核心Filter -->
    <filter>
           <!-- 配置Struts 2核心Filter的名字 -->
           <filter-name>struts</filter-name>
           <!-- 配置Struts 2核心Filter的实现类 -->
           <filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>
                        <init-param>
                                    <!-- 配置Struts 2框架默认加载的Action包结构 -->
                                    <param-name>actionPackages</param-name>
                                    <param-value>org.apache.struts2.showcase.person</param-value>
                         </init-param>
                         <!-- 配置Struts 2框架的配置提供者类 -->
                         <init-param>
                                     <param-name>configProviders </param-name>
                                     <param-value>lee.MyConfigurationProvider</param-value>
                         </init-param>
   </filter>

    
   正如上面看到的,当配置Struts 2的FilterDispatcher类时,可以指定一系列的初始化参数,为该Filter配置初始化参数时,其中有3个初始化参数有特殊意义:

        —  config:该参数的值是一个以英文逗号(,)隔开的字符串,每个字符串都是一个XML配置文件的位置。Struts 2框架将自动加载该属性指定的系列配置文件。
        —  actionPackages:该参数的值也是一个以英文逗号(,)隔开的字符串,每个字符串都是一个包空间,Struts 2框架将扫描这些包空间下的Action类。
        —  configProviders:如果用户需要实现自己的ConfigurationProvider类,用户可以提供一个或多个实现了ConfigurationProvider接口的类,然后将这些类的类名设置成该属性的值,多个类名之间以英文逗号(,)隔开。

  
   除此之外,还可在此处配置Struts 2常量,每个<init-param>元素配置一个Struts 2常量,其中<param-name>子元素指定了常量name,而<param-value>子元素指定了常量value。

   在web.xml文件中配置了该Filter,还需要配置该Filter拦截的URL。通常,我们让该Filter拦截所有的用户请求,因此使用通配符来配置该Filter拦截的URL。

   下面是配置该Filter拦截URL的配置片段:
  
     <!-- 配置Filter拦截的URL -->
    <filter-mapping>
                     <!-- 配置Struts 2的核心FilterDispatcher拦截所有用户请求 -->
                      <filter-name>struts</filter-name>
                      <url-pattern>/*</url-pattern>
    </filter-mapping>


   配置了Struts 2的核心FilterDispatcher后,基本完成了Struts 2在web.xml文件中的配置。

   如果Web应用使用了Servlet 2.3以前的规范,因为Web应用不会自动加载Struts 2框架的标签文件,因此必须在web.xml文件中配置加载Struts 2标签库。
   配置加载Struts 2标签库的配置片段如下:
 
  <!-- 手动配置Struts 2的标签库 -->
   <taglib>
            <!-- 配置Struts 2标签库的URI -->
            <taglib-uri>/s</taglib-uri>
            <!-- 指定Struts 2标签库定义文件的位置 -->
            <taglib-location>/WEB-INF/struts-tags.tld</taglib-location>
   </taglib>
   
  在上面配置片段中,指定了Struts 2标签库配置文件物理位置:/WEB-INF/struts- tags.tld,因此我们必须手动复制Struts 2的标签库定义文件,将该文件放置在Web应用的WEB-INF路径下。

  如果Web应用使用Servlet 2.4以上的规范,则无需在web.xml文件中配置标签库定义,因为Servlet 2.4规范会自动加载标签库定义文件。

提示 Struts 2的标签库定义文件包含在struts2-core-2.0.6.jar文件里,在struts2-core-2.0.6.jar文件的META-INF路径下,包含了一个struts-tag.tld文件,这个文件就是Struts 2的标签库定义文件,Servlet 2.4规范会自动加载该标签库文件。

  对于Servlet 2.4以上的规范,Web应用自动加载该标签库定义文件。加载struts-tag.tld标签库定义文件时,该文件的开始部分包含如下代码片段:
 
  <taglib>
          <!-- 定义标签库的版本 -->
          <tlib-version>2.2.3</tlib-version>
          <!-- 定义标签库所需的JSP版 -->
          <jsp-version>1.2</jsp-version>
          <short-name>s</short-name>
          <!-- 定义Struts 2标签库的URI -->
          <uri>/struts-tags</uri>
          ...
  </taglib>

     因为该文件中已经定义了该标签库的URI:struts-tags,这就避免了在web.xml文件中重新定义Struts 2标签库文件的URI。
  
分享到:
评论

相关推荐

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

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

    org.springframework.web.struts-3.1.0.M2.jar

    同时,Struts的配置文件(struts-config.xml或struts2的struts.xml)也需要进行相应的调整,引入Spring的插件和配置信息。 `springframework-license.txt`文件则包含了Spring框架的许可协议,它规定了软件的使用、...

    struts-config.xml

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

    struts2-json-plugin-2.3.8.jar

    在实际开发中,为了使用这个插件,你需要将`struts2-json-plugin-2.3.8.jar`文件放入项目的类路径(classpath)下,然后在Struts2的配置文件(通常为struts.xml)中启用JSON插件。在Action类中,定义返回JSON数据的...

    Struts struts-config.xml配置

    ### Struts struts-config.xml配置详解 #### 一、引言 在Java Web开发领域,Struts框架一直是构建MVC架构应用的重要工具之一。而`struts-config.xml`配置...希望本文能帮助读者更好地掌握Struts配置文件的相关知识。

    Struts-config.xml配置详解

    Struts的配置文件通常命名为struts-config.xml,它是整个Struts应用的核心配置文件,通过定义一系列的XML元素来设定框架的不同功能和行为。下面将详细介绍struts-config.xml中8个主要配置元素的功能和使用方法。 1....

    struts2版本 2.1.6 必须的jar包 和 web.xml 文件的修改

    3. **struts2-config-browser-plugin.jar** - 用于在Web应用中浏览器查看Struts配置的插件。 4. **xwork-core.jar** - XWork框架是Struts2的基础,包含了Action、Result、Interceptor等概念的实现。 5. **ognl.jar**...

    struts2-spring-plugin-2.2.1.jar

    5. **简化配置**:通过插件,开发者不再需要在struts.xml或web.xml中显式配置Action的类名和实例,只需在Spring配置文件中定义Bean即可。 6. **提高代码可测试性**:由于Action由Spring管理,可以更容易地进行单元...

    struts-config.xml配置文件详解

    Struts-config.xml 配置文件详解 Struts-config.xml 是 Struts 框架的主要配置文件,用于配置 Struts 应用程序的...通过了解 Struts-config.xml 文件的结构和配置方式,可以更好地使用 Struts 框架开发 Web 应用程序。

    struts2-core-2.1.8.1 xwork-core-2.1.6源码

    4. **配置管理(Configuration Manager)**:Struts2的配置管理器负责读取配置文件(如struts.xml),并将配置信息加载到内存中。这部分代码主要位于`com.opensymphony.xwork2.config`包下,包括`Configuration`接口...

    Struts2的DTD配置文件struts-2.3.dtd

    1. **package**:这是Struts2配置的基本单元,可以包含多个动作(action)、拦截器(interceptor)和结果(result)。每个package都有一个namespace,用于区分不同功能或模块。 2. **action**:定义了一个用户交互...

    struts-1.3.8-all.zip

    使用Struts 1.3.8时,开发者需要配置web.xml和struts-config.xml,定义ActionServlet、Action、ActionForm等元素。此外,还需要编写ActionForm类,实现业务逻辑的Action类,以及使用JSP和Struts标签创建用户界面。 ...

    struts2-core-lib.rar

    3. `struts2-config-browser-plugin.jar`:此插件提供了一个Web界面,用于浏览和编辑Struts2的应用配置,方便开发者调试和管理配置。 4. `xwork-core.jar`:XWork是Struts2的基础,提供了许多基础的OOP(面向对象...

    struts2-json-plugin-2.1.8.1.jar

    Struts2 JSON Plugin是Apache Struts框架的一个...通过配置"struts-plugin.xml",使用自定义的TLD标签,以及利用提供的类和接口,开发者可以有效地集成JSON支持到他们的Struts2应用中,提升Web应用的动态性和交互性。

    struts-2.3.4.1-all.zip

    3. **配置管理**:Struts 2允许通过XML或注解来配置Action、结果类型、URL映射等,使得应用的配置更为灵活。 4. **表达式语言(OGNL)**:Struts 2使用OGNL(Object-Graph Navigation Language)作为默认的表示层...

    struts-2.0.dtdstruts-2.0.dtdstruts-2.0.dtd

    本文将深入探讨Struts 2.0的相关知识点,包括DTD(Document Type Definition)的作用、Struts配置文件`struts.xml`的重要性和SSH2框架的搭建过程。 首先,`struts-2.0.dtd`是Struts 2.0的文档类型定义,它是XML文件...

    Struts所有jar包、DTD文件(struts-1.2.9-bin.rar)

    2. **web-app_2_4.dtd** 或 **web-app_2_5.dtd**:定义了`web.xml`的元素和属性,这是Servlet容器用来配置Web应用程序的文件。 在使用Struts 1.2.9进行开发时,你需要将这些jar包添加到项目的类路径中,以便编译和...

    Struts-2.5.14.1 项目最小需求jar包

    为了设置Struts2环境,开发者需要在web.xml中配置Struts2的前端控制器Filter,比如`&lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt;`。然后,创建Action类、...

    struts-2.5.20-all.rar

    - 配置Web.xml以启用Struts2过滤器。 - 创建视图页面,如JSP,使用Struts2标签库。 通过深入学习和实践,开发者可以充分利用Struts2的优势,构建高效、可维护的Web应用。不过,值得注意的是,尽管Struts2在过去的几...

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

    Struts2的Spring插件会在Struts配置文件(如struts.xml)中定义一个`&lt;package&gt;`,包含`&lt;interceptors&gt;`和`&lt;default-interceptor-ref&gt;`元素,这样Struts2就会知道如何与Spring协作,将Action实例化和依赖注入交给...

Global site tag (gtag.js) - Google Analytics