自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Learning

Change the world by program.

  • 博客(460)
  • 资源 (22)
  • 收藏
  • 关注

原创 MyBatis对表执行CRUD操作

一、使用MyBatis对表执行CRUD操作——基于XML的实现1、定义sql映射xml文件  userMapper.xml文件的内容如下:<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <

2016-12-17 13:40:55 911

原创 MyBatis快速入门

一、Mybatis介绍    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。二、my

2016-12-17 12:37:30 331

转载 20、使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框架来开发项目,而这些框架一般不是单独使用的,经常是Struts2+Spring3+Hibernate、SpringMVC+Spring+Hibernate、SpringMVC+Spring+Mybat

2016-12-16 23:11:33 578

转载 Web应用中使用JavaMail发送邮件

现在很多的网站都提供有用户注册功能, 通常我们注册成功之后就会收到一封来自注册网站的邮件。邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息。今天我们也来实现一个这样的功能,用户注册成功之后,就将用户的注册信息以Email的形式发送到用户的注册邮箱当中,实现发送邮件功能就得借助于JavaMail了。一、搭建开发环境1.1、创建Web项目

2016-12-16 23:09:28 554

转载 使用JavaMail创建邮件和发送邮件

一、RFC882文档简单说明  RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔。  邮件头包含的内容有:from字段   --用于指明发件人to字段       --用于指明收件人subject字段  --用于说明邮件主题cc字段      -- 抄送,将邮件发送给收件人的同时抄送给另一个

2016-12-16 23:08:37 458

转载 文件上传和下载

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。  对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileup

2016-12-16 23:06:09 553

转载 简单模拟Sping MVC

