通配符(WildCard)的使用

一、关于WildCard:一个web应用,有成千上万个action声明,可以利用struts2提供的映射机制把多个彼此相似的映射关系简化成一个映射关系,即通配符。

1.新建类 ActionWildCard,验证通配符的方法

2.1添加Student需要实践的两个方法 add,deete

package cn.cqvie.wildcard;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport {
public String add() {
return SUCCESS;
}

public String delete() {
return SUCCESS;
}

}

2.2添加Teacher需要实践的两个方法 add,deete

package cn.cqvie.wildcard;

import com.opensymphony.xwork2.ActionSupport;

public class TeacherAction extends ActionSupport {
public String add(){
return SUCCESS;
}
public String delete(){
return SUCCESS;
}
}

3.由方法可知,需要新建两个jsp页面用于显示运行结果

3.1 Studentadd_success.jsp:注意此处的Student必须要大写

里面只需输出一句话:

<body>
Student Add Success! <br>
</body>

3.2 Studentdelete_success.jsp:方法同上

同样只需要输出一句话即可

<body>
Student Delete Success!<br>
</body>

3.3 Teacher_add_success.jsp:注意此处的T必须要大写

只需输出一句话即可。

<body>
Teacher Add SUCCESS!<br>
</body>

3.4 Teacher_delete_success.jsp:注意此处的T必须要大写

输出一句话提示语:

<body>
Teacher Delete Success! <br>
</body>

4.配置 struts.xml文件的内容: ***

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="actions" extends="struts-default" namespace="/actions">
<action name="Student*" class="cn.cqvie.wildcard.StudentAction" method="{1}" >
<result>/Student{1}_success.jsp</result>
</action>
<action name="*_*" class="cn.cqvie.wildcard.{1}Action" method="{2}" >
<result >/{1}_{2}_success.jsp</result>
</action>
</package>
</struts>

注:此处的“*”代表所有,即Student具有的所有方法,{1}=“*”,即当“*”代表“add”时,“{1}”也就代表“add”。也就是说“*”与“{}”内容一致。

“*_*”代表的是:第一个“*”代表“Teacher”;第二个“*”代表“add”方法或者“delete”方法。

