package service;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;

/**
* @description 功能描述:
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:37:40
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.service.connservice.java
*/

//第一步首先创建web接口
@WebService
public interface connservice {

@WebMethod
public String Stringlist();

@WebMethod
public List getlist();

}

//第二步去实现这个接口

package serviceimpl;

import java.util.List;

import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import service.connservice;

import com.spring.mvc.jdbc.JdbcDao;

/**
* @description 功能描述:
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:38:31
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.serviceimpl.connserviceimpl.java
*/
@WebService(endpointInterface="service.connservice")
@Service(value="connservice")
public class connserviceimpl implements connservice{

@Autowired
JdbcDao dao;
@Override
/**
* @description 功能描述: webservice 返回list json 结果
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:38:31
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.serviceimpl.connserviceimpl.java
*/
public String Stringlist() {
String sql ="select * from CS_CONTRACT t where t.id='30053'";
List list = dao.queryData(sql); // 执行sql


net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(list); //将结果集转为List json 串

return jsonArray.toString(); //转为String类型
}

/**
* @description 功能描述: webservice 返回list 结果
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:38:31
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.serviceimpl.connserviceimpl.java
*/
public List getlist() {

String sql ="select * from CS_CONTRACT t where t.id='30053'";
List list = dao.queryData(sql); //执行sql
List weblist=null;
for (int i = 0; i < list.size(); i++) { //结果集是两层List 所以得循环一层List
weblist = (List) list.get(i);
}

return weblist; //返回结果List
}

}

第三步添加server-ws.xml webservice配置文件 不过得导入spring  cxf jar包

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
xmlns:simple="http://cxf.apache.org/simple"
xsi:schemaLocation="http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/core
http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://cxf.apache.org/simple
http://cxf.apache.org/schemas/simple.xsd"
default-autowire="byName" default-lazy-init="true">

<!-- 导入CXF初始配置 -->
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

<!--测试web service 接口 -->

<!--此路径为类的路径 -->
<bean id="borrowere" class="serviceimpl.connserviceimpl" />
<jaxws:endpoint id="webser" implementor="#borrowere" address="/webser" />


</beans>

第四步在applicationContext.xml 导入 server-ws.xml

<!-- webservice 配置文件 -->
<import resource="server-ws.xml"/>

第五步在web.xml配置webservice

<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

如果有maven 私服可以直接下载jar包

<dependency>
<groupId>org.apache.servicemix.samples.cxf-wsdl-first</groupId>
<artifactId>wsdl-first-cxf-sa</artifactId>
<version>3.3.2</version>
<type>zip</type>
</dependency>

第六步发布项目测试 如果出了此 页面证明你的webservice接口已经配置成功 如果别人要调你的接口你只需把服务端url给他即可。http://127.0.0.1:9090/spring_mvc/services/webser?wsdl 可以在他本地直接生成客户端接口进行调用

浏览器输入   http://127.0.0.1:9090/spring_mvc/services/webser?wsdl  //webser 为接口名字自定义

第七步调用接口 新建项目

就这样webservice接口就轻松搞定。。。

