原创 spring MVC訪問靜態文件,如jpg,js,css
如何你的DispatcherServlet攔截 *.do這樣的URL,就不存在訪問不到靜態資源的問題。如果你的DispatcherServlet攔截“/”,攔截了所有的請求,同時對*.js,*.jpg的訪問也就被攔截了。 目的:
原创 六種方式實現hibernate查詢
HQL查詢 HQL是hibernate自己的一套查詢語言,於SQL語法不同,具有跨數據庫的優點。示例代碼: static void query(String name){ Session s=null; try{
原创 權限管理:RBAC(基於角色的訪問控制)SpringMVC實現
基本需求: 一個用戶可擁有多個角色,一個角色可授予多個用戶 不可對用戶直接授權 角色有優先級的概念,即當某個用色具有多個用色時,按優先級高低來判斷權限 實現模塊級控制使用到的技術: spring springMVC hibernate a
原创 fastJson與jackson性能對比
最近項目用到fastJson和jackson,爲了決定到底棄用哪個,隨手寫了個測試看看到底誰的性能更勝一籌。 看到過很多對比的帖子,大多數結果是fastJson性能高於jackson,可偏偏像SpringMVC這樣成熟的框架默認也採用的j
原创 Java併發編程:線程池的使用
Java併發編程:線程池的使用 在前面的文章中,我們使用線程的時候就去創建一個線程,這樣實現起來非常簡便,但是就會有一個問題: 如果併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁創建線程就會大大
原创 基於Spring、Hibernate的通用DAO層與Service層的實現
因爲DAO層基本的就是CRUD操作,變化不是很大,要是有變化的那就是查詢。而確實沒有必要爲每一個實體寫一個完整的DAO,但是沒有還不行,那就“抽取”出來吧。而Service依賴與DAO層,有時就是簡單調用一下,也確實沒有必要每個都寫。總
原创 spring aop事務支持與synchronized的問題
爲了防止幻讀在service層方法上加了synchronized還是出現了幻讀的情況 解決辦法 把synchronized加到Controller層或者大於事務邊界的調用層 原因 使用了spring aop事務,事務提交在一個servic
原创 正則表達式的先行斷言(lookahead)和後行斷言(lookbehind)
正則表達式的先行斷言和後行斷言一共有4種形式: (?=pattern) 零寬正向先行斷言(zero-width positive lookahead assertion) 匹配到後面pattern的位置 (?!pattern) 零寬負
原创 Java 隊列
自從Java 1.5之後,在java.util.concurrent包下提供了若干個阻塞隊列,主要有以下幾個: ArrayBlockingQueue:基於數組實現的一個阻塞隊列,在創建ArrayBlockingQueue對象
原创 cas4.0實現多種方式郵箱/手機號碼登錄及認證
先說多種方式登錄的問題,這裏使用手機號碼和用戶名 百度了半天網上能找到的辦法都試了,似乎都不好使,要不就是需要修改源碼 經過反覆查看cas4.0源碼,發現可以配置多個身份認證器,而且可以配置多個身份認證器的策略,這裏用org.jasig.
原创 Maven實現遠程熱部署
1.修改tomcat/conf/tomcat-user.xml添加tomcat管理角色和用戶 <role rolename="manager-gui"/> <role rolename="manager-script"/> <user
原创 tomcat啓動時檢測到循環繼承而棧溢出的問題
一個用戶在使用tomcat7054版本啓動的時候遇到的錯誤: Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotation
原创 java正則表達式
[...] 位於括號之內的任意字符 [^...] 不在括號之中的任意字符 . 除了換行符之外的任意字符,等價於[^\n] \w 任何單字字符, 等價於[a-zA-Z0-9] \W 任何非單字字符,等價於[^a-zA-Z0-9]
原创 String類replaceAll方法正則替換深入分析
背景: 前幾天有人發了一個關於下面問題的貼,對這個有點好奇,故花時間做了點研究。 對單個反斜槓字符串替換成雙斜槓的Java實現如下: String s = "\\"; 方法一:String sr1 =
原创 Hibernate事務與併發問題處理(樂觀鎖與悲觀鎖)
目錄 一、數據庫事務的定義 二、數據庫事務併發可能帶來的問題 三、數據庫事務隔離級別 四、使用Hibernate設置數據庫隔離級別 五、使用悲觀鎖解決事務併發問題 六、使用樂觀鎖解決事務併發問題 Hibernat