避坑指南(Java Web實戰每日經驗彙總,持續更新)

頁面設置技巧

頁面設置儘量用百分比,不要用像素之類的絕對值,使用絕對值之後,如果顯示頁面的分辨率發生改變,頁面將十分難看。

localhost注意事項

訪問本機的tomcat的時候,我們經常用的是localhost,但是如果此時是斷網的狀態,那麼本機是解析不了localhost的,如果斷網,請用192.168訪問。

優化

後臺對數據庫進行增刪改查的時候,一定要記得把connection、statement、resultset這三個關掉,否則會造成與服務器連接數太多而導致的崩潰及內存溢出等問題,最好的finally中關閉,而不是try裏面。

文件上傳功能

前臺form表單用的是form-data的屬性,這樣就可以以二進制的形式進行傳輸,但是在後臺用fileUtils.copyFile()進行文件上傳的時“.txt”“.csv”類的純文本文檔根本無法實現上傳功能,但是excel文件可以。去掉了fileUtils.copyFile(),改用最原始的輸入輸出流的fileInputStream,和fileOutputStream編寫後臺,還是無法讀取純文本文檔,經過各種排查,發現如果上傳的純文本文檔裏面是沒有內容了,也就是說純文本文檔內容爲空,那麼在用流輸入的時候是讀取不到內容了,後臺就會報錯,顯示空指針異常,這就導致了輸出不成功,從而導致了上傳失敗,所以 ,一定要注意,上傳的文本文檔一定要有內容,否則文件的上傳就會失敗。

文件上傳功能

問題:點擊上傳按鈕,無法上傳大於2M的文件
解決方法:
方法1:
struts2默認使用common-fileupload實現文件的上傳,默認最大支持上傳文件的大小爲2M,
新建struts.properties 添加struts.multipart.maxSize=10000000大約爲9.5M
方法2:
在struts.xml 的添加 constant標籤中添加 name=“struts.multipart.maxSize” value="10000000"即

服務器中毒

一定要把平時做的數據備份!備份!備份!

MyEclipse新導入項目報錯——The type javax.servlet.http.HttpServletRequest cannot be res…

問題原因:

新添加的項目運行環境和本地不同,需要重新添加服務器運行環境。

解決問題方法:

右擊項目 ——> properties ——> 選擇“Java Build path” ——> 選擇 Libraries 選項卡——> 點擊“Add Libraries” ——> 選擇 MyEclipse Server Library——>選擇Tomcat——>點擊“Finish”

無法去除字符串的空格

問題:
使用字符串的trim()和replace()等方法,還是無法去除字符串裏面的空格

可以看看該顯示的空格是否是真的空格,多數情況下,此空格並不是空格符,而是特殊字符導致無法顯示。可以把字符強轉成ascii碼,對照ascii碼錶,看其實什麼字符。
/**
* 方法:將char 強制轉換爲byte
*/

for(i=0;i < str1.length();i++) {
		char ch = str1.charAt(i);
		byte byteAscii = (byte)ch; 
		System.out.println(ch+" , "+byteAscii);
		if (ch == '\0') {
			continue;
		}else{
			str2+=ch;
		}										
} 

解決問題方法:
把控制檯輸出的字符複製到word上,word有一個顯示空格字符的功能,把word中的特殊字符複製到複製到replace()方法中,用空字符代替特殊字符

Mysql無法插入數據

問題:
控制檯報錯信息:Incorrect string value: ‘\xF0\x9F\x92\x93\xE4\xB8…’ for column
原因:
mysql的UTF-8只支持三個字節的存儲,插入的信息中有表情,而一般字符是三個字節,但是emoji表情是4個字節,所以存儲不了。
解決辦法:
刪除表情等特殊字符

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章