孙琛斌的专栏

不积跬步无以至千里,不积小流无以成江河

编写简单的Web容器TomDog(揭Web容器面纱)

从事Java Web编程的朋友都知道,一个web应用的组成必须要有web.xml,因为这个是web应用程序的入口,通常我们会选择一种Web容器来发布我们的Web项目,比如Tomcat、Weblogic等容器服务程序。 这些程序都遵从一个标准的Web工程标准,他们启动时都会去主动读取指定位置的we...

2018-10-12 15:29:12

阅读数 133

评论数 0

解决jdk1.7 不支持TLS1.2的问题

这个问题是在生产环境调整之后出现的,因为之前是好使的,后来又一天突然不好使了,观察日志发现代码抛异常,感觉是没有连接上服务器,但是其他环境是好使的,有点疑惑,分析后发现可能是ssl的协议问题,所以观察了下Nginx的配置,发现运维伙伴基于公司的安全机制,将ssl_protocols从 TLSv1....

2018-07-31 23:12:07

阅读数 2116

评论数 0

SpringMvc的手写版(PS:只是闲来无事写的简化版,仅供大家理解SpringMvc的运作原理)

最近手头正好有些时间,想着写点什么好呢?后来看到了一篇帖子说面试的时候有面试官问他能不能手写一套SpringMvc出来,不拉不拉的….不多说了。所以想着就写写试试,捋了捋思路,无非就是三点(大神勿喷!): 1. 实例化 2. 注入 3. url映射连起来说就是对加了@Controller、@...

2017-08-31 20:10:39

阅读数 2614

评论数 1

A.CTable开源框架Mybatis增强自动创建表/更新表结构/实现类似hibernate共通的增删改查

mybatis-enhance-actable-0.0.1继之前的两篇文章阐述,我的第一个开源项目Mybatis_BuildTable_V0.2之后: http://blog.csdn.net/sun5769675/article/details/51757867 http://blog.cs...

2017-07-07 20:19:29

阅读数 8872

评论数 13

自定义EL表达式,将对象转成json格式,关键代码

做javaweb开发的最常用的一个东西el表达式,这个东西是个很好用的东西,但有些时候我们处理复杂的字符串操作,就有些相形见绌了,这个时候就需要用自定义的方法去实现更多简洁方便的事情。下面自定义一个将对象转成json字符串的自定义el表达式用来讲解这个自定义的过程:ElFunctions.java...

2015-12-18 16:58:22

阅读数 9266

评论数 0

一段代码引发对泛型的重新认识

故事背景:小伙伴在开发一个导出功能时在处理数据结构的过程中,产生了一个诡异的数据结构,在一个List<String>这个类型的变量中,他的值列表却不是我们认为的String类型,而是String和Double的混合数据,由于他的业务复杂,我这边根据他代码...

2018-08-31 11:12:20

阅读数 67

评论数 0

springmvc架构和springboot架构通用的引入配置方式