5.修改web.xml中的mapping:需要将url-pattern原来的“*.action”改为“/*”,否则就无法找到actions对应的方法。

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></web-app>

6. 运行/调试

将该项目部署在tomcat上——>打开浏览器——>在地址栏输入该项目的名称——>回车

6.1 点击“添加学生”可以发现地址栏变化:action可以成功找到Student的“add”方法

6.2 点击“删除学生”可以发现地址栏变化:action可以成功找到Student的“delete”方法

6.3 点击“添加老师”可以发现地址栏变化:action可以成功找到Teacher的“add”方法

6.4 点击“删除老师”可以发现地址栏变化:action可以成功找到Teacher的“delete”方法

7.总结、教训

1)当找到多个匹配,则没有通配符的那个胜出;

2)若指定的动作不存在,struts将会把这个URI与任何一个通配符包含“*”的动作名进行匹配;

3)需要注意的是,配置“struts.xml”文件时,相对应的“action”动作要与之一致,否则将找不到访问对象,报404错误。

4)遵循“约定优于配置”原则,可以使自己在配置时省事。比如类的首字母需要大写,而方法名需要小写。

时间: 2024-10-17 13:42:04

通配符(WildCard)的使用的相关文章

SQL Server 通配符 Wildcard character

SQL Server 通配符 Wildcard character %        任意长度的字符串,如:'%computer%' _        单个字符,如:'_ean' []        指定范围内的单个字符,如:'[C-P]arsen' [^]        任意单个字符,但不在指定范围内,如:'[^C-P]'

【Shell】通配符与特殊符号

——来自<鸟哥的Linux私房菜> 在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下列出一些常用的通配符: 符号 意义 * 代表『 0 个到无穷多个』任意字符 ? 代表『一定有一个』任意字符 [ ] 同样代表『一定有一个在括号内』的字符(非任意字符).例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』 [ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』.例

Linux Shell之通配符、转义字符、元字符

这里分别给大家讲解Linux Shell 通配符http://www.maiziedu.com/course/482/.转义字符.元字符. 一.linux shell通配符(wildcard) 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在命令的"参数"里(它不用在命令名称里,也不用在操作符上).当shell在"参数"中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻

Linux Shell 通配符、转义字符、元字符、特殊字符

一.linux shell通配符(wildcard) 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在命令的"参数"里(它不用在命令名称里,也不用在操作符上).当shell在"参数"中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行替换(路径扩展):否则就将该通配符作为一个普通字符传递给"命令",然后再由命令进

全球首款多域名通配符SSL证书

在了解什么是多域名通配符SSL证书(Multi-Domain Wildcard SSL)之前,首先給大家介绍多域名证书,也称为SAN证书或UCC证书,多域名证书详细说明如下: 多域名SAN/UCC SSL证书 SAN 证书 – Subject Alternative Name certificates 又称为 UCC 证书– Unified Communication Certificates. SANs SSL证书允许您在同一张证书中,添加多个个需要保护的"域名"或"服务器

linux shell通配符、元字符、转义符

Linux Shell 通配符.元字符.转义符使用实例介绍 说到shell通配符(wildcard),大家在使用时候会经常用到.下面是一个实例: 1 1 2 3 4 [[email protected] ~/shell]$ ls a.txt  b.txt  c.old #2 1 2 3 4 [[email protected] ~/shell]$ ls *.txt a.txt  b.txt #3 1 2 [[email protected] ~/shell]$ ls d*.txt ls: 无法访

linux通配符和正则表达式 + notepad++

http://blog.csdn.net/pipisorry/article/details/24143801 通配符(bash 操作) 在 bash 操作环境中还有一个非常有用癿功能,那就是通配符 (wildcard) ! 用 bash 处理数据就更方便了! 常用通配符 除了通配符外,bash 环境中的特殊符号 Note: 1. 理论上,你的『档名』尽量不要使用上述字符 2. 如bash命令find可以使用通配符 正则表达式 正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊

linux shell转义符 元字符 通配符 特殊字符汇总

一.linux shell通配符(wildcard) 通配符是由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它只会出现在命令的"参数"里(它不用在命令名称里,也不用在操作符上).当shell在"参数"中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行替换(路径扩展):否则就将该通配符作为一个普通字符传递给"命令",然后再由命令进

Gworg最低价格通配符SSL不限制子泛域名SSL

随着在线购物需求的不断增长,组织转向了在线业务,其中安全性是不可避免的一部分.即使不断上升的网络犯罪也促使组织考虑IT基础设施的安全性,因为一个漏洞可能会给公司带来数百万美元的损失.在本文中,我们将讨论子域安全性的一个重要方面,称为通配符SSL证书.在揭示有关通配符SSL之前,让我们看看SSL(安全套接字层)是什么. 什么是SSL?SSL是一种安全协议,可以创建一个加密隧道,通过强大的加密,可以在安全的环境中轻松交换两个端点之间的信息(让我们说浏览器到服务器).无论您是在线业务,银行或金融业务,

Linux - Shell - 通配符

概述 通配符 背景 一直分不清 通配符 和 正则 通配符也是一种简单的 查找手段 在懒得用正则的时候, 是个好办法 准备 os centos7 目录 /etc 命令 ls -d -d 如果过滤出目录, ls 不会对目录拆包 如果不跟 正则, 只返回 . 1. 通配符 概述 通配符 wildcard 狂野的卡牌? 通配符 描述 一种字符 可以在搜索中, 代替其他任意字符 好处 提高了搜索的灵活性和效率 使用场景 ls find 其他欢迎补充 2. * 通配符 概述 通配符 作用 匹配 任意类型 的