xingqing2130 2010-08-28 13:48 采纳率: 0%
浏览 174
已采纳

Struts2.1.8 访问路径问题

    <action name="list" class="web.demoController"
        <result>/demo.jsp</result>
    </action>

    <!-- Add actions here -->
</package>

怎么http://localhost:8080/test/demo.action 或者 http://localhost:8080/text/xx/demo.action 都可以访问???????????????????????????????????

  • 写回答

3条回答 默认 最新

  • passeddust 2010-08-28 23:45
    关注

    楼主,你的问题是struts2命名空间的问题
    struts2跟空间,也就是struts-default的namespace,就是namespace="/"或者namespace=""。
    所以你在 中将namesapce设为"/",其实相对于没有设置新的命名空间,而还是使用的默认跟空间。这样,当你以http://localhost:8080/test/list.action 路径访问时,struts显然会在根空间里直接找到list.action。而当你使用http://localhost:8080/text/xx/demo.action路径访问时,首先,struts会在命名为namespace=xx的命名空间里寻找,没有找到,就会到根空间里继续寻找,这时找到了list.action,所以还是能够访问。
    你可以做这样的实验,你将里面的namespace设为namespace="demo",然后以http://localhost:8080/text/abc/demo.action路径访问,这时就访问不到这个action了,因为此时,struts现在namespace为“abc”的命名空间里寻找,没有找到,继续在根空间寻找,还是没有,这时就会报异常。这种设置下只有http://localhost:8080/text/demo/demo.action路径可以访问该action。
    好了,说了这么多,这个问题应该已经说清楚了,希望你也能够理解了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 关于#硬件工程#的问题:求一下解题思路
  • ¥15 运筹学对偶单纯行法构造扩充问题
  • ¥20 XP系统的老电脑一开机就提示找不到rundll.exe,付费求解
  • ¥15 milvus查询出来的score怎么转换成0-1之间的相似性
  • ¥15 多ip服务器站群如何搭建l2tp服务器
  • ¥15 lvgl V9移植到linux开发板
  • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
  • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗
  • ¥15 Sharepoint JS开发 付费技术指导
  • ¥15 输入程序运行仿真后,烟雾值不实时检测,变成固定值