Java 里面访问 https 链接不验证

通常使用一些 http 的客户端工具包,如 apache 等,无法访问 https 的链接(使用 HTTPS 专用的Client ),主要是因为底层实现本身就是两套通信。

而且 https 一般需要有证书信任才行,实际上这个是客户端的限制,由于项目中需要同时调用 http 和 https(连证书都没有的,没办法),所以只有自己写一个了。

记录一下,同时支持HTTP和HTTPS访问。

基本上访问一个HTTP的代码如下,兼容了HTTPS访问(没有证书认证的,如果想访问支付宝等,需要配置一个访问的公钥)

阅读更多

Java Servlet里面设置页面缓存

HTTP根据响应头进行缓存。有很多种、区别网上面也说的很清楚,也很全面,不懂的可以去google一下,有etag,expires等等很多,基本都是通过响应头里面进行设置。

不过在实际应用里面,可以打开firebug等,不管你写多少个response.setHeader,想破脑袋也不能把页面缓存。总是一个个的200,服务器端的代码每刷一次就执行一次,半点用都没有。

即使是使用了response.setStatus(304),那又怎样,服务器代码还是照样运行了。呵呵,研究了一下last-modified这种头,讲解一下。

首先,要知道浏览器的缓存机制,如果发出一个GET请求,收到响应后发现响应头里面有个last-modified参数,会记录下来,下次再发送同样的GET请求时,会把这个值在请求头里面带进去,请求头为If-Modified-Since(只有GET请求,而且URL也要相同,cache?a和cache?b是不同的,浏览器不会带这个请求头)

有没有发现 Servlet 里面有个 getLastModified 方法,平时当然不怎么用了,如果用的话,会发现这个方法永远返回-1,这是关键,看方法是返回long型,如果想使用就返回上次更新的时间,servlet里面的service方法有用到(一般不用重写service方法,重写getLastModified就够了)

总之,就两步,就可以实现缓存了:

  1. doGet方法里面响应一个头last-modified
  2. 写getLastModified,以long型返回last-modified响应时间

先在web.xml里面配置一个 /cache 到servlet映射 ,再修改如下代码

阅读更多

神器:Sublime

新发现一个编辑器软件:Sublime,用于几天后直接抛弃 Notepad++/UltraEdit,实在是用的太爽,所以单独写篇文章推荐一下。

首先:就两个原因就可以完爆其它编辑器:

  1. 界面看起来爽,如果对比 Eclipse 来编辑 JavaScript 文件,就知道什么是体验了
  2. 操作流畅,速度惊呆了我。

下载地址 : http://www.sublimetext.com/

更何况,插件功能让他比起 IDE 也毫不逊色!

收藏一下常用快捷键:

Ctrl+Shift+P:打开命令面板
Ctrl+P:搜索项目中的文件
Ctrl+G:跳转到第几行
Ctrl+W:关闭当前打开文件
Ctrl+Shift+W:关闭所有打开文件
Ctrl+Shift+V:粘贴并格式化
Ctrl+D:选择单词,重复可增加选择下一个相同的单词
Ctrl+L:选择行,重复可依次增加选择下一行
Ctrl+Shift+L:选择多行
Ctrl+Shift+Enter:在当前行前插入新行
Ctrl+X:删除当前行
Ctrl+M:跳转到对应括号
Ctrl+U:软撤销,撤销光标位置
Ctrl+J:选择标签内容
Ctrl+F:查找内容
Ctrl+Shift+F:查找并替换
Ctrl+H:替换
Ctrl+R:前往 method
Ctrl+N:新建窗口
Ctrl+K+B:开关侧栏
Ctrl+Shift+M:选中当前括号内容,重复可选着括号本身
Ctrl+F2:设置/删除标记
Ctrl+/:注释当前行
Ctrl+Shift+/:当前位置插入注释
Ctrl+Alt+/:块注释,并Focus到首行,写注释说明用的
Ctrl+Shift+A:选择当前标签前后,修改标签用的
F11:全屏
Shift+F11:全屏免打扰模式,只编辑当前文件
Alt+F3:选择所有相同的词
Alt+.:闭合标签
Alt+Shift+数字:分屏显示
Alt+数字:切换打开第N个文件
Shift+右键拖动:光标多不,用来更改或插入列内容
鼠标的前进后退键可切换Tab文件
按Ctrl,依次点击或选取,可需要编辑的多个位置
按Ctrl+Shift+上下键,可替换行

插件安装:

安装Package Control

安装插件先要安装 Package Control,才能安装其它插件。步骤如下:

阅读更多