- 浏览: 908857 次
- 性别:
- 来自: 黑龙江
文章分类
- 全部博客 (209)
- struts1 (3)
- hibernate3 (19)
- java (13)
- spring2 (5)
- netBeans (1)
- eclipse (1)
- JSF (1)
- DIV+CSS篇章 (1)
- jFreeChart+Oracle之曲线,柱状及饼状图的实现 (1)
- JSF知识与技巧 (3)
- Oracle数据类型的介绍与比较 (2)
- J2EE (2)
- Ajax技术 (4)
- javaScript技术 (25)
- struts2 (16)
- C/C++程序设计 (1)
- oracle系统学习 (29)
- 算法分析 (0)
- Linux实践 (7)
- extjs开发经验 (13)
- flex开发总结 (1)
- FusionCharts总结 (0)
- 高级数据库总结 (0)
- SVG拓扑图开发总结 (0)
- CSS (1)
- CSS使用简介 (1)
- SVG (0)
- DOJO (0)
- Junit测试 (0)
- lucene (24)
- solr (6)
- tokyo tyrant 技术 (7)
- Html5 (1)
- 算法与数据结构 (0)
- 物联网相关技术学习 (0)
- UI设计 (1)
- webservice (0)
- Android (5)
- hibernate4 (3)
- solrcloud (0)
- dorado5 (0)
- dorado7 (0)
- elasticsearch (0)
- GWT (0)
- node.js (0)
- 并发编程 (1)
- 大数据 (1)
- 项目经验 (5)
最新评论
-
cs261244787:
楼主好人! 平安
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
xinsiyou:
牛逼,就是样式被搞没了
JS实现选项右移,左移,向上,向下调整顺序 -
unnamed__:
这代码风格就像一坨翔
java获取数据库的列名,类型等信息
1.服务器端:使用TT存储数据,开启服务端:
2.基于http协议的客户端实现代码:
cd /home/wlh/tt/tokyotyrant/bin/ ./ttserver -host 127.0.0.1 -port 1998 -ulog ulog-1 -sid 1 casket.tch
2.基于http协议的客户端实现代码:
package com.tt.client; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class HttpClientTest { //服务端主机地址 public static final String TTSERVER_HOST = "http://10.236.0.12"; //服务端端口号 public static final int TTSERVER_PORT = 1998; /** * @date 2011.12.26 * @Administrator wanglihu * @throws IOException */ public static void main(String[] args) throws IOException { HttpRequest hq = new HttpRequest(); //存储数据,发送put请求 String msg = hq.put("test_key", "test_value", 0, TTSERVER_HOST, TTSERVER_PORT); System.out.println(msg);//test_valueCreated msg = hq.put("test_key","test_value1", 0,TTSERVER_HOST, TTSERVER_PORT); System.out.println(msg);//Exception in thread "main" java.io.FileNotFoundException: http://10.236.0.12:1998/test_key //通过key值获得value数据 msg = hq.get("test_key", TTSERVER_HOST, TTSERVER_PORT); System.out.println(msg);//test_value msg = hq.options(TTSERVER_HOST, TTSERVER_PORT); System.out.println(msg);//空值 msg = hq.head("test_key", TTSERVER_HOST, TTSERVER_PORT); System.out.println(msg);//空值 msg = hq.delete("test_key", TTSERVER_HOST, TTSERVER_PORT); System.out.println(msg);//OK msg = hq.get("test_key", TTSERVER_HOST, TTSERVER_PORT); System.out.println(msg);//Exception in thread "main" java.io.FileNotFoundException: http://10.236.0.12:1998/test_key } } final class HttpRequest{ public final String put(String key,String value,int flag,String host,int port) throws IOException{ if(flag < 0 || flag > 2){ flag = 0; } URL url = new URL(host + ":" + port + "/" +key); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); connection.setRequestMethod("PUT");//总共有其中方法:GET,POST,HEAD,OPTIONS,PUT,DELETE,TRACE,CONNECT connection.setRequestProperty("HOST", host + ":" +port);//设置主机和端口号 connection.setRequestProperty("ACCEPT", "*/*");//设置可以接受的媒体(头部) //PUT有header"X-TT-PDMODE",值可以是1(同'tcrdbputkeep'),2(同'tcrdbputcat'),3(同'tcrdbput') //POST可以有header"X-TT-XNAME"或者"X-TT-MNAME"中的一个. //X-TT-XNAME等同于"tcrdbext",用于指定函数名,header"X-TT-XOPTS"用于bitwise-or选项,1(记录锁)和2(全局锁), //每个请的URI将被作为URL编码过的key对待,而实体内容被作为value,结果表示在应答的实体正文中。 //header"X-TT-MOPTS"用于bitwise-or选项,1(忽略更新日志),请求参数用"application/x-www-form-urlencoded"格式表示在实体正文中, //名字被忽略而值被作为参数列表。结果在应答的实体正文中用"application/x-www.form-url-urlencoded"格式表示 //PUT有header"X-TT-PDMODE",值可以是1(同'tcrdbputkeep'),2(同'tcrdbputcat'),3(同'tcrdbput') connection.setRequestProperty("X-TT-PDMODE:", " 2 "); //设置连接主机超市(单位:毫秒) connection.setConnectTimeout(30000); //设置从主机读取数据超时(单位:毫秒) connection.setReadTimeout(30000); connection.connect(); OutputStream outputStream = connection.getOutputStream(); //通过输出流对象构建对象输入流,以实现输出可序列化的对象 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(outputStream)); //想对象输出流写出数据,这些数据将存到内存缓冲区中 bw.write(value); //刷新对象输出流,将任何字节都写入潜在的流中 bw.flush(); //关闭对象流,此时,不能再想对象输出流中写入任何数据,先前写入的数据存在于内存缓冲区中 //在调用下面的getInputStream()函数时才把准备好的http请求正是发送到服务器 bw.close(); //connection.getInputStream(),将内存缓冲区中封装好的完整的HTTP请求电文发送到服务端 BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));//注意,实际发送请求的代码段就在这里 //上面的connection.getInputStream()方法已调用,本次http请求结束,下边向对象输出流的输出已无意义。 //即使对象输出流没有调用close()方法,下面的操作也不会向对象输出流写入任何数据。 //因此,要重新发送数据时需要重新创建连接、重新设参数、重新创建流对象、重新写数据,重新发送数据 StringBuffer buffer = new StringBuffer(100); buffer.append(value); String line = null; if(br == null){ System.out.println("result is null!"); } while((line = br.readLine()) != null){ buffer.append(line); buffer.append("\r\n"); } br.close(); return buffer.toString(); } public final String get(String key , String host,int port) throws IOException{ URL url = new URL(host + ":" + port + "/" +key); //HttpURLConnection对象实际上是根据URL的请求协议(此处是http)生成的URLConnection类的子类HttpURLConnection, //故此处最好将其转化为HttpURLConnection类型的对象,以便用到HttpURLConnection更多的API HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //设置是否向HttpURLConnection读入,默认情况下是false connection.setDoInput(true); //对象参数1:设置是否向HttpURLConnection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true,默认情况下是false connection.setDoOutput(true); //请求不能使用缓存 connection.setUseCaches(false); //设定传送的内容类型是可序列化的java对象(如果不设此项,在传送序列化对象时,当Web服务默认的不是这种类型时可能抛出java.io.EOFException) connection.setRequestProperty("Content-type", "application/x-java-serialized-object"); //设置请求的方法是"GET",默认就是GET connection.setRequestMethod("GET"); connection.setRequestProperty("HOST", host + ":" +port); connection.setRequestProperty("ACCEPT", "*/*"); //上面的配置信息必须在connect之前完成 connection.connect(); //此处的getInputStream会隐含的进行connect(即:如同调用上面的connect()方法,所以在开发中不调用上述connect()也可以) //通过输入流对象构建对象输入流,以实现输入可序列化的对象 BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuffer buffer = new StringBuffer(100); String line = null; if(br == null){ System.out.println("result is null!"); } while((line = br.readLine()) != null){ buffer.append(line); buffer.append("\r\n"); } br.close(); return buffer.toString(); } public final String delete(String key,String host,int port)throws IOException{ URL url = new URL(host + ":" + port + "/" +key); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); connection.setRequestMethod("DELETE"); connection.setRequestProperty("HOST", host + ":" +port); connection.setRequestProperty("ACCEPT", "*/*"); connection.connect(); BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuffer buffer = new StringBuffer(100); String line = null; if(br == null){ System.out.println("result is null!"); } while((line = br.readLine()) != null){ buffer.append(line); buffer.append("\r\n"); } br.close(); return buffer.toString(); } public final String options(String host,int port)throws IOException{ URL url = new URL(host + ":" + port + "/"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); connection.setRequestMethod("OPTIONS"); connection.setRequestProperty("HOST", host + ":" +port); connection.setRequestProperty("ACCEPT", "*/*"); connection.connect(); BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuffer buffer = new StringBuffer(100); String line = null; if(br == null){ System.out.println("result is null!"); } while((line = br.readLine()) != null){ buffer.append(line); buffer.append("\r\n"); } br.close(); return buffer.toString(); } public final String head(String key,String host,int port)throws IOException{ URL url = new URL(host + ":" + port + "/" + key); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.setDoOutput(true); connection.setRequestMethod("OPTIONS"); connection.setRequestProperty("HOST", host + ":" +port); connection.setRequestProperty("ACCEPT", "*/*"); connection.connect(); BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuffer buffer = new StringBuffer(100); String line = null; if(br == null){ System.out.println("result is null!"); } while((line = br.readLine()) != null){ buffer.append(line); buffer.append("\r\n"); } br.close(); return buffer.toString(); } }
发表评论
-
JDBC连接数据库的步骤及使用说明
2012-02-16 08:33 1461数据库连接的一般过程为: 1.载入JDBC驱动程序 Cla ... -
使用PinYin4j.jar将汉字转换为拼音使用实例
2011-12-29 18:11 12955package com.wlh.lucene.test2; ... -
lucene3.x中QueryParser的语法规则
2011-12-31 10:13 1993lucene提供的QueryParser,他就能够理解用户,通 ... -
基于jar包搭建sorl3.5搜索服务器
2011-12-28 16:08 2091基于jar包搭建sorl3.5搜索 ... -
使用split函数进行多个空格分割
2011-12-27 18:05 35839在项目中经常会遇到按字符分割字符串的情况,可以使用String ... -
ttulmgr命令
2011-12-27 10:16 1440'ttulmgr'命令是导入导出更新日志的工具。对于通过使用文 ... -
ttservctl命令
2011-12-26 12:11 1562命令 ttservctl 是服务器的启动脚本。他可以调用操作系 ... -
ttserver服务端命令
2011-12-26 12:07 4579ttserver命令可以启动数据库实例,再启动的时候需要指定数 ... -
tokyocabinet数据库自定义安装步骤
2011-12-26 10:02 1926tokyocabinet-1.4.47.tar.gz下载地址: ... -
tokyocabinet数据库默认安装步骤
2011-12-26 10:00 1131默认安装目录为:/usr/local/ 首先安装tokyoca ... -
TOKYO TYRANT介绍
2011-12-26 09:51 1123Tokyo Tyrant是名为Tokyo Cabinet的DB ... -
求两个日期间的月份/日/小时集合
2011-09-17 14:43 2418import java.text.DateFormat; i ... -
Java压缩中遇到中文文件名问题 貌似可以解决
2011-04-19 09:40 2124Java压缩中遇到中文文件名问题 貌似可以解决 书接上文,上 ... -
AIX系统的环境变量设置
2011-04-19 09:16 4929AIX系统的环境变量设置 用户环境的定义是通过设置环境变量 ... -
turboLinux8忘记root密码的解决办法
2010-03-07 13:34 16351.将turboLinux8系统光盘放入光驱,启动服务器,并设 ... -
删除和装载模块-hba卡
2009-05-13 22:53 2326假如rac节点上某一台服务器执行fdisk -l命令看不到共享 ... -
java读取xml文件
2009-05-10 20:56 20091.java类 package com.java.test; ... -
java语言连接MySql,Sqlserver,Oracle
2009-05-10 19:58 1196连接 MySql 数据库,代码如下: Class.forN ... -
解决linux服务器上dd操作时识别不到磁盘问题
2009-05-10 19:28 2740说明:在多块盘进行dd操作的时候,当将3块目标盘插入到母盘服务 ... -
linux客户端ntp服务配置
2009-05-10 18:56 3431================时钟同步设置========= ...
相关推荐
-- sip协议栈基于java的源码实例、内含jar包,用Eclipse直接打开运行。 -- 先运行server.java的main方法,再运行client.java的main方法
因工作需要,研究了OPC ua协议,使用Java语言连接操作OPC。本资源里面包括了代码和连接工具,以及.Net的运行环境。
java语言实现的基于UDP协议的客户端与服务器端代码实现
基于java开发的onebot协议客户端
基于java的开发源码-异步HTTP客户端开发包 HttpAsyncClient.zip 基于java的开发源码-异步HTTP客户端开发包 HttpAsyncClient.zip 基于java的开发源码-异步HTTP客户端开发包 HttpAsyncClient.zip 基于java的开发源码-...
Memcached的java客户端已经存在三种了: 1.官方提供的基于传统阻塞io由Greg Whalin维护的客户端。 较早推出的memcached JAVA客户端API,应用广泛,运行比较稳定。 2.spymemcached,支持异步,单线程的memcached客户端...
基于java实现的IEC104协议主站客户端程序源码, IEC104是一种基于TCP/IP的电力行业通信协议,主要用于数据远程监控等功能。通信有一般有主要发送数据、接收命令的从站服务端和接收数据、发送命令的主站客户端构成。...
它是建立在FTP 协议上的用于网络环境下进行文件 传输的一种文件传输系统,几乎可以传输各种类型的 文件#如文本文件、声音文件$图像文件等。 一个文件 传输系统由服务器端程序和客户端程序共同组成#客 户端程序提供...
本程序基于SSL/TLS协议的三元组认证的安全文件传输系统的设计和实现。采用java实现,java对SSL/TLS协议和加密技术封装的比较好,有兴趣可以下下来看一下
基于java的开发源码-Tcp服务端与客户端的JAVA实例源代码.zip 基于java的开发源码-Tcp服务端与客户端的JAVA实例源代码.zip 基于java的开发源码-Tcp服务端与客户端的JAVA实例源代码.zip 基于java的开发源码-Tcp服务端...
基于HTTP协议的WEB服务器,简易版的Tomcat.服务端读取配置文件完成对服务 器的初始化,并通过Socket网络编程架构服务器端.浏览器作为客户端,向服务器发送请求.服务端接受请求并将其封装为一个HTTPRequest对象,并对其...
一个基于IEC60870-5-101 2002版的通讯仿真程序,绿色免安装。可以将IEC101协议适用于TCP,UDP ,串口等多种通讯模式。具有数据监视,报文解析功能等功能,具体安装和使用参考包的程序说明文档。
SCANFISH-II 型声呐系统数据接口协议,对接tcp转发app,json封装
Java Socket编程 PC端程序 用来传输文件 包括服务器、客户端
Http协议是一个基于请求-响应模式的协议,客户端发送请求,服务器返回响应。请求和响应的格式都是由Http报文组成的,请求报文包括请求头和请求体,响应报文包括响应头和响应体。在Http请求中,常见的请求方法有GET和...
阐述了MapInfo公司推出的100%纯Java的WebGIS平台MapXtreme Java的体系结构,分析了中等客户端模式的工作原理与通信机制,描述了基于中等客户端实现WebGIS系统的关键技术,最后给出一个实例。
用j2se写的一个简单的聊天系统,写了客户端和服务器。用到了socket,流读写技术,服务器端采用了多线程等技术。基本上涵盖了j2se中所有学到的技术,非常适合学习了j2se的初学者练习使用。
编程语言:Java 基于TCP协议的设计与实现 一次课程实践作业 实现了多客户端,多服务器,通过一个代理服务器进行通信的酒店预订系统 数据库使用的是MySQL, 包含完整的设计文档与用户手册。
基于springboot实现的opc 客户端,该样例经过本人亲自测试,已用于实际项目中,有疑问欢迎留言交流。