博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2命名空间与访问路径
阅读量:5034 次
发布时间:2019-06-12

本文共 1012 字,大约阅读时间需要 3 分钟。

     比如项目deom的struts.xml中有如下片段

   Java代码

/demo.jsp

       我们可以用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,所以我们能访问。 
      当我们用时,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了,如果再用或其他路径,就会出现异常。因为此时struts首先在命名空间为abc中寻找,如果没有找到,会继续在根空间寻找,而现在根空间已经没有名为demo的action了。 
      这就是我理解的struts2的命名空间和访问路径间的关系。

转载于:https://www.cnblogs.com/univeryinli/p/5425127.html

你可能感兴趣的文章
ssh 连接原理及ssh-keygen
查看>>
vs2013编译qt程序后中文出现乱码
查看>>
【转】IOS数据库操作SQLite3使用详解
查看>>
Android官方技术文档翻译——ApplicationId 与 PackageName
查看>>
js随机数的取整
查看>>
Feign使用Hystrix无效原因及解决方法
查看>>
Redis的Pub/Sub客户端实现
查看>>
springMVC入门(一)------springMVC基本概念与安装
查看>>
Sam做题记录
查看>>
[bzoj] 2453 维护数列 || 单点修改分块
查看>>
IIS版本变迁
查看>>
myeclipse10添加jQuery自动提示的方法
查看>>
【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。...
查看>>
软件工程APP进度更新
查看>>
Python 使用正则替换 re.sub
查看>>
CTF中那些脑洞大开的编码和加密
查看>>
icon fonts入门
查看>>
【Django】如何按天 小时等查询统计?
查看>>
测试用例(一)
查看>>
邮件中的样式问题
查看>>