一個簡單的網頁CURD系統。用上了歷來沒用多的Spring MVC框架。一路走來。收穫了很是多。在這裏記錄下來分享給你們!php
搭建spring 框架(MVC 上下文、監聽器、設置過濾jsp和html、GBK編碼、session時間、jsp配置標籤)--->JdbcTemplate及數據庫配置--->tomcat部署項目--->編碼(pojo、persistence、service、controller、jsp)
1. Tomcat Context配置[2]:使用配置文件部署項目失敗(預備知識->瞭解tomcat 部署項目三種方式)2. Controller中的錯誤信息沒法在傳遞到前臺彈出//error.cardType從配置文件讀取,經過RedirectAttribute傳遞 RedirectAttributes att-->att.addAttribute("errorMessage", resource.getMessage("error.cardType", new Object[] {},LocaleContextHolder.getLocale())); //經過model傳遞到前臺,兩步缺一不可 model.addAttribute("errorMessage", request.getParameter("errorMessage"));
3. URI中含有中文,而web.xml已經對處理爲GBK,但仍未亂碼,考慮到別的項目也會用到tomcat安裝文件夾/conf/server.xml中的URIEncoding的值因此纔去如下的方法處理:首先控制檯獲得Request中的編碼,這樣可以針對作處理--->log.debug(request.getCharacterEncoding());以後就好辦了,用到java中主要的編碼轉換,就能夠解決--->new String(str.getBytes("GBK"), "UTF-8")
4. SpringMVC @PathVariable中含有特殊字符(;\/'#%)不包含括號的處理在前臺可以處理的邏輯,儘可能放在前臺JS推斷是否包括特殊字符 [3]@RequestMapping的REST風格[4]:說明了正則表達式SpringMVC @PathVariable 中含有中文和點號[5]:配置文件是中文的狀況
5. SpringMVC 正確顯示本身定義的中文信息[6]
6. 作站點,很是easy忽視的問題--->40四、500錯誤-----------------------------2014年4月30日更新:關於ThreadPoolExecutor線程池中corePoolSize值得問題-----------------------------7. Rules of a ThreadPoolExecutor pool size[17]:文章從兩個角度講述了ThreadPoolExecutor 中的線程數增加問題,值得一讀8. What is the difference between corePoolSize and maxPoolSize in the Spring ThreadPoolTaskExecutor[18]:當中比較不錯的回答,corePoolSize不是越多越好,
要適度。而且在調整corePoolSize以前,先要肯定程序自己是否有問題,corePoolSize的配置在客戶現場方面不帶有很是大的不肯定性。你也不可能每次請求都改動corePoolSize的值-----------------------------2014年5月4日更新:js獲得前臺中英文混合長度問題-----------------------------
9. Javascript中獲得中英文混合字符串的長度[19]:解說了問題出現的緣由及解決方法。推薦看ISO/IEC 8859-1[20],當中有字符表css
-----------------------------2014年5月9日更新:關於Tomcat 5.5 部署問題-----------------------------
10. Tomcat 5.5默認不解析EL表達式的解決的方法[21]:由於系統以前是在Tomcat 6.0上測試經過。近期換稱5.5,結果就悲劇了,出現{} --- %7B%7D的問題,一開始覺得是URIEncoding的問題。最後實在沒有辦法就問了公司的大牛,原來是EL表達式的問題,看來仍是沒有看清楚問題的本質啊!要學會給問題定位!
-----------------------------2014年5月23日更新:-----------------------------
- 作前臺jsp頁面的時候。需要寫一些js。當中遇到了JavaScript parseFloat() 函數和$(".test").hide()的意義,仍是查詢W3school比較好啊!
1.儘管項目是完畢了,但是仍然對spring MVC整體的認識不是很是清楚。推薦看( spring官方文檔[1])2. Spring MVC 教程,高速入門,深刻分析[7],講述了spring MVC中的各大要點,可以在看完基礎以後。拿這個當手冊看。3. 跟開濤學SpringMVC[8]:這個事學習spring mvc不錯的系列,另外參考spring官方可以讓你掌握這門技術4. 基於spring3.0.5 mvc 簡單用戶管理實例[9]:博主推薦看spring官方文檔5. Spring 註解學習手札(二) 控制層梳理[10]:博主的文章會很是有調理,不錯6. Spring 3.x MVC 入門系列[11]:解說的很是透徹,尤爲是配圖很是好。很是清晰7. Ajax無刷新表格行內編輯源代碼帶數據庫[12]:實現行內編輯效果8. Java servlet+Ajax 用戶管理(全然無刷新增刪改查及分頁)[13]:不是不論何時都會用到ajax,頁面中有很是多區域,僅僅需要刷新某個區域的時候,要用到。9. jQuery Ajax 英文官方api[14]、 中文API[15]10. jQuery Ajax 全解析[16]:詳解了每個函數。並配有實時樣例解說。來加深理解
[1]. spring 3.1.1官方文檔[2]. Tomcat Context配置[3]. JS推斷是否包括特殊字符[8]. 跟開濤學SpringMVC
[10]. Spring 註解學習手札(二) 控制層梳理[11]. Spring 3.x MVC 入門系列[12]. Ajax無刷新表格行內編輯源代碼帶數據庫[14]. jQuery Ajax 官方api[15]. jQuery Ajax 中文api[16]. jQuery Ajax 全解析[18]. What is the difference between corePoolSize and maxPoolSize in the Spring ThreadPoolTaskExecutor[19]. Javascript中獲得中英文混合字符串的長度[20]. ISO/IEC 8859-1