随心而笑

热爱生活,热爱学习

Spring统一异常管理

在基于Spring、SpringMVC的Java Web项目,我们需要处理各层抛出的异常,并对其进行处理,而不能让这种异常直接抛到页面,造成非常不好的用户体验。 一般方式是,在编码过程中,认为会产生异常的部分,我们用try{}catch语句进行异常捕获,并根据异常类型,返回对应的视图或Jso...

2017-04-11 14:46:05

阅读数 2450

评论数 0

fileupload插件调用upload.parseRequest(request)解析得到空值问题

在基于Spring、SpringMVC的Java Web项目,我们需要处理各层抛出的异常,并对其进行处理,而不能让这种异常直接抛到页面,造成非常不好的用户体验。 一般方式是,在编码过程中,认为会产生异常的部分,我们用try{}catch语句进行异常捕获,并根据异常类型,返回对应的视图或Jso...

2017-02-19 22:36:56

阅读数 26706

评论数 16

IDEA下从零开始搭建SpringBoot工程

SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之: (1)它是Spring的升级版,Spring容器能做到的事情,它都能做到,而且更简便,从配置形式上来说,SpringBoot完全抛弃了繁琐的XML文件配置方式,而是替代性地用注解方式来实...

2017-02-15 20:00:14

阅读数 171300

评论数 59

Java设计模式之适配器模式

适配器模式,其一般应用场合为系统打补丁。可以用以下这个例子说明:你家的自来水系统(原系统)水管直径都是5cm,原来你家的洗衣机进水口也是5cm,刚好可以将家里的水管接入到洗衣机里,这样用着挺好。可突然有一天,你家原来的洗衣机坏了,市面上能买到的洗衣机进水口都是3cm(新业务)的,这怎么办呢?一般情...

2017-01-18 16:23:45

阅读数 559

评论数 0

Shiro的两种配置方式

Apache Shiro是一款Java 安全框架,可以用于完成认证、授权、加密、会话管理、与Web集成、缓存等功能。根据官方文档,我这里列举出两种常用的配置方式,一是ini文件配置,二是spring xml文件的配置方式。 二者的配置,基本都是针对Shiro的以下几个常用组件:securit...

2017-01-10 18:01:04

阅读数 4570

评论数 0

决策树分类器-Java实现

