今天需要用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 就可出现希望的了