我新建了了个dynamic web project,在web.xml配置了cxf,代码如下
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
我把这个项目部署到tomcat上之后运行,提示说CXFServlet不可用,但我的项目的确已经包含了cxf相应的包,不然写程序的时候早就报错了。错误信息如下
2009-12-29 10:25:50 org.apache.catalina.core.StandardWrapperValve invoke
信息: Servlet CXFServlet is currently unavailable
希望高手能帮个忙。我现在是想让cxf(restful风格的)和spring集成(不使用maven,因为我对这个不熟悉,想先整合了cxf和sping之后再用),但网上找资料,一直没合适的,希望高手指点下。谢谢!

解决方案 »

  1.   

    没人回答我自己来啊,我原来的项目是通过bulid path直接把包导入,可是却出现找不到包的问题,我也不太清楚是为什么,后来我就把所需要的包拷到该项目的WEB-INF/lib下,再运行就没问题了。
      

  2.   

    因为eclipse把build path的配置写在了项目的.classpath文件中,add Extenrnal jar将jar包引入到工程,.classpath文件中的内容就会被更新,所以不就会报错。 
    有时直接把jar复制到项目的WEB-INF/lib文件夹中,然后刷新项目,eclipse都会自动把jar在build path中引用。 
    如果jar不是在build path里删除引用,而是自己直接把jar删除或者移到另外一个位置,刷新项目就会出现错误,要去build path里把引用删除。
      

  3.   

    回答错了,以为是另一个问题呢,这个问题是因为没有配置spring,所以才出现了问题,cxf默认情况下是使用spring来管理的,如果配置了cxf servlet,则在web.xml中必须显式的配置spring,具体的配置网上可以搜一搜,总的来说是分两种情况,一是显式的声明spring来管理,而是显式的声明不使用spring来管理,不过这种情况下需要重写下apache cxf的bus,具体的我也不是太清楚,网上可以找相应的资料。
    希望这个能对大家有用,交流交流,进步进步。