问题 今天一个项目组在升级我们的基础平台之后,无法正常启动,报出如下错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'viewControllerHandlerMapping' defined in class path resource [org/springframework/boot/autocon
1年前发布 6199阅读 评论
前言 上一篇Spring MVC中的异常处理我们学习了Spring MVC的异常处理方式,这次我们来探讨如何结合Spring MVC来对异常进行更优雅的处理和扩展。 准备工作 还是基于前面登录的例子,我们一步步来进行完善,当然这里不考虑假定业务场景的逻辑性,只谈实现。 视图层基于FreeMarker
1年前发布 4707阅读 评论
前言 在上一篇异常处理回顾中我们谈到了几种异常的处理方式,这一篇我们来学习一下Spring MVC中的异常处理,最终要达到的目标是尽量不在Controller中显示的处理异常。 Spring MVC提供了几种异常处理的方式,但是很多人并不明白该如何使用。 Spring Boot Spring Boot是一个可以
1年前发布 6216阅读 评论
前言 异常处理,在每个项目中都不可避免,本文就来探讨一下web项目中的异常处理。 异常处理说到底就两个目标: 一、出异常后能保持用户体验友好 二、开发人员处理方便,最好不用去关心具体的异常处理细节。 本文探讨的异常处理基于web框架Spring MVC,因为这是当前项目的实际
1年前发布 5539阅读 评论
背景 为什么会有这次的分析? 项目中数据分页的查询实现方式使用的是ktanx-jdbc, 在做分页列表查询时: PageList<UserInfo> users = jdbcDao.queryPageList(user); 返回的数据列表对象是PageList,这是继承了ArrayList的分页类型扩展,主要代码如下: public class Pag
1年前发布 4879阅读 评论
背景 通常公司的项目安全起见很多都是部署在内网,而访问者是在外网,这中间就涉及到一个外网和内网转发的问题。 当前的现象除了上面这个之外,还有业务系统和展示系统的分离。 数据报表的展示是一个公司的产品,单独的系统,无法修改源代码,还会有其它类似很多的系统。 业务
1年前发布 2542阅读 评论
问题现象 项目在本地Tomcat下一切正常,但是部署到websphere(was)时启动报出如下错误: Caused by: org.neo4j.ogm.exception.core.MappingException: Unable to load class with FQN: com.ktanx.model.UserNode at org.neo4j.ogm.metadata.reflect.EntityFactory.in
1年前发布 2915阅读 评论
说明 本文将简要说明如何使用反向代理的方式配置七牛云的镜像存储为自定义的域名并使用https访问。阿里云OSS等也类似,大同小异。 反射代理使用nginx,其它的原理一样,可以自行参考配置。 背景 基于网站的带宽及其它原因,图片等一些静态资源文件都存放在七牛云上,以镜像存
1年前发布 4524阅读 评论
问题 网站采用了 Nginx 反向代理 Tomcat 的方式来负载均衡。 Nginx使用https,默认端口443。Tomcat使用http,端口8080 结果今天后台操作停留时间过长session超时后,跳转到登录页面时出现无法访问错误。如图: 分析 可以看到,出错的原因应该是跳转的时候加上了web默认80端口
1年前发布 10497阅读 评论
前言 模板引擎,一直以来,个人都比较喜欢velocity,只是这货差不多7年没有更新,虽然前几天抽风似的发布了个2.0版本,但7年的脚步已经落后了。 后来看到Thymeleaf挺不错,个人项目中也有在使用,这不在osc看到一篇文章:关于Thymeleaf的真相 和Thymeleaf开撕上了,最大的糟点
1年前发布 73505阅读 评论
前言 Spring Security由acegi进化而来,是一个安全权限管理框架,功能十分的强大。 但也正是因为功能强大,使用起来就变的非常的麻烦,至少个人感觉很烦很烦,甚至觉得Spring Security是不是应该为常规的Java web应用出一个简化版?相对而言Shiro就清爽很多,当然这里不讨论谁
1年前发布 26412阅读 评论
前言 前两天就实现过web service,使用了CXF,请看这里:Spring boot 整合CXF开发web service. 很方便与简洁,但是悲催的是在部署到生产环境的WebSphere(was平台)下后,不能正常运行. 网上一查,原来WebSphere和CXF的冲突问题由来已久,解决方案也五花八门,会有不必要的麻烦.既然如此
1年前发布 35567阅读 评论
现在的很多网站,在你登录时一般都会有个复选框让你选择是否记录你的登录状态,当勾选时,下次再访问该网站就会为你自动登录,免去再次输入账号密码的麻烦,带来一定的便利性。我们要做的就是实现这个功能。 先来看看它的几种实现方式: [1] 使用Cookie来保存,这是最常见的方
1年前发布 19190阅读 评论
最近网站更新的有点频繁,以前这类发布的事情都有运维专人来搞定, 现在什么都自己弄,很多地方就觉得太麻烦了, 就拿这个项目发布来说,每次把项目拉到服务器上,都要修改一下数据库以及其它 一些 如静态目录等properties的配置文件,就觉得很烦,终于在这两天受不了了,决定
1年前发布 14392阅读 评论
昨天配置了一下Dexcoder的404,500等错误页面,但是配置好项目发到服务器之后,不经意间发现session拦截器居然失效了,连后台都可以不用登录就进去了,这绝对是致命bug啊,赶紧排查。 一般我们实现的session拦截器,都是通过ServletPath来判断访问的路径是否需要session,典型
1年前发布 17783阅读 评论
经常写博客的人通常都会使用离线的博客客户端,Windows下最强大且使用率最高的自然当属Windows Live Writer。 到微软官网下载windows软件包,地址:http://windows.microsoft.com/zh-cn/windows-live/essentials 下载下来后点击安装,目前还是2012版: 选择要安装的程序 勾选w
1年前发布 3558阅读 评论
很多时候我们需要得到堆栈的信息,不光是输出到控制台或日志文件。比如目前我所在的项目当定时任务执行失败时需要邮件通知开发人员,邮件的主要内容自然就是异常的错误信息了。默认的e.printStackTrace()只是输出堆栈信息到控制台,其实它也提供了输出到writer的实现,我们可
1年前发布 6854阅读 评论
在用到web service时,如果是调用自己开发的web service还好,可以有一个方法的接口或参数对象实体类什么的,但如果是调用第三方的服务,除了得到web service服务地址的wsdl文档外,没有任何实质性编码的东西,写原生调用太麻烦,这时就需要自己写一个方法的接口类。 ? 这个,
1年前发布 7964阅读 评论