`
flylynne
  • 浏览: 373631 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2的配置文件——web.xml的解析

 
阅读更多

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

所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载Struts2框架。
因为Struts2将核心控制器设计成Filter,而不是一个普通Servlet。故为了让Web应用加载FilterDispatcher,只需要在web.xml文件中配置FilterDispatcher即可。
标准配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>Struts Blank</display-name>

    <filter>
    <!-- 配置Struts2核心Filter的名字 -->
        <filter-name>struts2</filter-name>
        <!-- 配置Struts2核心Filter的实现类 -->
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
          <init-param>
          <!-- 配置Struts2框架默认加载的Action包结构,可以没有。 -->
          <param-name>actionPackages</param-name>
          <param-value>org.apache.struts2.showcase.person</param-value>
          </init-param>
          <!-- 配置Struts2框架的配置提供者类 -->
          <init-param>
          <param-name>configProviders</param-name>
          <param-value>lee.MyConfigurationProvider</param-value>
          </init-param>
    </filter>
<!-- 配置Filter拦截的URL -->
    <filter-mapping>
    <!-- 配置Struts2的核心FilterDispatcher拦截所有用户请求 -->
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>
*如上,当配置Struts2的FilterDispatcher类时,可以指定一系列的初始化参数,为该Filter配置初始化参数时,其中有3个初始化参数有特殊意义:
config:使用逗号隔开的字符串,每个字符串都是一个XML配置文件的位置。Struts框架将自动加载该属性指定的系列配置文件。
actionPackages:使用逗号隔开的字符串,每个字符串都是一个包空间,Struts2框架将扫描这些包空间下的Action。
configProviders:配置自己的ConfigurationProvider类。
还可以在此处配置Struts2常量,每个<init-param>元素配置一个Struts2常量,其中<param-name>子元素指定了常量name,而<param-value>子元素指定了常量value。
*在web.xml中配置了<Filter>元素,还需要配置该Filter拦截的URL。通常,我们让该Filter拦截所有的用户请求。可以能过<filter-mapping>元素配置。

分享到:
评论

相关推荐

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理

    - Struts2的配置文件(struts.xml):用于定义Action的映射、拦截器栈以及其它框架行为。 - 拦截器栈(Interceptor Stack):一组预定义的拦截器,允许开发者以声明的方式配置请求处理流程。 - 过滤器(Filter):...

    Struts2+技术内幕——深入解析Struts2架构设计与实现原理

    总之,《Struts2技术内幕——深入解析Struts2架构设计与实现原理》配合《struts2基础.chm》,将帮助读者全面掌握Struts2的架构设计、核心组件、配置方式、插件使用以及源码解读,对于想要在Java Web领域深入发展的...

    spring-mybatis-struts2-master ——demo

    在"spring-mybatis-struts2-master"项目中,可以看到Spring的配置文件(如:applicationContext.xml),其中定义了Bean的实例化规则,包括数据库连接池、SqlSessionFactory等关键组件。 二、MyBatis框架 MyBatis是...

    Struts2自学笔记——Struts2的文件上传

    在Struts2中,要启用文件上传,首先需要在`struts.xml`配置文件中添加`struts.multipart.parser`属性,通常设置为`jakarta`或`common`。`jakarta`是基于Apache Commons FileUpload库,而`common`则是Struts1时代的...

    JSP实例开发源码——图书管理系统(struts+hibernate+spring).zip

    1. **Web-INF**:存放web应用的配置文件,如web.xml(定义web应用的初始化参数和Servlet)、struts-config.xml、spring配置文件等。 2. **jsp**目录:存放用户界面的JSP页面,如登录页面、图书列表页面、操作反馈...

    JSP源码——博客系统(struts+hibernate+spring).zip

    2. conf:配置文件目录,如struts-config.xml、hibernate.cfg.xml和spring配置文件。 3. webapp:Web应用目录,包括WEB-INF下的web.xml(Web应用配置),JSP页面,以及可能的静态资源(图片、CSS、JavaScript等)。 ...

    精通struts.基于MVC的.java.web设计与开发.zip

    3. **配置文件**:在Struts应用中,struts-config.xml是核心配置文件,它定义了ActionMapping、ActionForm和Action的配置。另外,web.xml文件也需配置以指定ActionServlet。 4. **Action类**:Action类是处理业务...

    struts2的jar包.zip

    1. **配置文件**:Struts2的配置主要分为两部分——`struts.xml`和`web.xml`。`struts.xml`是Struts2的核心配置文件,定义了Action、结果类型、拦截器栈等。在这里,你需要为每个Action指定一个唯一的namespace和...

    内容管理系统(hibernate3+struts2+spring2).zip

    1. **源代码**:包括使用Hibernate3、Struts2和Spring2编写的Java类,以及相应的配置文件。 2. **数据库脚本**:创建数据库和表的SQL脚本,可能还有初始化数据。 3. **Web资源**:如JSP页面、CSS样式表、JavaScript...

    Struts2的拦截器——Struts2拦截器的基础知识.pptx

    - 在Struts2中,拦截器的使用通过配置文件`struts.xml`进行。你可以添加、删除或调整拦截器的执行顺序,只需在配置文件中指定即可。这种可插拔式设计使得开发者可以根据需求自由定制拦截器链。 4. **内置拦截器**...

    JSP源码——[信息办公]Struts图书馆管理系统_struts.zip

    **三、Struts配置文件struts-config.xml** 该文件是Struts框架的核心配置,包含Action、ActionForm、ActionMapping等的定义。例如: ```xml &lt;action path="/book/search" type="com.library.SearchBookAction" ...

    Struts in Action 中文修正版.pdf

    - **XML 文件**:Struts 使用多种 XML 文件进行配置,主要包括 `web.xml`、`struts-config.xml` 和其他自定义配置文件。 - **web.xml**:部署描述符,定义了 Servlet 和过滤器的初始化参数。 - **struts-config....

    struts.properties配置详解

    在Struts2框架中,除了大家熟知的`struts.xml`配置文件之外,还有一个重要的配置文件——`struts.properties`。该文件主要用来存储一些Struts2的核心配置属性,通过键值对的方式设置框架的行为模式、国际化设置以及...

    J2EE项目实训——Struts框架技术.rar

    3. **配置文件**:`struts-config.xml`是Struts的核心配置文件,用于定义Action的映射、数据源、结果页面等。在这个文件中,你可以指定URL请求如何映射到Action类,以及Action执行后如何跳转到特定的JSP页面。 4. *...

    JSP实例开发源码——会员管理系统(struts+hibernate+spring).zip

    1. **配置文件**:如struts-config.xml、hibernate.cfg.xml、spring-context.xml,分别用于配置Struts、Hibernate和Spring。 2. **模型类(Model)**:代表数据库中的表,如Member.java,对应会员表。 3. **DAO...

    JAVA 开发内容管理系统(hibernate3+struts2+spring2).zip

    《JAVA开发内容管理系统:Hibernate3+Struts2+Spring2深度解析》 在软件开发领域,Java语言以其跨平台、面向对象的特性深受广大开发者喜爱。尤其在企业级应用开发中,Java框架的组合使用能极大地提高开发效率,降低...

    myeclipse+struts实例——2

    6. **Struts配置**:struts-config.xml文件配置了Action类、ActionForm以及Action的映射关系。开发者需要在这里定义每个请求应调用哪个Action,以及ActionForm如何绑定表单数据。 7. **开发流程**:创建MyEclipse...

Global site tag (gtag.js) - Google Analytics