struts2命名空间与访问路径
比如项目deom的struts.xml中有如下片段
Java代码
<package name="demo" extends="struts-default">
<action name="demo" class="***.demoController"
<result>/demo.jsp</result>
</action>
</package>
我们可以用http://localhost:8080/demo/demo.action路径来访问action demo,也可以用http://localhost:8080/demo/***/demo.action路径来访问该action
上述路径中,http://localhost:8080/demo用来找到我们的demo project,之后的路径用来找到我们位于某一命名空间下的某一action。在struts中,我们的package继承了struts-default,也就拥有了struts的根空间,在这里我们没有指明namespace属性,但其实此时我们的namespace属性相当于namespace="",或者namespace="/"。
当我们用http://localhost:8080/demo/demo.action时,由于我们没有指定命名空间,struts直接在根空间中寻找name=demo的action,根空间有这个action,所以我们能访问。
当我们用http://localhost:8080/demo/***/demo.action时,struts首先在namespace=***的package中寻找,没有找到。此时struts继续在根空间里寻找,找到了,所以我们还是可以访问。
如果我们做如下设置,即将<package name="demo" extends="struts-default"> 中添加namespace="/demo"属性,修改为"]<package name="demo" extends="struts-default" namespace="/demo"> ,此时,我们只有用http://localhost:8080/demo/demo/demo.action路径才能访问到该action了,如果再用http://localhost:8080/demo/abc/demo.action或其他路径,就会出现异常。因为此时struts首先在命名空间为abc中寻找,如果没有找到,会继续在根空间寻找,而现在根空间已经没有名为demo的action了。
这就是我理解的struts2的命名空间和访问路径间的关系。
struts2命名空间与访问路径的更多相关文章
- Struts2 Action的访问路径
1. Action的访问路径 扩展名 缺省以.action结尾,请参考:default.properties文件,可以通过配置改变这一点: <constant name="st ...
- Struts2之访问路径
上一篇已经和大家分享了关于Struts2命名空间和Action的三种创建方式,本篇我们接着命名空间的内容,来一起探讨一下关于Struts2的访问路径问题,何为访问路径,就是指当我们在浏览器输入地址,点 ...
- struts2学习二:Tomcat的部署目录和访问路径问题
1:idea中配置tomcat后,那么最终的web工程发布到哪里去了?为什么在访问路径中不加工程名就可以访问? 1.1:因为tomcat有段时间没接触了,先回顾下tomcat的目录结构吧? 如图所示: ...
- Struts2常量_Action配置路径_通配符
Struts2中常用的常量 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker .velocity的输出 <cons ...
- wcf开启服务 HTTP 无法注册 URL 进程不具有此命名空间的访问权限
HTTP 无法注册 URL [url]http://127.0.0.1:9999/calculatorservice/metadata[/url].进程不具有此命名空间的访问权限 今天按照网上的例子开 ...
- 【转】Tomcat的默认访问路径
放在外网的应用,用户多是直接输入域名访问,相信没有哪个后面还加个尾巴,而Tomcat的默认目录是ROOT,所以我们需要更改其默认目录. 更改Tomcat的默认目录很简单,只需要修改server.xml ...
- SpringMVC 请求路径结尾存在.使用@PathVariable访问路径内容,路径参数获取不准确的问题
SpringMVC采用Get方式请求资源时,如果请求路径的结尾中带有小数点(.)时,同时使用@PathVariable访问路径内容时,请求路径中最后一个小数点及其后面的内容会被Spring截断丢弃比如 ...
- Eclipse中修改Web项目的URL访问路径
背景 访问路径,也就是指在浏览器中访问该web系统时的根路径,比如http://localhost:8080/xxxx/index.jsp 这里的xxxx,也就是request.getContext ...
- Windows下如何修改php.ini的访问路径?
Windows下,用 IIS跑PHP,有个缺点,那就是一定要把 php.ini 放在 Windows 的系统路径下 (C:/Windows) .不过,可以通过以下方式修改访问路径: 第一步: 把PHP ...
随机推荐
- Java程序员都应该去使用一下这款强大的国产工具类库
这不是标题党,今天给大家推荐一个很棒的国产工具类库:Hutool.可能有很多朋友已经知道这个类库了,甚至在已经在使用了,如果你还没有使用过,那不妨去尝试一下,我们项目组目前也在用这个.这篇文章来简单介 ...
- python异常之EOFError: Ran out of input
出现该问题一般是由于你在以写模式打开文件后未关闭的情况下又去以读模式操作该文件时报的错误 # coding = utf-8 import pickle #定义一个boy类 class boy(): d ...
- 相册选择头像或者拍照 上传头像以NSData 图片二进制格式 表单上传
一.点击头像图片 或者按钮 在相册选择照片返回img,网络上传头像要用data表单上传 (1)上传头像属性 // 图片二进制格式 表单上传 @property (nonatomic, strong) ...
- laravel-admin 配置富文本编辑器流程
laravel-admin默认去除富文本编辑器的,官方也给出了配置方法. 我配置的是wangEditor,本来配置完后就能愉快得使用了,可万万没想到还是有坑的.默认是用base64上传的,也就是数据库 ...
- Codeforces Round #396 (Div. 2) E
Mahmoud and Ehab live in a country with n cities numbered from 1 to n and connected by n - 1 undirec ...
- git(代码仓库)
第1章 git介绍 1.1 参数: 第2章 git管理一个项目 2.1 图示 2.2 cd /项目路径 2.3 git config --globle user.email "邮箱地址&q ...
- matlab实现gabor滤波器的几种方式
转自:http://blog.csdn.net/watkinsong/article/details/7882443 方式一: function result = gaborKernel2d( lam ...
- 关于.NET .cs后台提示并进行页面跳转代码
在后台.CS页面中植入下面代码 string url = "<script>alert('xxx');window.location.href='"xxx.html&q ...
- [转]AngularJS移动开发中的坑汇总
使用AngualrJs开发移动App已经快半年了,逐渐积累了很多AngularJS的问题,特别是对于用惯了Jquery的开发者,转到AngularJS还是需要克服很多问题的.不像Jquery那样侧重D ...
- Java 8新特性--Lambda表达式作为返回值
lambda表达式作为方法的返回值: