提示:只有掌握了配置文件的用法,才能更好的使用和扩展Struts2框架的功能;
主要配置文件表:
文件 是否可选 位置(相对于WEBAPP) 用途
web.xml 否 /web-inf/ Web部署描述,包括所有的框架组建。
struts.xml 是 /web-inf/class 主要配置文件,包含result映射、action映射/拦截器配置等;
struts.properties 是 /web-inf/classes/ Struts2框架的属性配置;
struts-default.xml 是 默认配置
struts-plugin.xml 是 /web-inf/struts2-xx-plugin.jar Struts2框架的插件所用的配置文件
解释:
web.xml :是所有的javaWeb 应用程序都需要的核心配置文件;
Struts2 的核心控制器是通过一个过滤器完成的;
核心控制器:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
struts.properties 属性定义文件,该文件定义了Struts2框架中的大量属性值、常量; 该文件是一个标准的Key-Value格式的文本文件
struts-deafault.xml : 是Struts2的基础配置文件,并为框架提供默认的设置,位置:Struts2-core-2.1.8.jar,自动加载
<package name="struts2" namespace="/cho2" extends="struts-default">
struts-default 这个包就是struts-default.xml中定义的
struts.xml :是框架的核心配置文件,主要用于配置和管理开发人员编写的action;;
struts-plugin.xml : 插件配置文件
3.2: Struts 的配置详解
3.2.1:常量配置
通过常量配置,可以改变Struts2框架和插件的行为,从而满足不同web应用的需要;
案例:以struts.devMode属性设置为例,设置常量:
struts.xml 中:<constant name="struts.devMode" value="true"/>
struts.properties 中:struts.devMode = true
web.xml文件中:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!-- 配置常量 在web.xml中进行配置 -->
<init-param>
<param-name>struts.devMode</param-name>
<param-value>true</param-value>
</init-param>
</filter>
3.2.2 :包的配置
Struts2使用包来管理action 拦截器等核心组件;包{对个action 、多个拦截器、多个拦截器引用}
Struts2中的包类似与Java中的类;
属性介绍:
<package name="" extends="" namespace=""></package>
name:必填属性,该属性指定包的名称,其他包继承时使用属性;
extends:可选属性,该属性指定该包继承其他包,同时继承其他包中的Action 、拦截器等配置;
namespace : 可选属性,该属性定义该包的命名空间,指定用户请求的URL 目录路径;
abstact : 可选属性,该属性为TRUT时说明该包是抽象包,不能定义 Action属性,默认False;
3.2.3 :命名空间配置
Struts2 框架使用action的名称和它所在的名称空间来标示一个action , 不同的空间可以使用同名的action , 提高了系统的灵活性
默认命名空间用 "" 表示
namespace="/" 根命名空间
3.2.4:包含配置
项目被分成多个小模块,对每个模块单独的提供一个配置文件,然后可以在struts.xml 中使用include 元素来包含其它配置文件
include元素只有一个file属性,指定被包含文件的文件名;
<struts>
<include file="struts-chat.xml"/>
<include file="struts-2.xml"/>
..............
</struts>
3.2.5 ;配置Action
action 映射是框架中的基本“工作单元”;action映射就是将一个请求URL 映射到一个action类
action的属性解释:
<action name="" class="" method ="" converter=""></action>
name:action 的名称,用于匹配请求的URL
class:action实现类的完成类名
method:执行action时调用的方法
converter:应用与action的类型转换器的完整类名
情况1:
<action name="helloword">
<result name="></result>
</action>
class method 两个属性默认了那么:class 属性默认指定:com.opensymphony.xword2.ActionSupport类
method 默认指定 execute() 这个方法;
示例:
<!-- 请求/add , 调用action中的add()方法 -->
<action name="add" class="com.struts.action.NewsAction" method="add">
<result name="success">/success.jsp</result>
</action>
3.2.6 :动态方法的调用DMI --Dynamic Method Invocation
无需配置可以动态的调用非execute的方法; 直接的请求/add!add.action 就可以调用add() 这个方法
http://localhost:8080/StrutsNotes/edit!edit.action
actionName!methodName.action
<!-- 请求/add , 调用action中的add()方法 -->
<action name="add" class="com.struts.action.NewsAction">
<result name="success">/success.jsp</result>
</action>
开启或禁用:DMI
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
3.2.7 :通配符的映射
作用:使用通配符可以减少action配置的数量,使用一些具有类似行文的Action 或者 Action 的方法可以使用通用的样式配置;
通配符:*
<action name="*news" class="" method="{1}">
</action>
释义:允许这个映射匹配所有以news结尾的URL,如:/addNews/updateNews
{1} :占位符,它将被通配符所匹配的值替换
addNews--*匹配的是add ; 那么 {1} ,将被add替换,则调用add() 方法
{N} -- N==1-9 ,匹配对应的通配符*
{0} --- 匹配整个URL ,例如:
<action name="*_* " class="com.svse.action.{1}Action" method="{2}">
<result name="success">/{0}.jsp</result>
</action>
当我们访问:/News_update时, {1}==News {2}==update {0}==News.update
注:如果通配符放在后面则用_符号隔开;
如果在action映射中使用了通配符,那么映射即那个按照他们出现在框架文件中的顺序来匹配请求;
3.2.8 ;配置result
在Struts2框架中,一个result代表一种视图组件;
组成:result映射 result类型
结果映射:
属性介绍:name 指定result的逻辑名
type 指定result 的类型,不同类型的result 代表了不同类型的结果输出
省略name属性,默认值为success,省略type属性,默认值为dispatcher
省略param子元素,直接在result元素的内容中给出实际的资源位置;
结果类型:
redirectActoin 结果类型由两个参数;
actionName
指定重定向要访问的action 的名字,该参数是默认的;
namespace :指定action所属的命名空间,如果么有使用这个参数,那么默认的使用当前的命名空间;
案例:
<package name="t1" namespace = "/aa" extends="struts-defalut">
<action name="test1Action" class="...Test1Action">
<result type="redirectAction">
<param name="actionName">test2Action</param>
<param name="namespace">/bb</param>
</result>
</action>
</package>
<package name="t2" namespace="/bb" extends="struts-default">
<action name="test2Action" class ="org....Test2Action">
<
result >/success.jsp</result>
</action>
</package>
3.2.9:全局结果
<global-results>
<result name=>
<result name=""></result>
</global-results>
分享到:
相关推荐
首先,`struts2配置环境需要的jar包`意味着你需要确保你的开发环境中包含了运行Struts2应用程序所必需的库文件。这些jar包通常可以从Struts2的官方网站上下载,或者通过Maven或Gradle等构建工具自动管理。描述中提到...
在开始使用Struts2之前,我们需要先进行环境配置。以下将详细介绍Struts2的初始使用环境配置步骤。 首先,确保你已经安装了Java Development Kit (JDK)。JDK是开发Java应用的基础,你需要至少JDK 1.6或以上版本来...
本视频教程由传智播客提供,旨在帮助初学者理解Struts2的基础概念,并指导如何搭建Struts2的开发环境。 首先,我们要了解Struts2的核心概念。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的...
### Struts2基本运行环境配置方法 #### 一、引言 在Java Web开发领域,Struts2框架因其简洁的设计模式、丰富的插件支持以及高度的可扩展性而备受开发者青睐。本文将详细介绍如何在MyEclipse环境中配置Struts2的基本...
以上介绍了三种搭建Struts2开发环境的方法,分别是手动配置、使用MyEclipse向导以及利用Maven自动化构建。每种方法都有其适用场景,开发者可以根据自身的需求和喜好选择最适合的方式。希望本文能帮助大家顺利搭建起...
Struts2是一个非常流行的...总结起来,配置Struts2应用支持HTTPS涉及服务器SSL配置、Struts2配置、过滤器设置以及可能的拦截器实现。通过这些步骤,可以确保基于Struts2的Web应用在传输敏感数据时具有较高的安全性。
在配置Struts2时,通常会使用一个名为`struts.xml`的配置文件,该文件定义了应用程序的行为和组件。为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常...
1. Java Development Kit (JDK):Struts2运行在Java平台上,所以你需要先安装JDK并配置好`JAVA_HOME`环境变量。 2. Apache Tomcat:一个流行的Java应用服务器,用于部署和运行web应用程序。下载并解压Tomcat到你选择...
为了获取最新和最完整的Struts2开发环境,建议直接访问Struts2的官方网站下载最新的发行版,里面会包含所有必需的库和文档,以及示例项目,有助于快速上手和学习。同时,官方文档和社区论坛也是学习和解决问题的重要...
通过这个简单的"HelloWorld"例子,我们了解了Struts2开发环境的搭建过程,包括创建项目、导入库、配置`web.xml`、编写Action和结果页面等基本步骤。这只是一个起点,Struts2提供了许多高级特性,如拦截器、结果类型...
配置Struts2开发环境是开始使用该框架的第一步。本章将详细介绍如何利用Java EE应用服务器Glassfish和Java开发工具Eclipse搭建Struts2的开发环境。 首先,我们需要安装JDK,它是Java开发的基础。JDK(Java ...
在本教程中,我们将深入探讨Struts2的基础知识,包括环境配置、OGNL(Object-Graph Navigation Language)以及值栈和域的概念。 首先,让我们开始介绍如何配置Struts2环境。安装Struts2需要以下步骤: 1. **添加...
需要在 struts.xml 文件中配置 Struts2 的核心设置,例如 Struts2 的 namespace、Action 的映射等。 在 Struts2 中,还需要实现用户登录功能。实现用户登录功能需要完成以下四个步骤: 1. 编写登录界面 需要编写...
在这个环境搭建的过程中,我们主要关注如何配置和准备必要的库文件,以便运行一个基本的Struts2应用程序。 首先,我们需要理解Struts2的核心组件和工作原理。Struts2框架通过拦截器(Interceptor)机制处理HTTP请求...
- **Struts配置文件**:是Struts2的核心配置文件,通常位于`/WEB-INF/struts-config.xml`。 - 配置文件中定义了框架的主要行为,如Action映射、拦截器、结果类型等。 - 通过`struts-config.xml`文件,可以灵活地控制...
同时,创建一个对应的struts配置文件(struts.xml),定义Action的映射和结果类型: ```xml <struts> <package name="hello" namespace="/" extends="struts-default"> <result name="success">/HelloWorld.jsp...
在没有使用任何集成开发环境的情况下配置Struts2,可能会遇到各种问题,尤其是在配置过程中对于细节的把握至关重要。以下是配置过程中需要注意的一些关键点: 1. **路径与大小写敏感性**:无论是Tomcat的地址路径...
struts2环境配置详细过程,源于网上的资源,自己总结起来