java webservice 数据库_Java WebService 实现读写Redis数据库

1、MyEclipse10

2、JDK 1.7.0

3、apache-tomcat-6.0.13

二、创建服务端

1、创建【Web Service Project】,命名为【TheService】。

a3d5d7f74570efd26f45461e92588b69.png

adde5623f1e20ba047f04574974c44f6.png

2、创建【Class】类,命名为【ServiceHello】,位于【com.wty.service】包下。

bea88cf99711d0cd92c16c119f12fe4e.png

c9ef18802601af6db274bfbcf6d13671.png

3、编写供客户端调用的方法,即编译方法代码。

398ee8fff6b86a2cfe9dbc027ffe26a5.png

package com.wty.service;

import javax.jws.WebService;//包别引用错了

import javax.xml.ws.Endpoint;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.Transaction;

@WebService //注解别忘记加了

public class ServiceHello {

/**

* 下面这些方法为客户端调用的方法,方法名任意命令即可

*/

public String getValue(String name){

return "我叫:"+name;

}

private Jedis jedis;// 非切片客户端连接

public void startRedis() {

jedis = new Jedis("127.0.0.1", 6379);

}

/**

* String读写操作

*

* @param key

* @return

*/

public String get(String key) {

String getStr = jedis.get(key);

return getStr;

}

public String set(String key, String value) {

String setStr = jedis.set(key, value);

return setStr;

}

/**

* hash读写操作

*

* @param hash

* @param key

* @return

*/

public String hash_get(String key, String field) {

String getStr = jedis.hget(key, field);

return getStr;

}

public Long hash_set(String key, String field, String value) {

Long setStr = jedis.hset(key, field, value);

return setStr;

}

/**

* hincrby增值操作

*

* @param key

* @param field

* @param value

* @return

*/

public Long hincre(String key, String field, int value) {

Long incrStr = jedis.hincrBy(key, field, value);

return incrStr;

}

/**

* multi事务操作

*

* @return

*/

public Transaction multi() {

Transaction tranOpera = jedis.multi();

return tranOpera;

}

/**

* 清0操作

* @return

*/

public String flushDB() {

String flushOpera = jedis.flushDB();

return flushOpera;

}

/**

* 选择数据库

* @param index

* @return

*/

public String selectDB(int index) {

String selectOpera = jedis.select(index);

return selectOpera;

}

public static void main(String[] args) {

// 下面这句很重要,用于发布服务端,建议用8080端口,因为tomcat默认为8080,

Endpoint.publish("http://219.245.72.20:8080/Service/ServiceHello", new ServiceHello());

System.out.println("service success!");

}

}

4、进行tomcat部署

如果只在本机测试,就不用部署到tomcat中了,直接编译服务端程序即可。部署到tomcat中是为了让非本机访问webService。

4478a562c46f0669f2f6e97e1d6673e2.png

853c09732a76be8916ccad89470bf52c.png

2d77350e310d87ffedad5adfcf51165e.png

5、挂起tomcat,并测试是否成功启动tomcat

71b50e0c256993d3564f13aef13f56c6.png

b58aaef7cc2c809dabf2652c961fabd0.png

6、进行服务端工程编译

说明:编译失败的话,请将该项目引用的jdk设置更高版本

51d4e55b61a606ecb88cca017a1b4aae.png

c7301fce5898a4a6e709d90ba509ff1b.png

编译成功。

7、测试结果

测试地址:http://219.245.72.20:8080/Service/ServiceHello?wsdl

dc9a0ef3c76e7cca825e93048f50cf4c.png

三、生成客户端

客户端负责调用刚建立的webService,谁要调用,在谁的机子上建立。

1、创建【Web Service Project】,命名为【TheClient】。

555fe4950244b3fddf3032427cc2abd8.png

351a8d543687e540fc4368dc85203b0c.png

此时TheClient工程为空。

2、命令提示窗口执行生成命令。

格式:wsimport -s"src目录"-p“生成类所在包名”-keep

“wsdl发布地址”

示例:

wsimport -s f:\\Workspaces\\TheClient\\src -p com.wty.client -keep http://219.245.72.20:8080/Service/ServiceHello?wsdl

说明:

1)"src目录"地址不可含空格

2)“wsdl发布地址”不要漏了“?wsdl”

7e1207d392dd2035993a53d8bdc7c759.png

解决如下:

81b1f6d36bd0a7016ad450daece72701.png

3、刷新TheClient项目,检查自动生成类(其中带有Response后缀的java文件就是服务端的方法)

c88b14b4ca19a9b02fd9f561926944a1.png

四、最终测试

1、创建【Class】类,命名为【ServiceTest】,位于【com.wty.test】包下。

1f9773e104535beea204f90ff10b777a.png

2、编写测试方法,调用服务端方法,并打印返回的结果。

package com.wty.test;

import com.wty.client.ServiceHello;

import com.wty.client.ServiceHelloService;

public class ServiceTest {

/**

* @param args

*/

public static void main(String[] args) {

ServiceHello hello = new ServiceHelloService().getServiceHelloPort();

hello.startRedis();

String result = hello.get("1011");

System.out.println(result);

}

}

由于调用服务端的读写Redis服务器的方法,比如get("1011")方法,

d15e0c1a4649a294b747244650633141.png

这里记得要开Redis服务器

627ab24c7b4bc0362cfad1e997b6f13f.png

只要在一个局域网里,其他机子也可以访问调用上述webService的任何一个方法。

五、引用参考

http://www.iteye.com/topic/1135747

Java WebService 实现读写Redis数据库

标签:java webservice   读写redis数据库   webservice   redis

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://blog.csdn.net/wtyvhreal/article/details/45953953

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值