一、 使用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刪除數(shù)組中指定元素
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何時查詢權(quán)限
當jsp頁面上遇到一個<shiro:hasPermission name="/menu3">
標簽是就會調(diào)用doGetAuthorizationInfo
方法查詢當前用戶是否有這個權(quán)限,如果有就顯示否則不顯示危彩。
五攒磨、 sqlserver數(shù)據(jù)庫中nvarchar
與varchar
區(qū)別
nvarchar
是使用Unicode來存儲數(shù)據(jù)的,一個中文汤徽、英文占2個字節(jié)娩缰。
varchar
是使用非Unicode來存儲數(shù)據(jù)的,一個英文占1個字節(jié)谒府。
應(yīng)該盡量使用nvarchar
來存儲數(shù)據(jù)拼坎,尤其是有中文字符時浮毯。
六、 Unicode泰鸡、ASCII债蓝、UTF-8、GB2312的區(qū)別
- ASCII是用來表示英文字符的一種編碼規(guī)范盛龄。每個ASCII字符占用1 個字節(jié)惦蚊。
- GB2312是中國制定的中文編碼規(guī)范,把一個中文字符用兩個擴展ASCII字符來表示讯嫂。
- UNICODE編碼為世界所有的文字都分配一個單獨的編碼蹦锋。
- UTF-8是Unicode的實現(xiàn)方式之一。它是一種變長的編碼方式欧芽。它可以使用1~4個字節(jié)表示一個符號莉掂。
七、 將String
轉(zhuǎn)成 單字節(jié)的ASCII byte[]數(shù)組
String nSndString="123456";
byte[] tBytes=nSndString.getBytes("US-ASCII");
八千扔、 Java split()
注意事項
- 分隔符為“.”(無輸出),“|”(不能得到正確結(jié)果)轉(zhuǎn)義字符時,“*”,“+”時出錯拋出異常,都必須在前面加必須得加"\",如split(\|);
- 如果用"/"作為分隔,就得寫成這樣:
string.split("\\\\")
,因為在Java中是用"\"來表示"/"的,字符串得寫成這樣:string Str="a\\b\\c";
轉(zhuǎn)義字符,必須得加"\"; - 如果在一個字符串中有多個分隔符,可以用"|"作為連字符,比如:
String str="Java string-split#test"
,可以用Str.split(" |-|#")
把每個字符串分開;
九憎妙、 jquery將字符串轉(zhuǎn)json:$.parseJSON(data);
十、 spring mvc 提交表單時日期參數(shù)的綁定@DateTimeFormat(pattern="yyyy-MM-dd HH:mm") Date tpatrolTime
十一曲楚、 MySQL VARCHAR存儲大小
- VARCHAR(N) 指的是可以存放的最大字符個數(shù)厘唾,不是字節(jié)數(shù)。
- 字符類型若為gbk龙誊,每個字符最多占2個字節(jié)抚垃,最大長度不能超過32766;
- 字符類型若為utf8,每個字符最多占3個字節(jié)趟大,最大長度不能超過21845鹤树。
- 若定義的時候超過上述限制,則varchar字段會被強行轉(zhuǎn)為text類型逊朽,并產(chǎn)生warning罕伯。
十二、 sqlserver查詢當月的數(shù)據(jù):datediff(month,a.ondutyDateStart,getdate())=0
十三叽讳、 Java數(shù)組復(fù)制
String[] a = {"a","b","c"};
String[] b = Arrays.copyOf(a,a.length - 1);
十四追他、 spring mvc設(shè)置請求無返回值:
@ResponseStatus(value = HttpStatus.NO_CONTENT)
十五、 org.apache.commons.lang.StringEscapeUtils
工具類的使用
StringEscapeUtils
不但提供了 SQL 特殊字符轉(zhuǎn)義處理的功能岛蚤,還提供了 HTML邑狸、XML、JavaScript灭美、Java 特殊字符的轉(zhuǎn)義和還原的方法推溃。
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>
;