决策树模型,其基本思想类似于if else的结构,即满足什么条件则将它判定为某一类,而这里的决策树的深度就类似于if else的深度。 决策树的问题焦点在于,对于一个拥有多维数据特征的数据点,如何选择合适的分类依据。例如一只鸡(两条腿,有翅膀,没有脚蹼。。。),一只鸭(两条腿,有翅膀,有脚蹼...

2017-01-05 15:22:09

阅读数 2788

评论数 1

KNN分类器-Java实现

KNN,即K近邻算法。其基本思想或者说是实现步骤如下: (1)计算样本数据点到每个已知类别的数据集中点的距离 (2)将(1)中得到的距离按递增顺序排列 (3)选取(2)中前K个点(即与当前样本距离最小的K个已知类别的数据点) (4)统计(3)中得到的K个点所在类别的出现频率...

2017-01-05 14:42:35

阅读数 1638

评论数 0

Java图片读取之BufferedImage得到像素矩阵的两种方式

最近在尝试着采用Java在图像处理领域实践一下常用的机器学习算法。首先涉及到的是如何将一副图片读取到一个像素矩阵中(Java中就是一维或二维数组中)。在实践过程中,通过测试代码,我发现基于BufferedImage可以有两种获取像素矩阵的方式,但需要注意像素点的保存顺序问题。 具体表现在:本...

2016-12-29 16:19:35

阅读数 17762

评论数 2

微信开发之发送消息接口

发送消息,是指用户公众号向用户发送相应形式的消息。根据微信开发文档,由以下四种形式:被动回复,群发接口,客服消息接口以及模板消息接口。本文将基于Java语言以及个人微信测试号,说明被动回复、客服消息接口以及模板消息接口的使用实现,群发接口并未涉及。 1. 被动回复 被动回复只能应用于在接收...

2016-12-23 16:53:57

阅读数 27911

评论数 3

Java网络请求(get/post)工具类实现的两种方式

基于HttpClient实现基本思路都是一样的,通过HttpResponse实例获得请求返回的数据体,具体数据封装在HttpEntity对象中。 /** * Created by Song on 2016/11/28. * 基于HttpClient提供网络访问工具 */ public fin...

2016-12-23 10:38:18

阅读数 7353

评论数 0

微信调试之页面缓存问题

在微信开发时,常常通过微信公众号菜单或微信扫一扫进入移动页面,这个时候如果你修改了对应的CSS或者JS文件,然后在微信里访问修改过后的页面,往往页面效果还会停留在之前的某个版本上,这就是微信页面缓存问题。很早就碰到过这个问题,现在我把有效的两种解决方式写在下面: (1)直接在引用改动频繁的C...

2016-12-21 15:38:50

阅读数 6131

评论数 2

Java Properties文件读写设计

凡是中文乱码问题,都是字符读写的编码格式不统一的问题。 一般情况下,便于统一字符编码格式,所有文件读写格式均设为utf-8模式,这些地方包括数据库字符存储格式,源代码文件编码格式,资源文件编码格式,前端页面编码格式,网络IO流字符编码格式等。 鉴于以上前提,本文着重关心的是proper...

2016-11-14 21:21:06

阅读数 1610

评论数 0

微信开发之客服消息接口使用异常

微信开发,参考其官方接口文档微信开发者文档,其中消息管理部分定义了后台与微信用户的消息交互接口。 通常情况下,用户在公众号界面上的操作,包括发送消息,点击菜单等,对后台而言,都可将之视为一次简单的请求,作为请求的响应,后台程序,可以直接向用户返回各种形式的消息,这种向用户发送消息的形式被...

2016-11-12 15:29:17

阅读数 7743

评论数 0

微信开发之微信支付相关算法实现

微信开发中,涉及到微信支付流程较为繁琐。其中以微信红包为例,参考官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3。 调用微信支付链接中,有以下三个字段,需要依据相关算...

2016-11-08 22:33:32

阅读数 5442

评论数 0

Servlet Mapping 中/ 和 /*的区别

首先它们的共同点在于:作用都是用于拦截http://ip:port/context下的所有请求 不同点在于:(1)/ 模式下,Servlet不会拦截 .jsp(仅限于此,.html仍会被拦截)格式的请求;而 /* 模式才是真正意义上的拦截所有形式的请求。 (2)在 /*模式下,通过调用Http...

2016-11-07 22:13:35

阅读数 6346

评论数 1

Java设计模式之策略模式

策略模式是一种及其简洁明了的模式,下面直接摆出它的定义: Define a family of algorithms, encapsulate each one, and make them interchangeable. 即定义并封装一组算法,并保证他们可以相互替换。 其含义...

2016-10-28 20:14:42

阅读数 408

评论数 0

Java设计模式之访问者模式

访问者模式常用于:业务规则要求遍历多个不同的对象。基于这一点,我们来理解访问者模式,就要容易许多。 其定义为:Represent an operation to be performed on the element of an object structure. Visitors le...

2016-10-28 16:36:24

阅读数 530

评论数 0

Java enum关键字用法小结

enum 指枚举类型,但其与C语言的用法,是有很大不同的。在C语言中,我们一般用enum来定义一组相关的常量。而在Java中,enum能做的事,可远远不止于此。 要了解Java中的enum如何用,只需要明确一点,每个enum元素都是其类的static final实例。除了一些细节不同之外,我...

2016-10-25 10:12:47

阅读数 2789

评论数 1

Java设计模式之责任链模式

责任链模式的设计思想,在于采用“链传递”的模式,将同一类请求,交由一条“责任链”上的多个功能模块进行处理,每个功能模块作为责任链上的一环,请求在链上按照既定顺序依次传递,直到找到一个能够处理该请求的功能模块。在这种模式下,我们能够迅速的在一条责任链中扩展出新的环,从而适应项目对同一类请求的新的处理...

2016-10-23 21:37:50

阅读数 349

评论数 0

Java设计模式之命令模式

命令模式下的Java功能模块划分主要有以下三个部分,一是调用者,二是命令,三是执行者。通常情况下,调用者通过执行其action()方法,完成某一功能,而action()方法的具体实现,由具体的命令类和执行者类来实现。这种模式要实现的功能在于,对功能模块的封装,使得上层调用者仅需根据命令的不同,来执...

2016-10-21 21:17:51

阅读数 291

评论数 0

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