关于webservice实现web接口的更多相关文章

  1. java web项目(spring项目)中集成webservice ,实现对外开放接口

    什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring ...

  2. C#winForm调用WebService的远程接口

    Web Service 的创建简单编码.发布和部署 上一篇详细概述了WebService的创建,编码,发布和部署,那么作为客户端的程序如何访问远程端的WebService 接下来看一下具体步骤:   ...

  3. Android应用安全之WEB接口安全

    Android应用安全不仅包括客户端的安全,也包括web接口的安全.移动App中的Web接口安全主要分为以下几块: 1.SQL注入漏洞 这是一个不能再常见的漏洞类型了,由于App的特性,开发人员认为使 ...

  4. Delphi XE5通过WebService开发Web服务端和手机客户端

    Delphi XE5通过WebService开发Web服务端和手机客户端介绍 我们开发一个三层的android程序 建立一个webservices  stand-alone vcl applicati ...

  5. JAVA WEB接口开发简述

    目录 1. JAVA WEB接口开发简述 1.1. 基本了解 1.2. 提供接口 1.3. 调用接口 1. JAVA WEB接口开发简述 1.1. 基本了解 当我们想去访问其他网站的接口时候,而又不想 ...

  6. Django Web接口开发

    什么是接口 接口一般来讲分为两种: (1)程序内部的接口:方法与方法.模块与模块之间的交互,程序内部抛出的接口,如登录发帖,发帖就必须要登录,如果不登录不能发帖,发帖和登录这两个模块之间就要有交互,就 ...

  7. 《Python Web 接口开发与测试》---即将出版

    为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化相关的,工作中的接口自动化颇有成效. 我一直是一个没有测试大格局的人,在各种移动测试技术爆发的这一年,我却默默耕耘着自己的一亩三分地儿(We ...

  8. web接口开发与测试

    最近一直在学习和整理web开发与接口测试的相关资料.接口测试本身毫无任何难度,甚至有很多工具和类库来帮助我们进行接口测试.大多测试人员很难深入了解web接口测试的原因是对web开发不太了解,当你越了解 ...

  9. JMeter基于http请求的web接口性能测试总结

    [本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...

随机推荐

  1. Codefroces 1328E Tree Querie(dfs序)

    Codefroces 1328E Tree Querie 题目 给出一棵1为根,n个节点的树,每次询问\(k_i\) 个节点,问是否存在这样一条路径: 从根出发,且每个节点在这条路径上或者距离路径的距 ...

  2. spring boot(一):什么是spring boot

    什么是spring boot 官网说的很清晰 一.Overview Spring Boot makes it easy to create stand-alone, production-grade ...

  3. 图像处理 jpg png gif svg

    jpg 图像格式 高压缩的,除了文字,线条外,用jpg 处理 GIF 图像格式 高压缩的,动图  PNG 图像格式 PNG是一种可携式网络图像格式.PNG一开始便结合GIF及JPG两家之长,打算一举取 ...

  4. 使用lua+redis解决发多张券的并发问题

    前言 公司有一个发券的接口有并发安全问题,下面列出这个问题和解决这个问题的方式. 业务描述 这个接口的作用是给会员发多张券码.涉及到4张主体,分别是:用户,券,券码,用户领取记录. 下面是改造前的伪代 ...

  5. 阿里云OSS整合

    一.对象存储OSS 为了解决海量数据存储与弹性扩容(主要是静态文件的存储例如图片,语音,视频等),项目中我们通常采用云存储的解决方案- 阿里云OSS. 1.开通"对象存储OSS"服 ...

  6. Oracle 10g 如何调整 sga_max_size 与 sga_target

    sga_max_size是相对于操作系统来讲的,当启动oracle时,一次性分配给oracle实例的sga不会超过sga_max_size值:而sga_target是相对于oracle这个正在运行的应 ...

  7. leetcode 1593. 拆分字符串使唯一子字符串的数目最大(DFS,剪枝)

    题目链接 leetcode 1593. 拆分字符串使唯一子字符串的数目最大 题意: 给你一个字符串 s ,请你拆分该字符串,并返回拆分后唯一子字符串的最大数目. 字符串 s 拆分后可以得到若干 非空子 ...

  8. [Usaco2015 dec]Breed Counting

    原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=4397 用线段树维护区间和即可.时间复杂度\(O((N+Q)logN)\). #includ ...

  9. USB充电限流芯片,输出短路关闭,过压关闭

    PW1503,PW1502是超低RDS(ON)开关,具有可编程的电流限制,以保护电源源于过电流和短路保护.它具有超温保护以及反向闭锁功能. PW1503,PW1502采用薄型(1毫米)5针薄型SOT2 ...

  10. eNSP启动设备AR1失败记一次解决步骤

    eNSP稳定版本下载:   微信搜索公众号"疯刘小三" 关注后回复ensp即可获得下载链接地址 eNSP V100R002C00B510 Setup.exe 最近在用eNSp的时候 ...