苏州游记

周末,背起行囊,来一场说走就走的旅行,也是蛮惬意的。 时间不多,只有两天,那就选择一个近一些的地方吧。

2017年9月初,周末, 一个人选择苏州这个江南小城,去走一走逛一逛。现在写一份游记,记录下自己走过的地方,看到过的风景,以后回过头,应该也是满满回忆。

上有天堂下有苏杭。在杭州生活过一段时间,看过西湖水波无痕的静美,雷峰塔夜半灯火的辉煌,苏杭本齐名,所以,自己也对苏州园林的小调怡情古色古香充满着好奇与向往。

下面根据自己走过的路线,列出行程中的各种安排和准备,对于后面所列的行程安排,两天的时间还是比较充足的。

修改HttpServletRequest中的请求参数

前言

有些时候, 我们需要在请求到达Controller之前, 对请求的参数, 即request中的parameter进行修改, 我们发现ServletRequest提供了setAttribute()方法, 然而, 在controller中, 获取request中参数的方法是public String getParameter(String name) 或者 public String[] getParameterValues(String name) 方法.
所以, 这里采用继承javax.servlet.http.HttpServletRequestWrapper装饰者类, 来实现修改request中参数的功能, HttpServletRequestWrapper类是HttpServletRequest接口的实现类, HttpServletRequest接口又是ServletRequest接口的子接口.
其中, HttpServletRequestWrapper对request做一次包装.

Textarea appends new content by jQuery

Abstract

Sometimes, we need implement a function that how we can read new content from a file and append to textarea in the html.In this article, I will write how to do it and show the new content from a file real-time in html.At last, making textarea more useful by jQuery.

Java实现服务器间文件传输

前言

最最一开始, 我们有多台服务器分布式部署了具有接收用户上传图片功能的系统, 为了将上传的图片存储到一起(为了方便用户预览图片, 查询图片, 由于没有部署类似于HDFS, fastDFS这种分布式文件系统, 只是基于Linux存储简单的图片, 需要将图片集中到一起来进行管理), 我们就需要在用户上传图片之后, 将多台服务器上的零散的图片, 传输并存储在一台集中的图片服务器上.

Java与C#通讯中的AES加密

背景

AES(高级加密标准:Advanced Encryption Standard)加密是一种对称的加密方式,用来替代原先的DES。

在此,将会介绍Java与C#在通讯过程中的对文本字符串的加密操作,分别对Java中的AES和C#中的AES加密进行说明,同时,当Java对文本进行加密后,C#能够根据相同的加密规则对文本进行解密,反之,亦然。
本文将会采用AES的ECB模式进行加密,填充方式为PKCS5Padding,加密的密码必须为16位。编码方式统一使用UTF-8

  • Java AES加密中的ECB加密模式对应于C#中的System.Security.Cryptography.CipherMode.ECB模式;
  • Java中的PKCS5Padding填充方式,对应于C#中的System.Security.Cryptography.PaddingMode.PKCS7;

Java执行Shell脚本

背景

在Java web项目的开发中,我们通常将web项目打包发布在Linux系统服务器上,往往很多时候,我们都需要让程序去执行本地或者服务器某路径下的Shell脚本,以达到处理某些系统命令的功能。

执行Linux Shell脚本的步骤

  1. 改变Shell脚本的可执行权限
  2. 执行Linux Shell脚本

改变Shell脚本的可执行权限

改变Shell脚本的可执行权限,其实就是执行Linux的chmod来改变文件的权限;

执行Linux Shell脚本

我们通过Java JDK中的Runtime.getRuntime()来获取Process进程类对象,从而调用Process对象的public Process exec(String command) throws IOException方法来完成Shell文件的执行;