今天需要用cxf来实现webserive接口的需求。网上搜了搜资料

基本上都是cxf结合spring的方式。

整理了一份不依赖spirng的方式。学习学习  



第一步:导入需要的jar包

第二步:编写接口类:

package com.tydic.test.service.cxf;


public interface HelloTestSerivice {


public String  sayHello(String name );

}


第三步:编写实现类:


package com.tydic.test.service.cxf;


public class HelloTestServiceImpl implements HelloTestSerivice {


public String sayHello(String name) {

return name+"小伟";

}

}


第四步:编写接口服务处理类:


package com.tydic.test.service.cxf;


import javax.servlet.ServletConfig;


import org.apache.cxf.Bus;

import org.apache.cxf.BusFactory;

import org.apache.cxf.frontend.ServerFactoryBean;

import org.apache.cxf.transport.servlet.CXFNonSpringServlet;


public class CxfService extends CXFNonSpringServlet {//主要是继承这个

private  static final long serialVersionUID = 1L;  


protected void loadBus (ServletConfig sc) {

super.loadBus(sc);

Bus bus=getBus();

BusFactory.setDefaultBus(bus);

HelloTestServiceImpl hell=new HelloTestServiceImpl();//实现类

ServerFactoryBean sf=new ServerFactoryBean();//server工长

sf.setServiceClass(HelloTestSerivice.class);//接口类

sf.setAddress("/hi");

sf.create(); 

}


}



第五步:配置web.xml文件


<servlet>

   <servlet-name>CXFServlet</servlet-name>

   <servlet-class>com.tydic.test.service.cxf.CxfService</servlet-class>

   <load-on-startup>1</load-on-startup>

 </servlet>

 

   <servlet-mapping>

    <servlet-name>CXFServlet</servlet-name>

    <url-pattern>/ws/*</url-pattern>

  </servlet-mapping>



然后部署到tomcat,  输入:http://localhost:8080/webserviceTest/ws/hi?wsdl   就可出现希望的了