原来我的struts2配置如下,完全正常:
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
后来要开发webservice,加入了CXF,因为也要配置web.xml:
cxf
org.apache.cxf.transport.servlet.CXFServlet
cxf
/services/*
这样发现因为struts2配置的是/*,所以会对所有操作拦截,也会拦截webservice的调用,所以把struts2的配置改成了以下:
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
[color=red]/action/*[/color]
这样调用webservice正常了,但是struts2却出了问题,原来的action,除了在根目录下的文件中调用的可以正常之外,其它的全都不可以访问了,举个例子:
在webcontext/cms下有一个epg.html文件,在它的文件中原来调用action,是直接写的:url=“epg.action“,但是现在改成了url="action/epg.action",在firefox中发现有错误,原来路径发生错误:本来应该是http://localhost:8080/project/action/epg.action,但是它却变成了http://localhost:8080/project/cms/action/epg.action,路径当然不一样了,但是我很不解,原来配置的/*为什么可以,这个不就是/action/*吗?就加了一个action,怎么和具体路径挂起来了,原来不是说action不和具体调用的文件路径挂钩吗?
struts2 路径问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-