一、web project整合spring

1.1、打开Myeclipse,建立web project(eclipse为dynamic web project),使用J2EE5.0。

1.2、加入Srping的基本jar包(无需事务等)

org.springframework.beans-3.1.1.RELEASE.jar

  1. commons-logging.jar
  2. org.springframework.aop-3.1.1.RELEASE.jar
  3. org.springframework.asm-3.1.1.RELEASE.jar
  4. org.springframework.beans-3.1.1.RELEASE.jar
  5. org.springframework.context-3.1.1.RELEASE.jar
  6. org.springframework.context.support-3.1.1.RELEASE.jar
  7. org.springframework.core-3.1.1.RELEASE.jar
  8. org.springframework.expression-3.1.1.RELEASE.jar
  9. org.springframework.orm-3.1.1.RELEASE.jar
  10. org.springframework.web-3.1.1.RELEASE.jar
  11. javassist-3.11.0.GA.jar

1.3、新建源文件夹(source folder)conf,位于项目下,加入applicationContext.xml到该文件夹,内容例如以下:

  1. <?xml version="1.0"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:tx="http://www.springframework.org/schema/tx"
  7. xmlns:jaxws="http://cxf.apache.org/jaxws"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  10. http://www.springframework.org/schema/aop
  11. http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context-3.0.xsd
  14. http://www.springframework.org/schema/tx
  15. http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  16. http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd ">
  17.  
  18. </beans>

1.4、在web.xml中web-app节点下加入监听,例如以下:

  1. <context-param>
  2. <param-name>contextConfigLocation</param-name>
  3. <param-value>classpath:applicationContext.xml</param-value>
  4. </context-param>
  5. <listener>
  6. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  7. </listener>

执行项目,正常执行则说明正常。

二、开发webservice服务

新建RegeditService类,例如以下:

  1. package zxn.ws.service;
  2.  
  3. import javax.jws.WebParam;
  4. import javax.jws.WebService;
  5.  
  6. @WebService
  7. public interface RegeditService {
  8. /**
  9. * 注冊方法
  10. * @param username
  11. * @param password
  12. * @return
  13. */
  14. public String regedit(@WebParam(name = "username")String username, @WebParam(name="password")String password);
  15. }

新建RegeditServiceImpl类,例如以下:

  1. package zxn.ws.service;
  2.  
  3. import javax.jws.WebService;
  4.  
  5. @WebService(endpointInterface="zxn.ws.service.RegeditService",serviceName="Regedit", targetNamespace="http://service.ws.zxn/")
  6. public class RegeditServiceImpl implements RegeditService {
  7. /**
  8. * 注冊方法
  9. * @param username
  10. * @param password
  11. * @return
  12. */
  13. public String regedit(String username, String password) {
  14. return username+",你已成功注冊!";
  15. }
  16. }

注意:targetNamespace中的包名倒着写,最后要加"/",否则报错。

三、spring整合cxf

3.1、加入jar包

  1. cxf-2.7.8.jar
  2. neethi-3.0.2.jar
  3. xmlschema-core-2.0.3.jar
  4. wsdl4j-1.6.3.jar
  5. asm-3.3.jar

3.2、applicationContext.xml中加入例如以下内容:

  1. <import resource="classpath:META-INF/cxf/cxf.xml" />
  2. <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
  3. <!-- webservice配置 ,myeclipse可能检測到此处有错没影响-->
  4.     <jaxws:endpoint id="regeditService" implementor="zxn.ws.service.RegeditServiceImpl" address="/Regedit" />

3.3、在web.xml中加入例如以下cxf配置:

  1.     <servlet>
  2.          <servlet-name>CXFServlet</servlet-name>
  3.          <servlet-class>
  4.                 org.apache.cxf.transport.servlet.CXFServlet
  5.          </servlet-class>
  6.          <load-on-startup>1</load-on-startup>
  7.      </servlet>
  8.  
  9.      <servlet-mapping>
  10.          <servlet-name>CXFServlet</servlet-name>
  11.         <url-pattern>/services/*</url-pattern>
  12.      </servlet-mapping>

部署到tomcat,訪问地址:http://localhost:8080/CXFWS/services(最后的services是3.3中配置的訪问路径),例如以下图则表示成功:

wsdl文档例如以下图:

另附上源码地址:http://download.csdn.net/detail/zxnlmj/7457693

使用CXF+spring创建一个web的接口项目的更多相关文章

  1. 十七、创建一个 WEB 服务器(一)

    1.Node.js 创建的第一个应用 var http=require("http") http.createServer(function (req,res) { res.wri ...

  2. Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目

    Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. ...

  3. 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】

    Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...

  4. 使用eclipse插件创建一个web project

    使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 ...

  5. C#中自己动手创建一个Web Server(非Socket实现)

    目录 介绍 Web Server在Web架构系统中的作用 Web Server与Web网站程序的交互 HTTPListener与Socket两种方式的差异 附带Demo源码概述 Demo效果截图 总结 ...

  6. eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)

    在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会 ...

  7. 【重点突破】——使用Express创建一个web服务器

    一.引言 在自学node.js的过程中有一个非常重要的框架,那就是Express.它是一个基于NodeJs http模块而编写的高层模块,弥补http模块的繁琐和不方便,能够快速开发http服务器.这 ...

  8. 【LINUX】——linux如何使用Python创建一个web服务

    问:linux如何使用Python创建一个web服务? 答:一句话,Python! 一句代码: /usr/local/bin/python -m SimpleHTTPServer 8686 > ...

  9. Intellij Idea 创建一个Web项目

    今天想用IDEA创建一个web项目: 准备工具 1.jdk1.7 2.tomcat6.0,由于下载的8.5没有lib目录不能配置改6.0 3.idea2019.1.2 Intellij Idea的安装 ...

随机推荐

  1. js动态新增组合Input标签

    var x = 1; function addlink() { var linkdiv = document.getElementById("add1_0"); if (linkd ...

  2. ARGB和RGB

    ARGB 一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构. ARGB---Alpha,Red,Green,Blue. Alpha-图像通道 如果图形卡具有 ...

  3. webclient乱码问题

    我的备注:这个方法可以得到相关页面的源代码,查看页面编码,浏览器中右键>选择编码就看到所用的编码类型了 webclient在调用DownloadData或者DownloadString的时候请求 ...

  4. MSSQL 字符串替换语句

    MSSQL替换语句:update 表名 set 字段名=replace(cast(字段名 as varchar(8000)),'abc.com','123.com')例如:update PE_Arti ...

  5. 使用DOM进行xml文档的crud(增删改查)操作<操作详解>

    很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这 ...

  6. Rand

    我看了下网上,是这样的:rand()随机产生一个数(0-65535),加上%后,就是对其它数求余,求余产生的数取决于求余的数.比如,rand()%20;意思是利用rand()的返回值(一个0-6553 ...

  7. Django新手图文教程

    Django新手图文教程 本文面向:有python基础,刚接触web框架的初学者. 环境:windows7   python3.5.1  pycharm专业版  Django 1.10版 pip3 一 ...

  8. Unity3D添加Admob广告

    重要提示:             貌似play2014年8月之后不会再支持admob的SDK方式的广告了.github上已经有了 Unity AdMob (Google Play Services) ...

  9. Toast——提醒方式

    Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现在就尝试一下如何在活动中使用To ...

  10. html编码转换

    http://webdesign.about.com/od/localization/l/blhtmlcodes-math.htm http://www.cnblogs.com/terryglp/ar ...