在Struts2中主要有两个配置文件:web.xml和struts.xml,当新建一个web项目时,可以从Struts2的示例程序中复制一份,然后做相应的修改即可。web.xml的基本形式如下:
<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">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.mycompany.myapp.actions</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ... -->
</web-app>
其实在这里面,就定义了一个过滤器,用来过滤客户端的请求,把拦截到得请求交给Struts2的StrutsPrepareAndExecuteFilter进行相应的处理,这个以后再说。对于<filter-mapping>这个标签,定义了要拦截的请求类型,这里写为/*是指过滤所有的url请求。
Struts2中还有一个比较重要的配置文件struts.xml,它的基本内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<include file="example.xml"/>
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<action name="index">
<result type="redirectAction">
<param name="actionName">HelloWorld</param>
<param name="namespace">/example</param>
</result>
</action>
</package>
<!-- Add packages here -->
</struts>
上面这个示例文件包含了一些最基本的配置,一般我们在开发时会把struts.devMode属性改为true,即打开开发模式,这样我们对文件的修改即可随时体现在服务器上。<include>标签可以用来引入另外的配置文件,比如说一个系统有多人开发,每个人都会有自己的配置文件,项目完成之后再用这个标签把所有的配置集中起来。
接下来是Package标签,实际上就是定义了一个包,一般可用来划分相应的模块。在每个包中会定义若干个Action,可以用来进行相应的业务处理。每个Action都会有一个name属性,指定这个action的名字,class属性对应了这个action对应的具体action的实现,如果不指定class属性,默认就为ActionSupport这个类,它的method方法用来指定这个action要执行的方法,如果不指定,默认为execute()方法。每一个action执行完之后都会返回一个字符串类型的值,这就对应了每个result的name,这时就会去找相应的result,然后把结果返回回客户端。
总的来说,web.xml用来实现对客户端请求的拦截,而struts.xml实现了请求处理转发的流程。
分享到:
相关推荐
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与ValueStack、Tags以及项目中的关键实践。 **一、Action** Action是Struts2中处理业务逻辑的核心组件,它是实现了`...
1. 配置:Struts2的配置文件(struts.xml)用于定义Action、结果类型、包和拦截器链。Action的配置包括Action名称、Class映射、结果和参数等。 2. 拦截器:拦截器是Struts2的核心特性,它们在Action执行前后按顺序...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
笔记中可能详细讲解了Struts2的配置文件,如struts.xml,它是整个应用的配置中心,定义了Action的映射、结果类型、拦截器栈等。在Action配置中,我们可以指定Action类、方法以及对应的URL路径,实现请求与业务的关联...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,供用户学习和参考。 - **Docs目录**:提供官方文档,包括API文档、指南等...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
3. **配置Struts2**:在Struts2的配置文件(通常是struts.xml或struts-plugin.xml)中,添加对Groovy Action的配置。告诉Struts2如何映射请求到Groovy类。例如: ```xml ...
标签在Struts2配置文件中起到了划分和组织Action的作用,类似于Java中的包(package)。它允许我们将具有相同功能或关联的Action归类在一起,解决Action命名冲突的问题。例如,我们可以为前端和后端分别创建名为...