struts2中命名空间问题

原创 2011年01月09日 15:37:00

最近因为一个项目演练的需要,需要学习J2EE这一体系。采用的是struts2,发现好不顺利,第一天弄struts2就半天调不过去,最后发现是自己引入包之后没有重新部署,直接重启服务器造成包根本没有被引入到webroot目录下WEB-INF的lib目录中,以后要注意引入包之后不但需要重启服务器tomcat还需要重新部署项目。

今天又遇到一个问题,在学习struts2的命名空间时一直报错访问不到,现在终于理解了,把自己遇到的问题总结一下:

1.在配置struts.xml文件的package节的namespace属性时,必须添加“/”,今天就因为没有加这个,半天找不到,必须以斜线开头。

2.默认名字空间。如果你在配置package节的时候没有namespace属性,那就是使用默认的命名空间,默认名字空间在我的理解就是,你可以直接访问你的action,不管你的TestAction前面有多少层包,你都可以通过http://localhost:8080/webdemo/test.action访问(webdemo为网站名称)。这里有一个很有趣的现象就是,访问默认名字空间的内容的url可以是任意的,比如访问上述的test.action,你可以在webdemo和test.action之间加入任何东西,如:http://localhost:8080/webdemo/abc/egeag/sagjiea/test.action。原因在于他会在“/abc/egeag/sagjiea”这个名字空间下寻找test.action,如果没有找到,他会在所有默认的名字空间的包中寻找,也就是说他会在所有的没有namespace属性的package当中寻找,因而无论你加什么限定,他都会找到!!!感觉很神奇。

3.加入名字空间之后的访问时需要加上名字空间的限定名,如果package内的namespace的属性是"/test"那么访问需要这样来写http://localhost:8080/webdemo/test/test.action。

4.对于控制台打印出的信息需要好好检查一下,今天就因为没有注意出错信息,访问半天访问不到,最后发现报错的地方是没有找到struts2-default父包,原来是我在extends属性写的是struts2-default不是struts-default,粗心之极,刚接触就闹出这么多麻烦。

5.我的理解是名字空间就是一个解决地址冲突的方法,你可以通过namespace方式来解决这个冲突。

 

 

个人笔记,有错误希望指出。

Struts2:命名空间的使用

在web中如果有需要多个同名的action,可以通过命名空间来管理action。详细见下面例子: 工程名:struts_2,在配置struts.xml中,package中属性namespace的使用,...
  • qq_16769857
  • qq_16769857
  • 2015年09月19日 16:17
  • 886

struts2命名空间namespace和访问路径的关系

我是在看了别人的博客之后,对namespace和访问路径的关系算是搞明白了,故记录下来供大家参阅和自己以后进行查看。 假设我的struts.xml配置文件中一个action配置如下: ...
  • menghuannvxia
  • menghuannvxia
  • 2015年07月31日 14:56
  • 8872

Struts2:配置Action——包和命名空间

本文摘自 李刚 《Java EE 企业应用实战》     实现了Action处理类之后,就可以在struts.xml文件中配置该Action了。所谓配置Action就是指定让stru...
  • qq_16769857
  • qq_16769857
  • 2015年09月19日 16:58
  • 3325

struts2 jsp页面提交时,命名空间重复出现

前几天在做一个基于ssh的图书馆管理系统课程项目,碰到了这个问题,在网上没有找到这个问题的解决方法,最终通过向同学请教和看马士兵的教学视频,解决了这个问题,这里和大家分享一下。 问题描述如下: 下...
  • zijiaobingbu
  • zijiaobingbu
  • 2013年11月22日 20:22
  • 1177

struts2常量和包和命名空间

  • 2016年01月28日 13:20
  • 6.7MB
  • 下载

Struts2之命名空间详解及JSP文件上传了解案例struts009

  • 2014年11月30日 09:03
  • 5KB
  • 下载

Struts2:配置Action——包和命名空间

本文摘自 李刚 《Java EE 企业应用实战》     实现了Action处理类之后,就可以在struts.xml文件中配置该Action了。所谓配置Action就是指定让stru...
  • qq_16769857
  • qq_16769857
  • 2015年09月19日 16:58
  • 3325

spring,struts2,mybatis命名空间编辑

Struts2: 以struts2.2为例,找到导入的struts2-core-2.2.1.1.jar包里的,打开它,找到下面的 dtd文件,下面使用struts-2.1.dtd为例,打开2.1.dt...
  • yourmamaboomboom
  • yourmamaboomboom
  • 2016年12月14日 21:58
  • 483

Struts2学习笔记(一)——命名空间、路径、通配符

一.命名空间 namespace决定了action的访问路径,默认为"",可以接收所有路径的action namespace可以写为/,或者/xxx,或者为/xxx/yyy,对应的action访问...
  • menghuannvxia
  • menghuannvxia
  • 2015年07月31日 15:32
  • 742

Struts2 包,命名空间,包含 配置(十二)

1.包配置 在Struts2框架中,其核心组件是Action和拦截器等,该框架使用包管理这些组件,在包可以配置多个action,多个拦截器,多个拦截器栈,返回类型。使用元素配置包。可以指定4个属性...
  • luobing_csdn
  • luobing_csdn
  • 2017年03月27日 10:57
  • 261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts2中命名空间问题
举报原因:
原因补充:

(最多只允许输入30个字)