一、 使用activiti流程引擎时项目路径不要有中文名,否则加载流程文件时会报错。
二、 获取某月最后一天的日期
public static Date getLastDayOfMonth(){
Calendar calendar = Calendar.getInstance();
Date exp = DateUtils.addMonths(new Date(), 12);
calendar.setTime(exp);
calendar.set(Calendar.DAY_OF_MONTH, calendar
.getActualMaximum(Calendar.DAY_OF_MONTH));
return calendar.getTime();
}
三、 JavaScript删除数组中指定元素
Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
四、 apache shiro何时查询权限
当jsp页面上遇到一个
标签是就会调用doGetAuthorizationInfo
方法查询当前用户是否有这个权限,如果有就显示否则不显示。
五、 sqlserver数据库中nvarchar
与varchar
区别
nvarchar
是使用Unicode来存储数据的,一个中文、英文占2个字节。
varchar
是使用非Unicode来存储数据的,一个英文占1个字节。
应该尽量使用nvarchar
来存储数据,尤其是有中文字符时。
六、 Unicode、ASCII、UTF-8、GB2312的区别
- ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1 个字节。
- GB2312是中国制定的中文编码规范,把一个中文字符用两个扩展ASCII字符来表示。
- UNICODE编码为世界所有的文字都分配一个单独的编码。
- UTF-8是Unicode的实现方式之一。它是一种变长的编码方式。它可以使用1~4个字节表示一个符号。
七、 将String
转成 单字节的ASCII byte[]数组
String nSndString="123456";
byte[] tBytes=nSndString.getBytes("US-ASCII");
八、 Java split()
注意事项
- 分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"\",如split(\|);
- 如果用"/"作为分隔,就得写成这样:
string.split("\\\\")
,因为在Java中是用"\"来表示"/"的,字符串得写成这样:string Str="a\\b\\c";
转义字符,必须得加"\"; - 如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:
String str="Java string-split#test"
,可以用Str.split(" |-|#")
把每个字符串分开;
九、 jquery将字符串转json:$.parseJSON(data);
十、 spring mvc 提交表单时日期参数的绑定@DateTimeFormat(pattern="yyyy-MM-dd HH:mm") Date tpatrolTime
十一、 MySQL VARCHAR存储大小
- VARCHAR(N) 指的是可以存放的最大字符个数,不是字节数。
- 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;
- 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。
- 若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。
十二、 sqlserver查询当月的数据:datediff(month,a.ondutyDateStart,getdate())=0
十三、 Java数组复制
String[] a = {"a","b","c"};
String[] b = Arrays.copyOf(a,a.length - 1);
十四、 spring mvc设置请求无返回值:
@ResponseStatus(value = HttpStatus.NO_CONTENT)
十五、 org.apache.commons.lang.StringEscapeUtils
工具类的使用
StringEscapeUtils
不但提供了 SQL 特殊字符转义处理的功能,还提供了 HTML、XML、JavaScript、Java 特殊字符的转义和还原的方法。
import org.apache.commons.lang.StringEscapeUtils;
public class SqlEscapeExample {
public static void main(String[] args) {
String userName = "1' or '1'='1";
String password = "123456";
userName = StringEscapeUtils.escapeSql(userName);
password = StringEscapeUtils.escapeSql(password);
String sql = "SELECT COUNT(userId) FROM t_user WHERE userName='"
+ userName + "' AND password ='" + password + "'";
System.out.println(sql);
}
}
十六、使用jsp的jstl标签遍历时获取上一个元素
// 如果当前的名称与前一个相同则不显示
${item.name}
;