使用JDK开发WebServrice案例
使用JDK开发WebServrice案例:
一、开发WebService服务器端
第一步:创建Java工程 ,创建相应的包(服务端)使用JDK开发(1.6以上版本)
第二步:建一个接口WebServiceI,创建方法:
package com.liuyongqi.WebService.service; import javax.jws.WebMethod;
import javax.jws.WebService; /**
* WebServiceI接口
* @author Administrator
* @data 2018年9月18日
* @time 下午2:14:03
*/
@WebService //使用@WebService注解标注WebServiceI接口
public interface WebServiceI {
/**
* 根据用户名和密码得到该用户的信息
* @param username
* @param password
* @return
*/
@WebMethod //使用WebMethod注解标注WebService接口中的方法
public String getUsersByUsernameAndPassword(String username,String password);
}
第三步:编写WebServiceI接口的实现类WebServiceImpl,使用@WebService注解标注实现类,并实现接口所有方法:
package com.liuyongqi.WebService.service; import java.util.List; import javax.jws.WebService; import com.liuyongqi.WebService.biz.IUsersBiz;
import com.liuyongqi.WebService.biz.impl.UsersBizImpl;
import com.liuyongqi.WebService.pojo.Users; /**
* WebServiceI接口的实现类
* @author Administrator
* @data 2018年9月18日
* @time 下午2:19:51
*/
@WebService //使用@WebService注解标注WebServiceI接口的实现类
public class WebServiceImpl implements WebServiceI{ @Override
public String getUsersByUsernameAndPassword(String username, String password) {
// TODO Auto-generated method stub
IUsersBiz iusersBiz=new UsersBizImpl();
List<Users> list = iusersBiz.getUsersByUsernameAndPassword(username, password);
String str=null;
if(list.size()!=0&&list!=null) {
str="用户名:"+list.get(0).getUsername()+" 密码:"+list.get(0).getPassword();
}
return str;
} }
第四步:写发布类WebServicePublish,使用Endponit(终端)类发布WebService
package com.liuyongqi.WebService; import javax.xml.ws.Endpoint; import com.liuyongqi.WebService.service.WebServiceImpl; /**
* 发布类WebServicePublish,使用Endponit(终端)类发布WebService
* @author Administrator
* @data 2018年9月18日
* @time 下午2:24:09
*/
public class WebServicePublish {
public static void main(String[] args) {
String address="http://192.168.43.82:9003/WebService/UsersService";
Endpoint.publish(address, new WebServiceImpl());
System.err.println("发布成功");
}
}
第五步:使用Eclipse自带的工具测试服务端
第六步:测试网址:
二、客户端(终端)访问WebService
第一步:创建终端工程,主要用来实现接收服务端的暴露。
第二步:找到客户端源代码路径,
在命令框中输入:wsimport -keep http://192.168.43.82:9003/WebService/UsersService?wsdl
第三步:创建Test.java测试类,在main方法中:
package com.liuyongqi.WebServiceClient; import com.liuyongqi.webservice.service.WebServiceImpl;
import com.liuyongqi.webservice.service.WebServiceImplService; /**
*WebServiceClient测试类
* @author Administrator
* @data 2018年9月18日
* @time 下午2:45:26
*/
public class Test {
public static void main(String[] args) {
//先创建服务对象
WebServiceImplService webServiceImplService = new WebServiceImplService();
//根据服务对象得到端口
WebServiceImpl webServiceImplPort = webServiceImplService.getWebServiceImplPort();
//通过端口调用暴露的方法
String usersByUsernameAndPassword = webServiceImplPort.getUsersByUsernameAndPassword("admin", "123456");
System.out.println(usersByUsernameAndPassword);
} }
如果大家想浏览我的下一篇文章,请留言
使用JDK开发WebServrice案例的更多相关文章
- Unit01: JAVA开发环境案例
Top JAVA Fundamental DAY01 JDK及Eclipse目录结构操作 JDK的安装及配置 控制台版的JAVA HelloWorld 使用Eclipse开发Java应用程序 1 JD ...
- 使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- 2.使用JDK开发webService
使用jdk开发webService需要注意:jdk版本必须1.6以及1.6以上! 以下webService的组成部分: server端和client端,通过服务器端(server)webService ...
- Java配置----JDK开发环境搭建及环境变量配置
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- WebService学习总结(三)——使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- CodeIgniter开发实际案例-新闻网站【转】
CodeIgniter开发实际案例-新闻网站 转:http://blog.csdn.net/ict2014/article/details/22104711?utm_source=tuicool&am ...
- WebService-使用JDK开发WebService
一.使用JDK开发WebService 2.1.开发WebService服务器端 1.定义一个interface,使用@WebService注解标注接口,使用@WebMethod注解标注接口中定义的所 ...
- WebService学习--(三)使用JDK开发WebService
一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...
- 【Android Studio安装部署系列】一、JDK开发环境搭建
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio安装后自带jre,这个自带jre的版本号肯定比最新的版本号要小. 但是如果项目中没有用到新版本jdk的特 ...
随机推荐
- 【Machine Learning】决策树之简介(1)
Content 1.decision tree representation 2.ID3:a top down learning algorithm 3.expressiveness of data ...
- 弧形菜单(Android)
弧形菜单(Android) 前言:公司需求,自己写的一个弧形菜单! 效果: 开发环境:AndroidStudio2.2.1+gradle-2.14.1 涉及知识:1.自定义控件,2.事件分发等 部分代 ...
- Mysql存储Emoji表情[为何utf8不能存储以及如何使Mysql能够存储Emoji表情]
https://segmentfault.com/a/1190000008533577
- ansible之基本原理及命令
什么是ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(\(puppet.chef.func.fabric\))的优点,实现了批量系统配置.批量程序部署 ...
- python StringIO&BytesIO
StringIO StringIO就是在内存中读写str 要把str写入StringIO,先创建一个StringIO >>> from io import StringIO>& ...
- 关于cmake输出动态链接库名字的问题
使用cmake进行项目编译管理时,我们经常使用 add_library(foo SHARED foo.cpp) 这样的话,输出时,如果在win下面会得到foo.dll,linux下面会得到libfoo ...
- AngularJs学习笔记--Understanding the Controller Component
原版地址:http://docs.angularjs.org/guide/dev_guide.mvc.understanding_model 在angular中,controller是一个javasc ...
- Struts2注解开发
Hibernate和spring框架的开发前边总结了,这次看一下流行的MVC流程框架Struts2的注解开发吧.Struts2主要解决了从JSP到Action上的流程管理,如何进行Uri和action ...
- 一.Mysql主从复制配置
在我之前的文章四·安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz(基于Centos7源码安装 和 九.mysql数据库多实例安装mysqld_multi [st ...
- UVa 1262 - Password(解码)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...