eclipse 部署struts2 There is no Action mapped for namespace / and action name

 

 前几天用eclipse创建了一个struts2工程,最简单的HelloWorld,用的tomcat插件,如图部署。

启动tomcat,输入http://localhost:8080/jdp/index.jsp正常打开jsp页面,输入配好的action。http://localhost:8080/jdp/index

却报了

HTTP Status 404 - There is no Action mapped for namespace / and action name index

这个错误以前很了解,就是找不到action,但仔细一看配置都没问题,上网搜索全是什么字母拼错,路径写错。怀疑是类没编译好,又手动编译了下,还是不行,clean了也不行。

在MyEclipse中自动部署到tomcat中struts2正常工作,仔细看了下两个工具用的tomcat是同一个为什么会出现这种问题呢。于是怀疑是eclipse自身问题。

查看MyEclipse自动部署的项目文件结构,WEB-INF下有classes文件夹,有所有的类和xml。eclipse tomcat自动部署并没有把项目拷贝到tomcat webApp文件夹中,而是在server.xml中添加了一句话

<Context path="/jdp" reloadable="true" docBase="E:\develop\JDP1.0\WebContent" workDir="E:\develop\JDP1.0\work" />
原来是和手动部署一个原理,找到 E:\develop\JDP1.0\WebContent下,没classes。
根本没有struts2.xml,为什么jsp可以?因为jsp没涉及java代码,是静态的hello world。
 
解决方案:右击项目properties
 
设置class路径,这样tomcat插件部署的就能找到类了。
原来用eclipse创建工程时有个选项是填写编译路径的,默认是项目根目录下的build/classes
总结:eclipse classes路径要注意。这样看,编译问题的话,不但struts2影响,涉及java和xml配置的都是应该不行的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值