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