[01]基于webservice的权限系统
来源:互联网 发布:苹果电脑系统数据恢复 编辑:程序博客网 时间:2024/06/05 07:31
网上基于BS的通用的权限管理系统很多,但是通过webservice接口调用的权限管理系统却很少见。加上本人之前做过一段时间的微信开发,感觉做好一套api接口以供调用,会随着移动终端的发展显得更加重要。
以下,就是我做的一个基于cxf的webservice,若有不足,请大家给予指正。
这是此项目的目录结构,client包中存放用于测试部署的webservice的程序,dao中存放着相关的数据库的操作,model是对一个对象的封装,server包中存放着部署webservice的代码段,service存放了抽象接口,serviceImpl是具体实现,util中存放了具体的工具包,如c3p0数据库连接池。
今天,我就来说说,如何部署一个最简单的,不带数据库验证的基于cxf框架的webservice
1.首先是相关包的导入,具体不多说,可以去cxf官网下载
2.编写myservice中的抽象接口
@WebService public interface MyService {//@WebParam给参数命名,提高可代码可读性。此项可选 public String sayHi(@WebParam(name="text") String text);
3.编写具体实现类
@WebService public class MyServiceImpl implements MyService {//测试的webservicepublic String sayHi(String name) { System.out.println("sayHello is called by " + name); return "Hello" + name; }
4.接下来是服务器端程序的编写,启动服务端,如果可以成功访问http://localhost:9000/MyService?wsdl就说明部署成功。
public class Server {/** * 私有化构造方法,好处不多讲,就是封装的好处 * 在浏览器中,如若可以访问http://localhost:9000/MyService?wsdl则说明部署成功 */private Server() {MyServiceImpl ms = new MyServiceImpl();// 创建WebService服务工厂JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();// 注册WebService接口factory.setServiceClass(MyService.class);// 发布接口factory.setAddress("http://localhost:9000/MyService");factory.setServiceBean(ms);// 创建WebServicefactory.create();};public static void main(String[] args) throws InterruptedException {// 启动服务端new Server();System.out.println("Server ready...");// 休眠一分钟,便于测试//Thread.sleep(1000 * 60);//System.out.println("Server exit...");//System.exit(0);}}
5.可以访问wsdl,则说明部署成功,现在我们就通过客户端程序调用webservice来实现一个最简单的交互过程。
public class Client {private Client() {};public static void main(String[] args) throws Exception {// 创建WebService客户端代理工厂JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();// 注册WebService接口factory.setServiceClass(MyService.class);// 设置WebService地址factory.setAddress("http://localhost:9000/MyService");MyService service = (MyService) factory.create();System.out.println("简单的cxf:" + service.sayHi("qzp"));}
控制台会输出
简单的cxf:Helloqzp
相关概念的解释:
以上是一个最简单的webservice的过程,下面我们对webservice中常用的概念做相关的解释和说明
1.服务(Service)的命名应遵守以下原则:
(1)服务命名为英文;
(2)服务的第一个英文单词的首字母小写,后续每个英文单词的首字母大写(常说的驼峰法);
此项目中服务名就是MyserviceImpl2.操作就是服务名下面所有的具体的方法,如此处的sayHi();
3.WSDL是提供服务描述的,它包括如下两部分
(1) 数据类型定义Xml Schema文件,类型的命名空间为“http://ip:port/qxkz/service/schema/”,简称“st”;
(2)服务定义wsdl文件,其服务的命名空间为“http:// www. ip:port/ qxkz/service/cswebservice”,简称“sns”。
4.数据协议
采用WebService Soap协议。客户端和服务端采用XML格式的字符串来交互业务数据,客户端将业务数据组织成XML格式的字符串作为入参调用服务端接口,服务端解析XML格式的字符串得到业务数据处理业务并把结果组织成XML格式的字符串返回给客户端。
此案例,不涉及xml部分,但是后面会对此做详细的讲解。好,今天先简单的介绍一下webservice和简单的使用,下面,我会对此做深入的介绍,以及整个权限管理系统的源码介绍。
- [01]基于webservice的权限系统
- [02]基于webservice的权限系统
- [03]基于webservice的权限系统
- 基于角色的权限系统
- 基于WEBSERVICE的课件系统(三)
- 做一个基于WebService的系统
- 基于数据库的权限系统的设计
- OA-基于功能点的权限系统
- 基于角色管理(RBAC)的权限系统
- 基于角色管理(RBAC)的权限系统
- 基于角色管理(RBAC)的权限系统
- 基于角色管理(RBAC)的权限系统
- 基于RBAC的权限管理系统
- 基于角色的权限系统设计思想
- Yii基于RBAC的权限系统
- 基于RBAC的saas权限系统设计
- 基于SSM-EasyUI的权限管理系统
- 基于WEBSERVICE的课件系统(四,后记)
- 数组的指针特性
- DSP-BIOS使用入门
- Anagrams by Stack(堆栈字迷)
- 离开武汉 5年,说下对他印象 和一些思考
- 使用Tcl脚本分配FPGA管脚
- [01]基于webservice的权限系统
- Markdown中插入数学公式的方法
- 若干linux问题
- 金庸武侠小说之我的见解
- 实例学习gcc+gdb+make
- 百度测试开发工程师笔试面试
- netpoll浅析
- Fitnesse使用系列七
- 改变世界的17个等式