【java框架】
龙轩
熟悉javaee开发,有多年支付领域的开发经验。关注开源~
httpclientUtil开源项目创建者。https://github.com/Arronlong
展开
-
由dwr不支持重载的方法探究dwr的运行机制
上篇博文中简单分享了一个dwr的小例子。在做小例子的过程中,发现了一个有趣的现象:dwr不支持重载的方法。原创 2014-05-07 10:25:16 · 2535 阅读 · 12 评论 -
HttpClient3.x之Get请求和Post请求示例
HttpClient的支持在HTTP/1.1规范中定义的所有的HTTP方法:GET, HEAD, POST, PUT, DELETE, TRACE 和 OPTIONS。每有一个方法都有一个对应的类:HttpGet,HttpHead,HttpPost,HttpPut,HttpDelete,HttpTrace和HttpOptions。所有的这些类均实现了HttpUriRequest接口,故可以作为ex原创 2015-01-31 20:41:24 · 4188 阅读 · 6 评论 -
Shiro权限框架简介
最近加入了gxpt项目组,被安排做权限模块,所以也有幸第一次接触到了Shiro框架。让我们来一起领略Shiro的风采吧。什么是Apache Shiro? Apache Shiro(发音为“shee-roh”,日语“堡垒(Castle)”的意思)是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障 - 从命令行应用、移动应用到大型网络及原创 2014-01-05 23:51:16 · 27365 阅读 · 36 评论 -
轻松搞定RabbitMQ(五)——路由选择
翻译地址:http://www.rabbitmq.com/tutorials/tutorial-four-java.html在前篇博文中,我们建立了一个简单的日志系统。可以广播消息给多个消费者。本篇博文,我们将添加新的特性——我们可以只订阅部分消息。比如:我们可以接收Error级别的消息写入文件。同时仍然可以在控制台打印所有日志。目录Bindings绑定Direct exchange直接转发Multiple bindings多重绑定Emitting logs发送日志Subscribing订阅翻译 2015-09-29 14:44:41 · 9847 阅读 · 0 评论 -
轻松搞定RabbitMQ(二)——工作队列之消息分发机制
上一篇博文中简单介绍了一下RabbitMQ的基础知识,并写了一个经典语言入门程序——HelloWorld。本篇博文中我们将会创建一个工作队列用来在工作者(consumer)间分发耗时任务。同样是翻译的官网实例。翻译 2015-09-24 18:46:29 · 15845 阅读 · 0 评论 -
轻松搞定RabbitMQ(一)——RabbitMQ基础知识+HelloWorld
本文是简单介绍一下RabbitMQ,参考官网上的教程。同时加入了一些自己的理解。官网教程详见:"Hello World!"。引言 你是否遇到过多个系统间需要通过定时任务来同步某些数据? 你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎? 如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、翻译 2015-09-23 16:26:11 · 11767 阅读 · 4 评论 -
自己封装的poi操作Excel工具类
在上一篇文章《使用poi读写Excel》中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类。 该工具类主要完成的功能是:读取Excel、汇总Excel的功能。在读取时,可以设定开始和结束读取的位置、设定是否读取多个sheet、设定读取那个或者那些sheet等。在汇总时,如设定是否覆盖目标文件、设定是否比较检查重复内容、设定检查重复的列索引等功能。原创 2014-10-29 23:55:23 · 32282 阅读 · 24 评论 -
轻松把玩HttpAsyncClient之模拟post请求示例
如果看到过我前些天写过的《轻松把玩HttpClient之模拟post请求示例》这篇文章,你再看本文就是小菜一碟了,如果你顺便懂一些NIO,基本上是毫无压力了。因为HttpAsyncClient相对于HttpClient,就多了一个NIO,这也是为什么支持异步的原因。不过我有一个疑问,虽说NIO是同步非阻塞IO,但是HttpAsyncClient提供了回调的机制,这点儿跟netty很像,所以可以模拟原创 2015-11-23 09:13:47 · 24857 阅读 · 11 评论 -
轻松把玩HttpClient之封装HttpClient工具类(四),单线程调用及多线程批量调用测试
本文主要来分享一下该工具类的测试结果。工具类的整体源码不再单独分享,源码基本上都已经在文章中了。开始我们的测试。单线程调用测试: public static void testOne() throws HttpProcessException{ System.out.println("--------简单方式调用(默认post)--------"); String url = "ht原创 2015-11-19 11:21:35 · 11197 阅读 · 0 评论 -
轻松把玩HttpClient之封装HttpClient工具类(二),插件式配置HttpClient对象
上一篇文章中,简单分享一下封装HttpClient工具类的思路及部分代码,本文将分享如何实现插件式配置HttpClient对象。如果你看过我前面的几篇关于HttpClient的文章或者官网示例,应该都知道HttpClient对象在创建时,都可以设置各种参数,但是却没有简单的进行封装,比如对我来说比较重要的3个:代理、ssl(包含绕过证书验证和自定义证书验证)、超时。还需要自己写。所以这里我就简单封原创 2015-11-19 11:20:30 · 21155 阅读 · 0 评论 -
轻松把玩HttpClient之封装HttpClient工具类(三),插件式配置Header
上篇文章介绍了插件式配置HttpClient,本文将介绍插件式配置Header。为什么要配置header在前面已经提到了,还里再简单说一下,要使用HttpClient模拟请求,去访问各种接口或者网站资源,都有可能有各种限制,比如说java客户端模拟访问csdn博客,就必须设置User-Agent,否则就报错了。还有各种其他情况,必须的设置一些特定的Header,才能请求成功,或者才能不出问题。好了原创 2015-11-19 11:20:47 · 20787 阅读 · 1 评论 -
轻松把玩HttpClient之封装HttpClient工具类(一)(现有网上分享中的最强大的工具类)
搜了一下网络上别人封装的HttpClient,大部分特别简单,有一些看起来比较高级,但是用起来都不怎么好用。调用关系不清楚,结构有点混乱。所以也就萌生了自己封装HttpClient工具类的想法。要做就做最好的,本工具类支持插件式配置Header、插件式配置httpclient对象,这样就可以方便地自定义header信息、配置ssl、配置proxy等。是不是觉得说的有点悬乎了,那就先看看调用吧:原创 2015-11-19 11:20:16 · 48556 阅读 · 11 评论 -
轻松搞定RabbitMQ(四)——发布/订阅
翻译地址:http://www.rabbitmq.com/tutorials/tutorial-three-java.html 在前面的教程中,我们创建了一个工作队列,都是假设一个任务只交给一个消费者。这次我们做一些完全不同的事儿——将消息发送给多个消费者。这种模式叫做“发布/订阅”。 为了说明这个模式,我们将构建一个简单日志系统。它包含2段程序:第一个将发出日志消翻译 2015-09-25 14:28:39 · 12266 阅读 · 0 评论 -
轻松把玩HttpClient之配置ssl,采用设置信任自签名证书实现https
在上篇文章《HttpClient配置ssl实现https简单示例——绕过证书验证》中简单分享了一下如何绕过证书验证。如果你想用httpclient访问一个网站,但是对方的证书没有通过ca认证或者其他问题导致证书不被信任,比如12306的证书就是这样的。所以对于这样的情况,你只能是选择绕过证书验证的方案了。但是,如果是自己用jdk或者其他工具生成的证书,还是希望用其他方式认证自签名的证书,这篇文原创 2015-11-16 16:00:32 · 21122 阅读 · 4 评论 -
dwr处理参数或返回值为pojo对象的JavaBean方法
在使用dwr避免不了碰到javabean中有对象作为参数的,那么这样的方法怎么在js中调用呢? 就这个问题,做了一个小例子,与大家分享一下:原创 2014-05-18 20:59:41 · 4384 阅读 · 16 评论 -
dwr.xml配置详解
感觉dwr很实用,所以想多了解一下。dwr的核心就是这个dwr.xml。在网上收集整理了一些dwr.xml的配置信息。现拿出来与大家分享。原创 2014-05-12 10:30:35 · 14529 阅读 · 15 评论 -
dwr框架异步调用简单小例
DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架。可以轻松实现用js直接调用java方法。原创 2014-05-05 20:48:22 · 2251 阅读 · 15 评论 -
使用poi读写Excel
对于一个程序员来说,文件操作是经常遇到的,尤其是对Excel文件的操作。 在这里介绍一下我在项目中用到的一个操作Excel的工具——POI。关于POI的一些概念,网络上很多,详细信息大家可以自行百度,我在这里只做简单介绍。POI是apache的类库,主要是为java开发人员提供对Office文件(word、ppt、Excel)处理的支持。我这里主要给出几个例子来说明演示一下。原创 2014-10-29 00:03:50 · 12177 阅读 · 12 评论 -
httpclient3.x中使用HTTPS的方法
HttpClient请求https的实例:import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import java.security.cert.CertificateException;import java.security.原创 2015-01-31 21:08:50 · 5435 阅读 · 5 评论 -
轻松搞定RabbitMQ(七)——远程过程调用RPC
翻译:http://www.rabbitmq.com/tutorials/tutorial-six-java.html在第二篇博文中,我们已经了解到了如何使用工作队列来向多个消费者分散耗时任务。但是付过我们需要在远程电脑上运行一个方法然后等待结果,该怎么办?这是不同的需求。这个模式通常叫做RPC。本文我们将使用RabbitMQ构建一个RPC系统:一个客户端和一个可扩展的RPC服务器端。翻译 2015-09-30 18:51:13 · 20788 阅读 · 2 评论 -
轻松搞定RabbitMQ(三)——消息应答与消息持久化
这个官网的第二个例子中的消息应答和消息持久化部分。我把它摘出来作为单独的一块儿来分享。Message acknowledgment(消息应答) 执行一个任务可能需要花费几秒钟,你可能会担心如果一个消费者在执行任务过程中挂掉了。基于现在的代码,一旦RabbitMQ将消息分发给了消费者,就会从内存中删除。在这种情况下,如果杀死正在执行任务的消费者,会丢失正在处理的消息,也会丢失已经翻译 2015-09-24 18:48:38 · 22932 阅读 · 1 评论 -
轻松搞定RabbitMQ(六)——主题
翻译地址:http://www.rabbitmq.com/tutorials/tutorial-five-java.html在上一篇博文中,我们进一步改良了日志系统。使用Direct类型的转换器,使得接收者有能力进行选择性的接收日志,,而非fanout那样,只能够无脑的转发,如果你还不了解,请阅读:轻松搞定RabbitMQ(四)——发布/订阅。虽然使用Direct类型的转换器改进了日志系统翻译 2015-09-29 17:47:33 · 6690 阅读 · 0 评论 -
Jackson优化使用实例
JSON的三种处理方式 Jackson提供了三种可选的JSON处理方法(一种方式及其两个变型):流式 API:(也称为"增量分析/生成") 读取和写入 JSON 内容作为离散事件。org.codehaus.jackson.JsonParser 读, org.codehaus.jackson.JsonGenerator 写。StAX API 的原创 2014-12-31 23:55:24 · 2239 阅读 · 0 评论 -
轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https
上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下。在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章《Tomcat配置SSL》,大家可以据此来在本地配置https。我已经配置好了,效果是这样滴:可以看到已经信任该证书(显示浅绿色小锁),浏览器可以正常访问。现在我们用代码测试一下: public st原创 2015-11-16 15:11:23 · 78337 阅读 · 22 评论 -
轻松把玩HttpClient之模拟post请求示例
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。许多需要后台模拟请求的系统或者框架都用的是httpclient。所以作为一个java开发人员,有必要学一学。本文提供了一个简单的demo,供初学者参考。使用HttpClie原创 2015-11-16 13:23:42 · 83531 阅读 · 10 评论