Struts2命令空间小结

sturts2命名空间小结,以tomcat为服务器

1. 命名空间配置为“/”

<package name="default" namespace="/" extends="struts-default">
  <action name="HelloWorld" class="com.venn.action.HelloWorldAction">
    <result>/jsp/test.jsp</result>
  </action>
</package>

访问地址1:http://localhost:8080/HelloWorld/HelloWorld.action

但是,用 http://localhost:8080/HelloWorld/path1/path2/path3/HelloWorld.action 同样可以访问

2.命名空间为具体路径,如“/path1/path2”

<package name="default" namespace="/path1/path2" extends="struts-default">
<action name="HelloWorld" class="com.venn.action.HelloWorldAction">
<result>/jsp/test.jsp</result>
</action>
</package>

访问地址:http://localhost:8080/HelloWorld/path1/path2/HelloWorld.action

如果使用: http://localhost:8080/HelloWorld/path1/path2/path3/HelloWorld.action 同样可以访

总结:struts2中搜索Action的机制:

  1.如果命名空间存在,就在命名空间中找Action

  2.如果命名空间不存在,就在当前命名空间的上一级找Action,依次类推,直到根命名空间 “/”,找不到则抛出异常

  

时间: 2024-10-25 22:40:32

Struts2命令空间小结的相关文章

C#设置有命令空间的属性

之前被问到一个问题,C#中如何设置android:name这样的属性?我的第一反应是直接setAttribute不就可以了么 SetAttribute(name, value), 可事实上却不行,因为本身并没有什么C#的开发经验,周围也没什么人搞这个,所以就只能通过搜索了.   最后通过搜索发现它需要指定命令空间,详情可参考这里>> SetAttribute(localName, namespaceURI, value) 所以设置android:name的方法就类似这样: xx.SetAttr

Struts2命令执行各版本记录

Struts2命令执行集合 截止至S2-037 原文链接:http://blog.0kami.cn/2017/01/13/Struts2-history-payload/ Struts2框架的RCE远程命令执行的确是一个比较经典的漏洞,这个框架犹如一个筛子,一个人十个指头能按住几个洞-- 参考描述: Struts2 S2-001 影响版本:2.0.0 - 2.0.8具体详情:https://struts.apache.org/docs/s2-001.html该漏洞因为用户提交表单数据并且验证失败

类的命令空间

1. 类可以定义两种属性: 1> 静态属性:直接在类中定义的变量,是共享给所有实例对象的: 2> 动态属性:定义在类中的方法,是绑定到所有实例对象的: 3> 创建一个对象/实例就会创建一个对象/实例的名称空间,存放对象/实例的名字,称为对象/实例的属性: 4> 对象/实例访问对象时,先找自己的,没有再找类的,之后再找父类的,再没有就抛错: class Course: language = ['Chinese'] def __init__(self,teacher,course,pe

mount、umount、fuser命令使用小结

mount -t cifs -o username=administrator,password=xxxxx //192.168.11.17/Data/ /mnt/databak/之后想卸载挂载目录,使用umount /mnt/databak卸载挂载点时,会遇到"device is busy"提示,这时fuser就能查出谁在使用这个资源;当然umount –lf  [挂载点] 也可以强制卸载. 解决:使用fuser -m -v /mnt/databak/看哪个用户,哪个进程占用此设备,

[转载]Matlab中fft与fftshift命令的小结与分析

http://blog.sina.com.cn/s/blog_68f3a4510100qvp1.html 注:转载请注明出处——by author. 我们知道Fourier分析是信号处理里很重要的技术,matlab提供了强大的信号处理能力,但是有一些细节部分需要我们注意. 记信号f(t)的起始时间为t_start, 终止时间为t_end, 采样周期为t_s, 可以计算信号的持续时间Duration为 t_end – t_start, 信号离散化造成的采样点数 N = Duration/t_s +

Matlab中fft与fftshift命令的小结与分析

转载自:http://wang-yg.diandian.com/post/2011-03-12/40028916801 我们知道Fourier分析是信号处理里很重要的技术,matlab提供了强大的信号处理能力,但是有一些细节部分需要我们注意. 记信号f(t)的起始时间为t_start, 终止时间为t_end, 采样周期为t_s, 可以计算信号的持续时间Duration为 t_end – t_start, 信号离散化造成的采样点数 N = Duration/t_s + 1; 根据Fourier分析

Mysql常用命令操作小结

Mysql操作大全 一.概述 SQL(Structured Query Language)语言的全称是结构化查询语言.数据库管理系统通过SQL语言来管理数据库中的数据. SQL语言分为三个部分:数据定义语言(Data DefinitionLanguage,简称为DDL).数据操作语言(DataManipulation Language,简称为DML)和数据控制语言(Data Control Language,简称为DCL).分别如下: DDL语句:CREATE.ALTER.DROP DML语句:

Struts2 interceptor使用经验小结

1. interceptor 调用Spring容器中的bean 在interceptor中常有需要调用Spring Bean的需要,其实很简单和Struts2的Action一样配置即可. Spring中的配置 <!--spring配置 -->1 <bean id="authorityInterceptor" class="com.xxx.interceptor.AuthorityInterceptor"/> 2 3 <bean id=&

Struts2(七)基础小结

一.struts2和action 二.Result 三.struts.xml 四.namespace 第一种绝对路径 <form action="${pageContext.request.contextPath }/user/login.action" method="post"> 第二种  <form action="<%=request.getContextPath() %>/user/login.action"