开发过程中一些零碎的记录

一、 使用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数据库中nvarcharvarchar区别

nvarchar是使用Unicode来存储数据的,一个中文、英文占2个字节。
varchar是使用非Unicode来存储数据的,一个英文占1个字节。
应该尽量使用nvarchar来存储数据,尤其是有中文字符时。

六、 Unicode、ASCII、UTF-8、GB2312的区别

  1. ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1 个字节。
  2. GB2312是中国制定的中文编码规范,把一个中文字符用两个扩展ASCII字符来表示。
  3. UNICODE编码为世界所有的文字都分配一个单独的编码。
  4. UTF-8是Unicode的实现方式之一。它是一种变长的编码方式。它可以使用1~4个字节表示一个符号。

七、 将String转成 单字节的ASCII byte[]数组

String nSndString="123456";
byte[] tBytes=nSndString.getBytes("US-ASCII");

八、 Java split()注意事项

  1. 分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"\",如split(\|);
  2. 如果用"/"作为分隔,就得写成这样:string.split("\\\\"),因为在Java中是用"\"来表示"/"的,字符串得写成这样:string Str="a\\b\\c";
    转义字符,必须得加"\";
  3. 如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如: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存储大小

  1. VARCHAR(N) 指的是可以存放的最大字符个数,不是字节数。
  2. 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;
  3. 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。
  4. 若定义的时候超过上述限制,则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}
    


开发过程中一些零碎的记录_第1张图片

;

你可能感兴趣的:(开发过程中一些零碎的记录)