WebService CXF学习:整合Spring框架
在当今项目开发中,Spring框架基上都用到过,那么它怎么与CXF结合呢,这就是我们这一间要讲的内容。好了,闲话少说。
??? 首先,在前面基础上再导入几个spring要用到的几个.jar包: ??? spring-core.jar ??? spring-jdbc.jar ??? spring-context.jar ??? spring-orm.jar ??? spring-beans.jar ??? spring-tx.jar ??? 包导入完之后,我们还不能开如干活,配置几荐参数,便于下一步工作。 ??? 配置CXF框架 ??? 我的电脑->属性->高级->环境变量 ??? 创建一个CXF_HOEM变量,值为CXF框架所在根目录,修改一下 ??? CLASSPATH=%CXF_HOME%/lib;PATH=%CXF_HOME%/bin;这时有会问为什么要配置这两个参数据呢,其实配置这两个参数用途与配置JAVA变量一下,在DOS窗口下直接运行java2ws,wsdl2java等可执行文件。当然你没有配置也可以进到CXF框架的bin目录下远行这个几个可执行文件。 ?? 配置好了后,你在DOS窗口下输入java2ws,看看配置是否效。肯定没有成功,原因是使用6.0的JDK,我们还得在%JAVA_HOME%/jre/lib目录下创建一下endorsed文件夹,将jaxb-api.jar,jaxws.jar拷贝进去。现在再运一下java2ws,成功运行,配置生效了。 ??? 基本工作做得差不多,整合spring框架正式开始: ??? 第一步:新一个web project,导入要用到.jar包,其实CXF利用org.apache.cxf.transport.servlet.CXFServlet来拦截所有web请求,将其配置到web.xml中。配置如下: <web-app> <context-param> ?? <param-name>contextConfigLocation</param-name> ?? <param-value> ??? /WEB-INF/classes/applicationContext-*.xml,/WEB-INF/classes/webservice.xml ?? </param-value> </context-param> <listener> ?? <listener-class> ??? org.springframework.web.context.ContextLoaderListener ?? </listener-class> </listener> [color=red]<servlet> 注意一下绿色字体 ????? @WebService //public void save(@WebParam(name="info")String xml); 这里面有四个方法,其中有一个涉及到对象,这一点前面一节讲到怎么处理它。放在这里是再回顾前节内容。 public void delete(int id) { public void save(UserInfoDTO dto,boolean flag) { public void update(String xml) { private static final long serialVersionUID = -4666026219400887433L; public Integer getId() { public void setId(Integer id) { public String getName() { public void setName(String name) { public Integer getAge() { public void setAge(Integer age) { public Integer getAddress() { public void setAddress(Integer address) { public UserInfoDTO() { ??? } 做了这么多工作,有人又会问,怎么现在做的与spring框架就没一点联系,呵呵,确实是这样。开戏开场了,利用Spring来发布WebService接口: <?xml version="1.0" encoding="UTF-8"?> ??????? <!--布布WebService接口--> 服务端开发工作基本结束。现在打包部署到Tomcat6.0.18(本人目前使用的测试服务器,你当然可以使用别的服务器) ????? public class SampleClient { public static void main(String[] args) { ?? service.save(userInfo,true); ?? } 看得仔细的朋友就会问了,ServerUserInfo 这个类那来的,你进到com.itdcl.service目录下就会看到,是WebService发布出来的。 留意一下绿色字体 ??? 剩下的事就是运行客户端程序了,没有异常抛出,打印出:name:Josen,则恭喜你CXF框架与Spring整合成功。 <servlet-mapping> ?? <servlet-name>CXFServlet</servlet-name> ?? <url-pattern>/*</url-pattern> </servlet-mapping>[/color] </web-app>(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |