关闭

Spring统一异常管理

在基于Spring、SpringMVC的Java Web项目,我们需要处理各层抛出的异常,并对其进行处理,而不能让这种异常直接抛到页面,造成非常不好的用户体验。 一般方式是,在编码过程中,认为会产生异常的部分,我们用try{}catch语句进行异常捕获,并根据异常类型,返回对应的视图或Json数据。这是一种最直接,却不那么便捷和有效的方式,例如它不能捕获Controller层抛出的部分非逻辑代...
阅读(348) 评论(0)

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

在基于Spring、SpringMVC的Java Web项目,我们需要处理各层抛出的异常,并对其进行处理,而不能让这种异常直接抛到页面,造成非常不好的用户体验。 一般方式是,在编码过程中,认为会产生异常的部分,我们用try{}catch语句进行异常捕获,并根据异常类型,返回对应的视图或Json数据。这是一种最直接,却不那么便捷和有效的方式,例如它不能捕获Controller层抛出的部分非逻辑代...
阅读(5340) 评论(3)

IDEA下从零开始搭建SpringBoot工程

SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之: (1)它是Spring的升级版,Spring容器能做到的事情,它都能做到,而且更简便,从配置形式上来说,SpringBoot完全抛弃了繁琐的XML文件配置方式,而是替代性地用注解方式来实现,虽然本质来说,是差不多的(类似包扫描,注解扫描,类加载之类)。 (2)SpringBoot集成...
阅读(16486) 评论(2)

Java设计模式之适配器模式

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

Shiro的两种配置方式

Apache Shiro是一款Java 安全框架,可以用于完成认证、授权、加密、会话管理、与Web集成、缓存等功能。根据官方文档,我这里列举出两种常用的配置方式,一是ini文件配置,二是spring xml文件的配置方式。 二者的配置,基本都是针对Shiro的以下几个常用组件:securityManager,cachManager,Realm,以及对应的链接拦截规则(urls)。 1....
阅读(899) 评论(0)

决策树分类器-Java实现

决策树模型,其基本思想类似于if else的结构,即满足什么条件则将它判定为某一类,而这里的决策树的深度就类似于if else的深度。 决策树的问题焦点在于,对于一个拥有多维数据特征的数据点,如何选择合适的分类依据。例如一只鸡(两条腿,有翅膀,没有脚蹼。。。),一只鸭(两条腿,有翅膀,有脚蹼。。),等等,现在来了一只奇怪的生物(两条腿,有翅膀,没有脚蹼。。),如果先根据腿或翅膀来判断的话,根本...
阅读(585) 评论(1)

KNN分类器-Java实现

KNN,即K近邻算法。其基本思想或者说是实现步骤如下: (1)计算样本数据点到每个已知类别的数据集中点的距离 (2)将(1)中得到的距离按递增顺序排列 (3)选取(2)中前K个点(即与当前样本距离最小的K个已知类别的数据点) (4)统计(3)中得到的K个点所在类别的出现频率 (5)返回(4)中出现频率最高的类别作为样本点的预测类别 在给出具体实现代码之前,说明一点...
阅读(488) 评论(0)

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

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

微信开发之发送消息接口

发送消息,是指用户公众号向用户发送相应形式的消息。根据微信开发文档,由以下四种形式:被动回复,群发接口,客服消息接口以及模板消息接口。本文将基于Java语言以及个人微信测试号,说明被动回复、客服消息接口以及模板消息接口的使用实现,群发接口并未涉及。 1. 被动回复 被动回复只能应用于在接收到用户的互动数据之后,才能向用户发送消息。这一部分较为简单,正式进行微信开发的第一步就是,在公众号中基本...
阅读(7479) 评论(0)

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

基于HttpClient实现基本思路都是一样的,通过HttpResponse实例获得请求返回的数据体,具体数据封装在HttpEntity对象中。 /** * Created by Song on 2016/11/28. * 基于HttpClient提供网络访问工具 */ public final class NetUtil { public static CloseableHttpCl...
阅读(1319) 评论(0)

微信调试之页面缓存问题

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

Java Properties文件读写设计

凡是中文乱码问题,都是字符读写的编码格式不统一的问题。 一般情况下,便于统一字符编码格式,所有文件读写格式均设为utf-8模式,这些地方包括数据库字符存储格式,源代码文件编码格式,资源文件编码格式,前端页面编码格式,网络IO流字符编码格式等。 鉴于以上前提,本文着重关心的是properties资源文件的读写。下面所展示的封装类功能包括: (1)读取资源文件中的值(处理了同一个资源文...
阅读(836) 评论(0)

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

微信开发,参考其官方接口文档微信开发者文档,其中消息管理部分定义了后台与微信用户的消息交互接口。 通常情况下,用户在公众号界面上的操作,包括发送消息,点击菜单等,对后台而言,都可将之视为一次简单的请求,作为请求的响应,后台程序,可以直接向用户返回各种形式的消息,这种向用户发送消息的形式被称为发送被动响应消息。然而有另外一种情况,即用户的操作并不是基于公众号界面,例如,用户在网页上抽奖或者消...
阅读(2658) 评论(0)

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

微信开发中,涉及到微信支付流程较为繁琐。其中以微信红包为例,参考官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3。 调用微信支付链接中,有以下三个字段,需要依据相关算法要求生成。分别是签名(sign),订单号(mch_billno)以及随机字符串(nonce_str)。下面用J...
阅读(1692) 评论(0)

Servlet Mapping 中/ 和 /*的区别

首先它们的共同点在于:作用都是用于拦截http://ip:port/context下的所有请求 不同点在于:(1)/ 模式下,Servlet不会拦截 .jsp(仅限于此,.html仍会被拦截)格式的请求;而 /* 模式才是真正意义上的拦截所有形式的请求。 (2)在 /*模式下,通过调用HttpServletRequest 对象的getPathInfo()方法,将得到不包含context名称的访问...
阅读(2100) 评论(1)
42条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:69331次
    • 积分:1026
    • 等级:
    • 排名:千里之外
    • 原创:40篇
    • 转载:2篇
    • 译文:0篇
    • 评论:12条
    最新评论