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条)

报告相同问题?

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上