strtus.xml中根命名空间和默认命名空间的区别

配置<package>包时,有一个可选的namespace属性,用于指定该包对应的命名空间。若没有指定namespace属性,则该包下的所有Action处于认命名空间下。


根命名空间是指namespace="/",默认命名空间为 namespace=""。


假如有一个请求为/login.action,系统会在根命名空间(“/”)中查找名为login的Action,如果找到了名为login的Action,则由该Action处理请求,否则,系统将转到默认命名空间中查找名为login的Action,如果存在此Action,则由该Action处理请求,否则,系统报错


再假如,有一个请求为/User/login.action,而根命名空间下同样有login.action,系统会先在/User命名空间里查找名为login的Action,如果找到了名为login的Action,则由该Action处理请求,否则,系统将转到默认命名空间中查找名为login的Action,如果存在此Action,则由该Action处理请求,否则,系统报错。而不会从根命名空间查找Action。



这就是根命名空间和默认命名空间的区别


默认命名空间下的Action能处理其他命名空间中找不到的Action请求,而根命名空间下的Action只能处理根命名空间下的Action请求。


通俗点来讲,根命名空间和一般的命名空间没什么差别,只是大家被形式上面误导了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值