当我们在写一些插件或者通用功能时,可能会把他们打成jar包,如果是给web项目使用时,可能会出一个部署文档,比如要配置一些什么配置用来支持我们这个jar包里面的功能,这里建议这些可配置的参数在我们jar包中的引入方式使用@Value("${wechat.appid}&qu...

2018-08-07 16:02:05

阅读数 168

评论数 0

大型商城活动防刷限流方案

最近负责的一个某品牌手机的官方商城,他们要发售一款新手机,以往都是各个渠道一起发售,但是本次决定官网首发10000台,这样一来其他渠道的消费者都会被引流到官网来(天猫/京东/苏宁/线下),其庞大的流量并发可想而知,原有的功能实现肯定无法承载这种体量,因此我们全面优化了预售功能,分别按照以下几个点来...

2018-02-08 22:10:17

阅读数 1236

评论数 0

AOP的应用之分布式锁

大家在做分布式多节点等系统的开发中为了保证某些业务操作场景的原子性操作,一定会用到锁的概念,传统的synchronized无法满足分布式多节点的系统,所以大家都会用Redis实现分布式锁,怎么实现我这里就先不多说了大家百度一下可以查到一大堆。 但还是要简单的说一下主要就是使用redis的setn...

2018-01-31 12:49:23

阅读数 618

评论数 0

开源插件ACTable已经打包放到Maven中央仓库啦!

开源插件ACTable(基于Mybatis自动建表、并支持共通CUDR)上线啦!由于很多小伙伴在使用actable的时候都不得不下载源码,然后在本地install打包然后使用,所以最近我抽空,将其打包放在了maven中央仓库上,因此包的结构有所调整,引入方式如下:pom.xml中引入<dep...

2017-11-13 18:02:02

阅读数 1270

评论数 2

如何将jar包上传到Maven中央仓库

最近actable的部分功能已经完善了,一些小伙伴已经在使用了,但是由于没有放到远程仓库,导致使用的小伙伴都需要自己将代码取下来,然后install,这样不太好,所以最近就规划了下包结构,上传到了maven中央仓库中,以下是上传步骤。1.创建工单1.1 https://issues.sonatyp...

2017-11-13 14:23:18

阅读数 7295

评论数 3

SpringMvc通过自定义注解在方法的参数中注入数据

说一个场景,有时候我们做后台业务的时候,经常需要取session中存储的用户信息,所以免不了一直需要写下面这一段又长又无聊的代码:MemberCommand memberCommand = (MemberCommand) request.getSession().getAttribute(Sess...

2017-09-01 14:21:14

阅读数 7450

评论数 1

自定义注解@NeedLogin登录校验

今天介绍的是一个关于登录校验的自定义注解,之前有过一篇写如果自定义注解的博文:Java中的自定义注解那么这次讲一个经常会出现的场景下,会使用到的注解,一般我们无论是开发后端系统还是前端系统,都会有用户的概念,那么很多业务场景下我们都需要去校验当前访问者是否已经登录了,举个例子,如果是一个商城系统访...

2017-08-22 11:23:04

阅读数 543

评论数 0

Ajax异步提交List对象,SpringMvc如何接收?

Springmvc的一个问题一直被广大开发者所诟病,就是在list对象的转换上一直并不是特别好用,网上很多解决方法关于不同的表单提交方式这里就不多说了,只介绍下ajax方式提交list对象的方法。比如你要通过ajax传递下面一段数据到controller:var json = [{'id':1,'...

2017-08-16 13:46:38

阅读数 4430

评论数 0

微信卡券功能JAVA版(PS : 其实无关乎什么语言拉 :) )

关于微信卡券的流程大家可以参考下微信官方文档http://mp.weixin.qq.com/wiki/9/4f455120b50741db79b54fde8896b489.html 其中的“微信卡券接口”——>“微信卡券接口说明”了解下什么是卡券,怎么玩的这里不再多做赘述,可以使用测试帐号按照“...

2017-03-17 14:07:43

阅读数 7121

评论数 3

分享下沪江外语学习视频教程

觉得作为一个程序员,平时除了学习下最新技术之外,还有至关重要的一点就是学习下外语,因此我这边收集了些沪江的各类语言的视频教程,格式是swf的不是单纯的讲是带交互的那种,其实就是官网上售卖的那些教程。资料是我之前买的,花了多少钱就不说了,主要涵盖语种英语、西班牙语、日语、泰语、韩语、法语、德语这几种...

2017-03-07 18:57:22

阅读数 1515

评论数 2

request.getHeader("user-agent")为null

今天一大早来,发现日志文件大小暴增,艰难的打开一部分查看之后发现,一直在报空指针的错误,所以检查了下代码,发现String ua = ((HttpServletRequest) request).getHeader(“user-agent”).toLowerCase();这段话一直报错,马上就反应...

2017-03-01 13:25:48

阅读数 3288

评论数 1

访问使用https协议的网址时,浏览器地址栏没有显示“安全锁”的标志的问题

这种问题造成的原因,首先要检查的是,使用的SSL证书是否过期,查看方式很简单,F12浏览器开发者模式,切换到Security选项,然后会看到一个View certificate的按钮,点一下就会弹出这个 网址使用的SSL证书的详细信息了,其中包括了证书的有效期开始时间和结束时间,如果是由于过期了...

2017-02-23 17:52:00

阅读数 5949

评论数 0

org.apache.commons.net.util.Base64的encodeBase64String方法的坑

今天在做汽车之家接口数据调用时,发现一个问题,由于对方服务器有身份验证,需要根据一定的格式将相关信息加密然后转成Base64然后放到http请求的header中。我在实际操作中遇到奇怪问题,明明加密后的字符串是错的,可对方的iis服务却能收到这个错误的请求,尽管不会通过身份验证,这时返回错误代码是...

2017-01-17 15:56:50

阅读数 16670

评论数 0

JAVA8新特性(访问接口的默认方法)

访问接口的默认方法还记得第一节中的formula例子么,接口Formula定义了一个默认方法sqrt可以直接被formula的实例包括匿名对象访问到,但是在lambda表达式中这个是不行的。 Lambda表达式中是无法访问到默认方法的,以下代码将无法编译: 复制代码 代码如下:Formula ...

2016-09-26 17:46:46

阅读数 1468

评论数 0

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