在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: 1 /** 2 * 使用Controller注解标注LoginUI类 3 */ 4 @Controller 5 public class LoginUI { 6

2016-12-16 23:04:25 433

转载 模拟Servlet3.0使用注解的方式配置Servlet

一、Servlet的传统配置方式  在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示:1 servlet>2 servlet-name>ActionServletservlet-name>3 servlet-class>me.gacl.web.controller.ActionServletservlet-c

2016-12-16 23:03:11 715

转载 Filter(过滤器)常见应用

一、统一全站字符编码  通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 package me.gacl.web.filter; 2 3 import java.io.IOException; 4 import javax.servlet.Filter; 5 import javax.servlet.FilterChain

2016-12-16 23:01:31 314

转载 Filter(过滤器)高级开发

在filter中可以得到代表用户请求和响应的request、response对象,因此在编程中可以使用Decorator(装饰器)模式对request、response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求。一、Decorator设计模式1.1、Decorator设计模式介绍  当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强:

2016-12-16 22:59:46 487

原创 Netty之源码下载

1、源码下载      前面,讲到的Netty系列的源码下载。下载地址

2016-12-16 21:12:23 3638

原创 Netty之解决TCP粘包拆包(自定义协议)

1、什么是粘包/拆包       一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消息数据,所以就会引发一次接收的数据无法满足消息的需要,导致粘包的存在。处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要。2

2016-12-16 13:35:40 31456 15

原创 Netty之解决TCP粘包拆包(设置消息边界)

1、什么是粘包/拆包       一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消息数据,所以就会引发一次接收的数据无法满足消息的需要,导致粘包的存在。处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要。2

2016-12-16 13:15:11 4414

原创 Netty之解决TCP粘包拆包(设置定长消息)

1、什么是粘包/拆包       一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据。TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消息数据,所以就会引发一次接收的数据无法满足消息的需要,导致粘包的存在。处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要。2、解

2016-12-15 23:13:18 10001

转载 Netty之TCP粘包拆包问题

粘包拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生这个问题,因此这篇文章只讨论发生在传输层的TCP粘包拆包问题。什么是粘包、拆包?对于什么是粘包、拆包问题,我想先举两个简单的应用场景:客户端和服务器建立一个连接,客户端发送一条消息,客户端关闭与服务端的连接。

2016-12-15 22:43:06 489

原创 Netty之文件传输

1、工程的目录结构   2、GZIP进行压缩和解压的工具类import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;impo

2016-12-15 22:36:05 12197 3

原创 Java使用GZIP进行压缩和解压

1、项目目录截图  2、关于Java使用GZIP进行压缩和解压的工具类import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream

2016-12-15 21:57:31 10887

原创 Netty之传输POJO(使用JBoss的Marshalling序列化方式)

1、关于JBOSS的Marshalling的简介       JBoss Marshalling 是一个Java对象的序列化API包,修正了JDK自带的序列化包的很多问题,但又保持跟 java.io.Serializable 接口的兼容;同时增加了一些可调的参数和附加的特性,而这些参数和特性可通过工厂类进行配置。2、关于JBoss的Marshalling的配置      2.1

2016-12-15 17:21:13 5159 4

原创 Netty之传输POJO(使用Java自带的序列化方式)

1、使用Netty传输POJO对象,重点在于对象的序列化。序列化的对象通过TCP进行网络传输,结合Netty提供的对象编解码器,可以做到远程传输对象。首先Java需要序列化的对象,需要实现java.io.Serializable接口.2、工程目录       2.1 项目的目录结构              2.2  关于Request和Response的讲解         

2016-12-15 17:02:50 7949 2

原创 Netty之实现自定义简单的编解码器二(MessageToMessageEncoder<CharSequence>和MessageToMessageDecoder<ByteBuf>)

1、对于MessageToMessageEncoder的理解         MessageToMessageEncoder编码器,这里的第二个Message可以理解为任意一个对象。如果是使用ByteBuf对象的话,就和之前的MessageToByte的原理是一样的了。所以要在MessageToMessageDecoder的解码器里面,手动的指定,是对ByteBuf类型的对象进行解码的操作

2016-12-14 21:46:41 8967

原创 Netty之实现自定义简单的编解码器一(MessageToByteEncoder<Integer>和ByteToMessageDecoder)

1、关于自定义编码器的简介      在这里实现的编解码器很简单。编码器的功能实现的是,int--->byets的编码;解码器实现的是,bytes--->int的解码。2、编码器的实现import io.netty.buffer.ByteBuf;import io.netty.channel.ChannelHandlerContext;import io.netty.handler

2016-12-14 20:33:59 17030

转载 Netty之Codec的Decoders和Encoders概述

Netty之Codec的Decoders和Encoders概述 A codec is made up of two parts: Decoder Encoder This  should  make  it  clear  that  the  decoder  is  for  inbound  and  the  encoder  is  for  ou

2016-12-14 19:51:43 1226

原创 Netty之HelloWorld

1、关于Netty编程常用类的介绍        BootStrap和ServerBootstrap类似,不过他是对非服务端的channel而言,比如客户端。        如果你只指定了一个EventLoopGroup那他就会即作为一个‘boss’线程,也会作为一个‘workder’线程,尽管客户端不需要使用到‘boss’线程。       代替NioServerSock

2016-12-14 19:30:37 454

原创 Java NIO 中 ServerSocketChannel和SocketChannel

1、服务端代码[java] view plain copy print?import java.io.IOException;  import java.net.InetSocketAddress;  import java.nio.ByteBuffer;  import java.nio.channels.ClosedChann

2016-12-14 19:10:49 806

转载 Java NIO

1.Java NIO 由以下几个核心部分组成: ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在单独的章节中讲到。 

2016-12-14 19:09:12 313

原创 传统Socket编程传递POJO(使用Java自带的序列化方式)

1、Java序列化的工具类import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.i

2016-12-14 18:58:53 1028

原创 ThreadLocal-------结合Filter用于管理Web开发中数据库的事务

1、利用 ThreadLocal和Filter,管理Web开发中数据库事务的原理图解      2、TransactionFilter的实现          2.1  关于事务Filter的讲解      对于事务相关的Filter,应该在请求的路径,里面含数据库的操作时,才会开启事务。如果访问的是静态资源,例如,1.png就不应该开启事务。所以事务的开启,不是一进入到Filte

2016-12-14 14:55:17 894 1

转载 What is a Digital Signature?

1、鲍勃有两把钥匙,一把是公钥,另一把是私钥 2、鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把3、苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果4、鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密5

2016-12-13 23:17:50 641

原创 加密算法的总结

分类单向加密算法对称加密算法非对称加密算法数字签名算法(未涉及)常用算法BASE64MD5SHAHMACDES3DESAESPBERSADH关于代码      在分享每一个算法的时候,一般都会贴上 Java 的实现代码,这些代码中,有的是我自己写的,有的是参考了一些大牛的,自己实现了之后

2016-12-13 22:55:52 383

原创 数字签名之DASSignature

1、DSA 签名算法概念    DSA 算法实现就是 RSA 数字签名算法实现的简装版,仅支持 SHA 系列算法。2、DSA 签名算法分类(JDK实现)      SHA1withDSA3、DSASignature 算法的编程使用      3.1 签名            3.2 验证         4、DSASig

2016-12-13 22:41:05 1091

原创 数字签名之RSASignature

1、RSA 签名算法概念     将 RSA 公钥密码算法按照数字签名的方式运用2、RSA 签名算法分类(JDK实现)     (1)MD (MD2withRSA、MD5withRSA)     (2)SHA (SHA1withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSA)3、RSASignature 算法的编     3.1

2016-12-13 22:35:54 5367

原创 数字签名的简介

1、数字签名的通信模型   2、数字签名的概念      2.1 什么是数字签名             带有密钥(公钥和私钥)的消息摘要算法,是非对称加密算法和消息摘要算法结合体。      2.2 数字签名的特点          (1)用于签名的信息私有,用于验证的信息公有,且这两种信息必须成对出现          (2)签名时使用原始数据和私钥,验证时

2016-12-13 22:25:31 861

原创 非对称密码之RSA算法

1、RSA算法的简介     由Ron Rivest、 Adi Shamir 和 Leonard Adleman三位学者提出的非对称加密算法。RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。它是第一个既能用于数据加密也能用于数字签名的算法。2、RSA 数学原理    (1)加解密公式RSA

2016-12-13 21:56:14 954

原创 非对称密码之DH密钥交换算法

1、DH算法的简介DH,全称为“Diffie-Hellman”,他是一种确保共享KEY安全穿越不安全网络的方法,也就是常说的密钥一致协议。由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。简单的说就是允许两名用户在公开媒体上交换信息以生成“一致”的、可以共享的密钥。也就是由甲方产出一对密钥(公钥、私钥),乙方依照甲方公钥产生乙方密钥对(公钥、私钥)。

2016-12-13 15:06:18 17675 2

原创 非对称密码的简介

1、对称密码中的通信模型       2、非对称密码的通信模型       3、非对称密码的概念       4、非对称密码的特征   (1)需要两个密钥来进行加密和解密,分别为公钥和私钥   (2)公钥和私钥相互配对,称为 KeyPair5、非对称密码的优缺点  (1)优点:相比于对称密码,安全性更高  (2)缺点:加解密花费时间长、速度慢

2016-12-13 14:59:30 914

转载 对称密码之PBE

序前边的几篇文章,已经讲了几个对称加密的算法了,今天这篇文章再介绍最后一种对称加密算法 — — PBE,这种加密算法,对我的认知来说,并没有 DES、3DES、AES 那么流行,也不尽然,其实是我之前并没有这方面的需求,当然接触他的机会也就很少了,因此,可想而知,没听过显然在正常不过了。概念PBE,全称为“Password Base Encrypti

2016-12-12 21:46:23 654

原创 对称密码之AES

1、AES加密算法简介       AES 的出现,就是为了来替代原先的 DES 标准。现在来说,AES 的用途还是非常广泛的。AES,全称为“Advanced Encryption Standard”,中文名“高级加密标准”,在密码学中又称 Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。AES 加密算法作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等

2016-12-12 21:42:13 1106

原创 对称密码之3DES

至于 3DES 为什么会出现呢?其实,这个不难想到。由于 DES 是一种非常简便的加密算法,但是密钥长度比较短,计算量比较小,相对来说,比较容易被破解。因此,在 DES 的基础上,使用三重数据加密算法,对数据进行加密,这样来说,破解的概率就小了很多。1、3DES的概念      1.1 3DES             将密钥长度增至112位或168位,通过增加迭代次数提高安全性。

2016-12-12 21:15:56 1905

原创 对称密码之DES

1、对称密码的概念      1.加密密钥和解密密钥相同,对于大多数对称密码算法,加解密过程互逆      2.加解密通信模型                3.特点:算法公开、计算量小、加密速度快、加密效率高      4.弱点:双方都使用同样密钥,安全性得不到保证2、常见的对称加密方式      (1)DES   (Data Encryption Standar

2016-12-12 20:59:36 834

原创 MD(Message Digest ) 消息摘要算法之HMAC

1、单一MD或者SHA算法的缺点(摘要值容易被篡改)       2、HMAC算法        2.1 HMAC算法简介              HMAC,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码”,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。一般的,消息鉴别码用于验证传输于两个共 同享有一

2016-12-12 20:20:34 2478

spring中properties加密

使用spring对properties加密.

2017-06-10

dubbo的xml约束

dubbo.xsd.

2017-01-17

service-speak.sh

dubbo服务的启动脚本.

2017-01-17

dubbo之HelloWorld

使用Dubbo和Zookeeper实现了一个服务的简单注册和调用。

2017-01-16

Web分页的实现

Web分页的实现

2016-11-25

MybatisNiXiang

MybatisNiXiang,Mybatis的逆向。用于由数据库生成Mapper的代码。

2016-11-21

One2Many

One2Many

2016-11-20

One2One

One2One

2016-11-20

MyBatis_Dao

MyBatis_Dao,Mybatis的原始Dao的开发方式。

2016-11-20

mybatis开发jar大全

mybatis开发jar大全,包含了Mybatis开发用到的jar文件,以及与Spring整合用到的jar。以及做Mybatis测试用到的数据库脚本文件。

2016-11-20

mybatis测试用到的建数据库的脚本文件

mybatistest.sql。mybatis测试用到的建数据库的脚本文件。

2016-11-20

Mybatis_SpringMapper

Mybatis_SpringMapper,Spring和Mybatis整合,采用Mapper代理的方式。包含事务的处理。

2016-11-20

Mybatis_SpringDao

Mybatis_SpringDao,Mybatis与Spring整合,原始Dao的方式。里面包含事务处理。

2016-11-20

Mybatis简单的增删改查的实现

Mybatis简单的增删改查的实现

2016-11-19

SpringJDBC

SpringJDBC,带事务的配置。

2016-11-18

动态代理

动态代理 Proxy

2016-11-16

staruml-5.0-with-cm

staruml-5.0-with-cm

2016-11-16

Spring AOP 代码

Spring AOP 代码

2016-11-16

ActiveMQ与Spring整合之异步发送邮件

ActiveMQ与Spring整合之异步发送邮件。

2016-11-12

Mybatis资料

Mybatis的实验代码

2016-07-02

基于Jquery的Ajax的Java交互

,Ajax通过GET和POST与JAVA程序交互的过程,以及在交互过程中,模仿网络延迟出现的加载图片.

2016-05-06

Ajax与Java交互

Ajax与Java交互,列举了POST和GET的交互,以及动态加载的效果。

2016-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除