- 博客(48)
- 资源 (2)
- 收藏
- 关注
原创 message from server: "Host is not allowed to connect to this MySQL server"解决办法
报错:1130-host ... is not allowed to connect to this MySQL server解决方法:一.改表法 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称...
2016-07-31 08:39:45 1057 1
原创 myBatis系列之五:与Spring3集成
前面讲到纯粹用mybatis 连接数据库,然后 进行增删改查,以及多表联合查询的的例子,但实际项目中,通常会用 spring 这个沾合剂来管理 datasource 等。充分利用spring 基于接口的编程,以及aop ,ioc 带来的方便。用spring 来管理 mybatis 与管理hibernate 有很多类似的地方。今天的重点就是数据源管理以及 bean的配置。 ...
2016-07-26 01:28:44 102
原创 myBatis系列之四:关联数据的查询
myBatis系列之三:增删改查是基于单表的查询,如果联表查询,返回的是复合对象,需要用association关键字来处理。 如User发表Article,每个用户可以发表多个Article,他们之间是一对多的关系。 一.创建Article表,并插入测试数据-- Create the database named 'hbatis'.-- It's ...
2016-07-26 01:10:32 89
原创 myBatis系列之三:增删改查
一.查询 myBatis系列之二:以接口方式交互数据实现了单条记录的查询,这里查询一组记录: IUserMapper接口添加下面方法: List<User> getUsers(String name); 在User.xml中添加: <resultMap type="User" id="userList">...
2016-07-26 00:58:38 250
原创 myBatis系列之二:以接口方式交互数据
myBatis系列之一:搭建开发环境是采用SqlSession的通用方法并强制转换的方式,存在着转换安全的问题: User user = (User) session.selectOne("com.bijian.study.model.UserMapper.getUserById", 1); 可以采用接口加sql语句的方式来解决,sql语句理解为是接口的实...
2016-07-26 00:44:05 128
原创 myBatis系列之一:搭建开发环境
一.工程结构二.在类路径下创建mybatis的配置文件Configuration.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybati...
2016-07-26 00:30:59 94
原创 Socket 编程—多个客户端
在Socket编程 - 单个客户端中,服务端只支持单个客户端的连接请求。 如果有多个客户端连接呢?需要有一个线程一直监听客户端请求,收到请求后分发给其它的线程处理。这和jetty的处理方式类似,只需要改动服务端的代码就可以了。 服务端: package com.bijian.study02;import java.io.BufferedRea...
2016-07-25 23:53:41 299
原创 Socket 编程—单个客户端
Socket编程就是根据服务器/客户端模型,在Socket API的基础上开发的网络计算机和进程间相互通信的应用。 1.服务端绑定一个端口号,并在此端口监听客户端的连接,线程会block直到有客户连接请求,读取请求信息,然后处理并返回。 2.客户端和指定的服务器的指定端口建立连接,发送请求信息,并等待返回信息。 服务端:packa...
2016-07-25 23:52:33 115
查看操作系统的默认编码
一.Windows操作系统 进入DOS窗口,输入:chcp 可以得到操作系统的代码页信息,你可以从控制面板的语言选项中查看代码页对应的详细的字符集信息。 例如:我的活动代码页为:936,它对于的编码格式为GBK。 二.Linux操作系统 查看支持的字符编码,使用locale命令,如: # localeL...
2016-07-22 22:28:02 2672
原创 深入掌握JMS(十二):MDB
在EJB3中,一个MDB(消息驱动Bean)就是一个实现了MessageListener接口的POJO,下面就是一个简单的MDB。 @MessageDriven(activationConfig={@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"...
2016-07-17 00:29:52 120
原创 深入掌握JMS(十一):TemporaryQueue和TemporaryTopic
TemporaryQueue和TemporaryTopic,从字面上就可以看出它们是"临时"的目的地。可以通过Session来创建,例如:TemporaryQueue replyQueue = session.createTemporaryQueue(); 虽然它们是由Session来创建的,但是它们的生命周期确是整个Connection。如果在一个Con...
2016-07-17 00:19:55 156
原创 深入掌握JMS(十):JMSCorrelationID与Selector
前面讲过JMSCorrelationID主要是用来关联多个Message,例如需要回复一个消息的时候,通常把回复的消息的JMSCorrelationID设置为原来消息的ID。 在下面这个例子中,创建了三个消息生产者A,B,C和三个消息消费者A,B,C。生产者A给消费者A发送一个消息,同时需要消费者A给它回复一个消息。B、C与A类似。 简图如...
2016-07-17 00:02:04 372
原创 深入掌握JMS(九):Selector
前面的例子中创建一个消息消费者使用的是:sesssion.createConsumer(destination); 另外,还提供了另一种方式: sesssion.createConsumer(destination, selector); 这里selector是一个字符串,用来过滤消息。也就是说,这种方式可以创建一个可以只接收特定消息的...
2016-07-16 23:43:20 160
原创 深入掌握JMS(八):JMSReplyTo
在下面的例子中,首先创建两个Queue,发送者给一个Queue发送,接收者接收到消息之后给另一个Queue回复一个Message,然后再创建一个消费者来接受所回复的消息。package com.bijian.study;import javax.jms.Connection;import javax.jms.JMSException;import javax....
2016-07-16 23:35:54 119
原创 深入掌握JMS(七):DeliveryMode例子
在下面的例子中,分别发送一个Persistent和nonpersistent的消息,然后关闭退出JMS。package com.bijian.study;import javax.jms.Connection;import javax.jms.DeliveryMode;import javax.jms.MessageProducer;import jav...
2016-07-16 23:19:33 138
原创 深入掌握JMS(六):消息头
一个消息对象分为三部分:消息头(Headers),属性(Properties)和消息体(Payload)。对于StreamMessage和MapMessage,消息本身就有特定的结构,而对于TextMessage,ObjectMessage和BytesMessage是无结构的。一个消息可以包含一些重要的数据或者仅仅是一个事件的通知。 消息的Headers部分通...
2016-07-16 13:01:29 128
原创 深入掌握JMS(五):实战Topic
与Queue不同的是,Topic实现的是发布/订阅模型,在下面的例子中,启动2个消费者共同监听一个Topic,然后循环给这个Topic中发送多个消息。package com.bijian.study;import javax.jms.Connection;import javax.jms.JMSException;import javax.jms.Messag...
2016-07-16 00:42:54 139
原创 深入掌握JMS(四):实战Queue
Queue实现的是点到点模型,在下面的例子中,启动2个消费者共同监听一个Queue,然后循环给这个Queue中发送多个消息,我们依然采用ActiveMQ。 package com.bijian.study;import javax.jms.Connection;import javax.jms.JMSException;import javax.jms.Me...
2016-07-15 23:59:07 95
原创 深入掌握JMS(三):MessageListener
消息的消费者接收消息可以采用两种方式: 1.consumer.receive() 或 consumer.receive(int timeout); 2.注册一个MessageListener。 采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。后一种方式会注册一个监听器,当有消息到达的时候,会回调它的...
2016-07-15 23:58:44 1515
原创 深入掌握JMS(二):一个JMS例子
前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念。 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不用考虑这些。我们选择ActiveMQ,官方地址:http://activemq.apache.org/,网上有很多介绍ActiveMQ的文档, 所以在这里就不介绍了。 按照上一讲的这...
2016-07-15 23:55:27 100
原创 深入掌握JMS(一):JMS基础
一.JMS基本概念 JMS(Java Message Service) 即Java消息服务。它提供标准的产生、发送、接收消息的接口简化企业应用的开发。它支持两种消息通信模型:点到点(point-to-point)(P2P)模型和发布/订阅(Pub/Sub)模型。 P2P模型规定了一个消息只能有一个接收者;Pub/Sub 模型允许一个消息可以有多个接收者。对于点到...
2016-07-15 23:53:53 153
原创 ActiveMQ与spring集成实例之使用消息监听器
在EJB世界里,JMS消息最常用的功能之一是用于实现消息驱动Bean(MDB)。Spring提供了一个方法来创建消息驱动的POJO(MDP),并且不会把用户绑定在某个EJB容器上。 通常用消息监听器容器从JMS消息队列接收消息并驱动被注射进来的MDP。消息监听器容器负责消息接收的多线程处理并分发到各MDP中。一个消息侦听容器是MDP和消息提供者之间的一个中介,...
2016-07-15 00:58:38 240
原创 RESTful HTTP的实践
本文对RESTful HTTP的基础原理做了一个概览,探讨了开发者在设计RESTful HTTP应用时所面临的典型问题,展示了如何在实践中应用REST架构风格,描述了常用的URI命名方法,讨论了如何使用统一接口进行资源交互,何时使用PUT或POST以及如何支持非CURD操作等。 REST是一种风格,而不是标准。因为既没有REST RFC,也没有REST协议规范...
2016-07-14 23:53:47 145
原创 监听器Listener
一.监听器介绍1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。 2.监听器案例——监听window窗口...
2016-07-13 23:22:20 153
net.sf.json.JSONObject实现Object对象与Json字符串的互转
前面看了Jackson实现Object对象与Json字符串的互转,下面来看下net.sf.json.JSONObject实现Object对象与Json字符串的互转。JSONUtil.javapackage com.bijian.study;import net.sf.json.JSONObject;public class JSONUtil { ...
2016-07-12 22:39:37 9041 1
原创 解决 PKIX:unable to find valid certification path to requested target
一.错误原因 Java在访问SSL加密的网站时,需要从JDK的KeyStore 里面去查找相对应得可信证书,如果不能从默认或者指定的KeyStore 中找到可信证书,就会报这个错误。另外,Java所使用的证书仓库并不是Windows系统自带的证书管理。所以即使系统中包含此证书也不可以使用。 二.解决方案 只要将SSL的证书添加到KeyStore中即可...
2016-07-12 21:59:54 403
原创 理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联...
2016-07-12 00:45:02 90
原创 linux查看java jdk安装路径和设置环境变量
一.查看JDK安装路径及版本1.windowsecho %JAVA_HOME%:查看JDK安装路径java -version:查看JDK版本2.linuxecho $JAVA_HOMEecho $PATHjava -version:查看JDK版本 二.配置linux的环境变量:(记得source .bash_profile)1.修改/etc/profil...
2016-07-11 23:57:37 170
原创 Java制作证书的工具keytool用法总结
一.keytool的概念 keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.exe,如下图所示:二.keytool的用法三.创建证书...
2016-07-11 23:56:15 451
原创 Jackson实现Object对象与Json字符串的互转
在项目开发过程中,当客户端与服务器响应时,数据交互是必不可少的。然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制。下面我将利用实例总结如何使用jackson。一.准备 如果你需要使用jackson,你必须得导入相应的架包,有如下三个包jackson-annotations;jackson-core;...
2016-07-11 23:51:22 417
原创 linux远程端口查看
telnet常被用来检测是个远端端口是否通畅。[root@oldboy ~]# telnet baidu.com 80Trying 123.125.114.144...Connected to baidu.com (123.125.114.144). #==>出现Connected表示连通了,说明百度的80端口开放的Escape character is '^]'. #=...
2016-07-10 00:02:03 718
原创 Spring JMS 消息处理知识点
JmsTemlate每次发送消息时都会重新创建连接,创建connection,session,创建productor。这是一个非常耗性能的地方,特别是大数据量的情况下。因此后来发送时采用mq的pooledConnectionFactory。这个类只会缓存connection,session和productor,不会缓存consumer。因此只适合于生产者发送消息。那为什么不缓存...
2016-07-09 23:51:06 136
原创 使用httpclient必须知道的参数设置及代码写法、存在的风险
如果使用httpclient 3.1并发量比较大的项目,最好升级到httpclient4.2.3上,保证并发量大时能抗住。 httpclient一天并发量在1500w左右,峰值一秒7万。在之前使用过程中,一直存在大量的。org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting ...
2016-07-09 23:34:10 210
原创 SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)...
上一篇分析了Spring中是如何通过使用@ResponseBody注解,实现自动转换Java对象为XML,JSON数据到Reponse中。 接下来看看如果request中包含了XML或者JSON数据,反过来,如何来通过@RequestBody注解来自动转换为Java对象。 配合@RequestBody注解,以及HTTP Request Hea...
2016-07-09 20:09:15 364
原创 SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(上)...
Spring3.1开始使用新的HandlerMapping 和 HandlerAdapter 来支持@Contoller 和@RequestMapping注解处理:处理器映射RequestMappingHandlerMapping和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5 开始的处理器映射DefaultAnnotation...
2016-07-09 19:31:29 824
JAVA发送HttpClient请求及接收请求完整代码实例
在发送HTTP请求的时候会使用到POST和GET两种方式,如果是传送普通的表单数据,我们直接将参数到一个Key-value形式的Map中即可,随着JSON的应用越来越广,我们在很多场合需要传送JSON格式的参数。 下面我使用HttpClient类库提供的功能来实现这个,以便以后参考。一.完善SpringMVC工程 完善SpringMVC工...
2016-07-09 15:51:45 3079
原创 mysql delete limit 使用方法详解
一.mysql delete limit优点 用于DELETE的MySQL唯一的LIMIT row_count选项用于告知服务器在控制命令被返回到客户端前被删除的行的最大值。本选项用于确保一个DELETE语句不会占用过多的时间。您可以只重复DELETE语句,直到相关行的数目少于LIMIT值为止。 如果DELETE语句包括一个ORDER BY子句,则各行按照子...
2016-07-08 09:03:59 12320
原创 Spring JMS接收消息
一.同步接收 虽然JMS一般都和异步处理相关,但它也可以同步的方式使用消息。可重载的 receive(..) 方法提供了这种功能。在同步接收中,接收线程被阻塞直至获得一个消息,有可能出现线程被无限阻塞的危险情况。属性 receiveTimeout 指定了接收器可等待消息的延时时间。 二.异步接收 - 消息驱动的POJO 类似于EJB世界里流行的消息驱动...
2016-07-07 00:52:59 256
原创 深入理解DefaultMessageListenerContainer
一.DefaultMessageListenerContainer概述 DefaultMessageListenerContainer是一个用于异步消息监听的管理类。 DefaultMessageListenerContainer最简单的实现逻辑,一个任务执行器,执行任务(即消息监听)。DefaultMessageListenerContainer实现的...
2016-07-06 23:47:36 1213
原创 Java enum的用法详解
一.枚举类型定义常量方法 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。我们通常利用public final static方法定义的代码如下,分别用1表示红灯,3表示绿灯,2表示黄灯。public class Light { /* 红灯 */ public final static int ...
2016-07-06 23:19:44 174
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人