Struts2学习-struts.xml文件配置
学习框架过程中,一直对框架中的配置文件比较难理解,特搜集资料简要记录一下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>
<package name="basicstruts" extends="struts-default"> <action name="showProduct" class="com.how2java.action.ProductAction" method="show">
<result name="show">show.jsp</result>
</action>
<action name="addProduct" class="com.how2java.action.ProductAction" method="list">
<result name="list">list.jsp</result>
</action> </package> </struts>
1.包(package)用于管理Action,一个包中可以有多个Action。
name属性:包名,一个项目中不能有同名的包。
extends属性:开发必须继承struts-default包。
method属性:对应action类中的具体方法。
2. Action
2.1 action配置
name:action名称,用来访问action路径
class:类名
2.2 result配置
name:每个action方法都要返回一个String类型的值,这个值必须与这个name相对应。
type:跳转类型
默认为dispatcher(转发),将跳转到result文本节点中指定的地址。
转发又称服务器跳转,一次请求,一次响应,客户端向服务器端请求当前资源,这个资源将在服务器端内跳转到另一资源,由另一资源发回响应。
还有一种为redirect(重定向),可以来重定向到Action。
重定向又称为客户端跳转,两次请求,两次响应,客户端向服务器端请求当前资源,服务器端响应回来一个其他地址,由客户端再一次根据发回来的地址来请求, 由对应地址在最终发回来响应。
3. Struts通配符
传统方法中,例如上述代码中的list,show之类的方法,需要分别配置,这样的话需要耗费大量的配置时间,所以引入通配符来解决这一问题。
<action name="*Product" class="com.how2java.action.ProductAction" method="{1}">
<result name="show">show.jsp</result>
<result name="list">list.jsp</result>
</action>
*Product 表示所有以Product结尾的路径,都会匹配在这个Action上
method={1}表示第一个通配符
如果访问的是addProduct就会调用add方法
如果访问的是listProduct就会调用list方法
以此类推
初学者,如有错误还请指正!
Struts2学习-struts.xml文件配置的更多相关文章
- JavaWeb_(Struts2框架)struts.xml核心配置、动态方法调用、结果集的处理
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- ssh2学习-applicationContext.xml文件配置-----<context:annotation-config/>详解
当我们需要使用BeanPostProcessor时,直接在Spring配置文件中定义这些Bean显得比较笨拙,例如: 使用@Autowired注解,必须事先在Spring容器中声明AutowiredA ...
- Struts2 学习笔记——struts.xml文件之Bean的配置
Struts2的大部分核心组件不是以硬编码的形式写在代码中,而是通过自身的IoC容器来管理的. Struts2以可配置的形式来管理核心组件,所以开发者可以很容易的扩展框架的核心组件.当开发者需要扩展或 ...
- struts2——配置struts.xml文件
在struts2框架中struts.xml是应当放到src的根目录,程序编译后会将struts.xml放到WEB-INF/classes目录下. Struts2在web.xml中的一般配置如下: &l ...
- Struts2笔记——struts.xml配置详解
访问HelloWorld应用的路径的设置 * 在struts1中,通过<action path=“/primer/helloWorldAction.action”>节点的path属性指定访 ...
- struts2 的struts.xml配置详解
在应用struts框架进行开发时,必不可少的一步就是对struts.xml进行配置,对于该文件了解越多,我们开发起一应用程序定会更加顺手.下面我们看一下struts.xml的内容,每一项都有什么作用. ...
- Struts2 | struts.xml文件中使用method属性和通配符简化action标签和Action处理类的编写
转自:https://www.jianshu.com/p/310e89ee762d 在Struts2框架中,我们知道基本的Action标签只能实现一个url请求对应一个Action处理类.那么我们如果 ...
- struts.xml文件中配置tiles.xml
Apache Tiles是一个JavaEE应用的页面布局框架.Tiles框架提供了一种模板机制,可以为某一类页面定义一个通用的模板,该模板定义了页面的整体布局.布局由可以复用的多个块组成,每个页面可以 ...
- 3. 解析 struts.xml 文件
1. struts.xml 文件基本配置: 主要放在资源路径下,配置 sturts2相关的 Action , 拦截器等配置 <struts> <!-- 设置常量 --> < ...
随机推荐
- codewars--js--Reverse or rotate?----es6变量,箭头函数,正则取块
问题描述: 对输入的str按照sz个数进行分块,若一块内所有数字的立方和是偶数,则倒序:否则,向左移动一位.然后将修改过的块整合到一个字符串,作为输出. The input is a string s ...
- codewars--js--vowels counting+js正则相关知识
问题描述: Return the number (count) of vowels in the given string. We will consider a, e, i, o, and u as ...
- C# 一个帮您理解回调函数的例子(新手必看)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 回调函数 ...
- springBoot2.x启动项目报java.sql.SQLNonTransientConnectionException
将项目从springBoot1.x升级到springBoot2.x,启动报错: java.sql.SQLNonTransientConnectionException: Cannot load con ...
- StarUML之八、StarUML的Entity-Relationship Diagram(实体关系图)示例
数据库表关系设计也是常有场景,本章介绍如何设计一个实体关系图 1:新建项目,在Model Explore中Add Diagram | ER Diagram到指定的元素中: 2:从Toolbox中创建E ...
- 「Flink」Flink的状态管理与容错
在Flink中的每个函数和运算符都是有状态的.在处理过程中可以用状态来存储数据,这样可以利用状态来构建复杂操作.为了让状态容错,Flink需要设置checkpoint状态.Flink程序是通过chec ...
- Python 编程入门(2):复杂数据类型(列表,字典)
以下所有例子都基于最新版本的 Python,为了便于消化,每一篇都尽量短小精悍,希望你能尽力去掌握 Python 编程的「概念」,可以的话去动手试一下这些例子(就算目前还没完全搞懂),加深理解. 在 ...
- 服务端性能测试工具校验v1.2
服务端性能测试工具校验v1.2 想知道压力工具实际并发多少,想知道压力工具统计响应数据准不准,来试试这款校准工具. 更新说明: 1.修正总接收请求显示上限. 2.随着响应时间增加,自动增加处理线程. ...
- P4392 [BOI2007]Sound 静音问题
---------------------- 链接:Miku ----------------------- 这道题本质上还是个st表,只要两个st表,然后对于每一个点,查询他开始的 长度为m的去年的 ...
- nodejs 使用 body-parser 获取网页内容
var bodyParser = require('body-parser'); var urlencodedParser = bodyParser.urlencoded({ extended: fa ...