zoukankan      html  css  js  c++  java
  • 使用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);
            }
     
    }

    如果大家想浏览我的下一篇文章,请留言

  • 相关阅读:
    详解事件驱动跟消息驱动机制相比
    浏览器加载 CommonJS 模块的原理与实现
    全面理解 javascript 的 argements caller callee call apply 之caller
    在javaScript中检测数据类型的几种方式
    Netbeans IDE 安装Emmet插件并解决Emmet插件无效果问题
    JS的 try catch使用心得
    safari 浏览器 input textarea select 等不能响应用户输入
    js十大排序算法
    js实现 页面加载 完成 后顺序 执行
    原生JS封装 toast 弹层,自动关闭
  • 原文地址:https://www.cnblogs.com/liuyongqi2332826438/p/9683536.html
Copyright © 2011-2022 走看看