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. JAVA Executor(线程池)框架

    一.Executor概述 为更好控制线程,jdk提供一套线程管理框架Executor,帮助开发人员有效地进行线程控制.它们都位于java.util.concurrent包中,是jdk并发包的核心.其中 ...

  2. reactor模式:单线程的reactor模式

    reactor模式称之为响应器模式,常用于nio的网络通信框架,其服务架构图如下 不同于传统IO的串行调度方式,NIO把整个服务请求分为五个阶段 read:接收到请求,读取数据 decode:解码数据 ...

  3. spark常用提交任务的基本的参数配置

    #!/bin/bash #队列名 根据yarn的队列提交 realtime_queue=root #提交的任务名 my_job_name="OrderQZ" spark-shell ...

  4. String、StringBuffer 和 StringBuilder 的区别

    面试简答 区别: 1) String 长度大小不可变 2) StringBuffer 和 StringBuilder 长度可变 3) StringBuffer 线程安全 StringBuilder 线 ...

  5. redis 6.0新特性

    防止忘记,记录一下 1.多线程IO Redis 6引入多线程IO,但多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程.之所以这么设计是不想因为多线程而变得复杂,需要去控制 key. ...

  6. 发现一个怪象windows 7系统上老是丢包windows 10网络正常

    不知何故障,同一个局域网,windows 10系统上不丢包,windows 7系统老是丢包,不知是不是这二个系统的差区别,还是大家都有这样的情况. 相互PC之间ping也又不丢包,只有windos 7 ...

  7. ASP.NET Core - JWT认证实现

    一.JWT结构 JWT介绍就太多了,这里主要关注下Jwt的结构. Jwt中包含三个部分:Header(头部).Payload(负载).Signature(签名) Header:描述 JWT 的元数据的 ...

  8. 面试官:Netty的线程模型可不只是主从多Reactor这么简单

    笔者看来Netty的内核主要包括如下图三个部分: 其各个核心模块主要的职责如下: 内存管理 主要提高高效的内存管理,包含内存分配,内存回收. 网通通道 复制网络通信,例如实现对NIO.OIO等底层JA ...

  9. explain select * from xuehao;

    mysql> explain select * from xuehao;+----+-------------+--------+------+---------------+------+-- ...

  10. linux查看文件夹和磁盘内存及服务器对应的ip

    多进程统计cpu 数目 n_cpu = multiprocessing.cpu_count() print(n_cpu) 查看文件夹占用磁盘空间 du -h --max-depth=1 /path 查 ...