美文网首页
开发过程中一些零碎的记录

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

作者: liycode | 来源:发表于2016-05-15 21:44 被阅读85次

一、 使用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页面上遇到一个<shiro:hasPermission name="/menu3">标签是就会调用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标签遍历时获取上一个元素

// 如果当前的名称与前一个相同则不显示
<c:forEach var="item" varStatus="status" items="${list}">
<c:if test="${status.first == false}">
    <c:if test="${list[status.index-1].name != item.name}">
        ${item.name}
    </c:if>
</c:if>
</c:forEach>

;

相关文章

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

    一、 使用activiti流程引擎时项目路径不要有中文名,否则加载流程文件时会报错。 二、 获取某月最后一天的日期...

  • 开发杂谈

    在开发过程中遇到的零碎知识点,就把它们记录下来,方便以后回顾 iOS一些完整的项目 https://www.jia...

  • 开发记录

    开发记录旨在记录开发过程中一些比较细微的知识点,技巧,以及一些开发过程中的意外事故。帮助回忆链接当时的场景 1. ...

  • 第一篇文章

    记录下开发过程中的一些小东西~

  • Vue开发知识

    主要记录一些Vue开发过程中遇到的问题

  • uni-app开发知识

    主要记录一些uni-app开发过程中遇到的问题

  • Js流水账知识点

    在学js的过程中,记录一些零碎的小知识,以便以后翻看。持续更新……学习资料:JavaScript教程 以及 《你不...

  • iOS杂记(持续更新)

    在这里记录一些关于iOS开发零碎的技巧. 如何通过一个view拿到该view当前的viewController.最...

  • 前端开发--JS篇(一)

    在开发过程中总结了一些零碎的知识点,和小伙伴们分享出来: 一:开发散记: 1.将字符串转为大写:JavaScrip...

  • vue3+typescript实战记录二(typescript-

    本文记录一些vue3+typescript+less开发过程中的一些小问题。 不断开发、不断更新... 1. re...

网友评论

      本文标题:开发过程中一些零碎的记录

      本文链接:https://www.haomeiwen.com/subject/xjavrttx.html