Linux與windows有許多不同微宝,在不同環(huán)境下會有很多問題虎眨。下面記錄這些坑。
1.IDE導入eclipse項目servlet的一些方法會報錯岳守。
原因是缺少一個jar包的引用碌冶。也就是Tomact lib文件夾下的servlet-api 這個jar包。復制后放到項目的lib文件夾下蒙袍,就好了。至于為什么呢害幅?應該是eclipse下創(chuàng)建web工程的時候就默認會引入Java EE 5/6 Libraries庫,里面已經(jīng)包含了servlet有關的jar包的。而idea并沒有狠怨,所以會報錯邑遏。
2.問題:eclipse啟動時 jsp能正常打開 idea啟動時jsp變成下載
解決:第一步:在“jsp”文件上右擊,選擇“open with”记盒;
第二步:選擇“jsp Editor”即可用“jsp”打開方式打開。
備注:如果“open with”下沒有“jsp Editor”俩檬,可以選擇“other”碾盟,之后也可以找到“jsp Editor”。
3.javaweb 亂碼問題
1冰肴,Jsp頁面
<% @page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
?2,JSP頁面頭部
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
3联逻,瀏覽器調(diào)用servlet检痰,頁面顯示亂碼
servlet使用response對象輸出前,先執(zhí)行
1response.setContentType("text/html;charset=utf-8");3response.setCharacterEncoding("utf-8");
4攀细,jsp或servlet中表單參數(shù)提交給對應的jsp或servlet,接收的jsp或servlet中接收到的參數(shù)中文顯示亂碼
在接收post提交的參數(shù)前境钟,使用
request.setCharacterEncoding("utf-8");
設定接收參數(shù)的內(nèi)容格式為utf-8編碼俭识。
5,數(shù)據(jù)庫連接
設置characterencoding為UTF-8 如:
String url = "jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF8";
6,使用Hibernate磁椒,所有的配置文件頭部的編碼格式改成UTF-8
7浆熔, URL方式傳遞參數(shù)(Tomcat)亂碼
為了保證get/post數(shù)據(jù)都采用相同的UTF8編碼医增,在tomecat中server.xml設置:?
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"? URIEncoding="UTF-8"/>
?8老虫,數(shù)據(jù)庫(mysql)
輸入查詢語句SHOW VARIABLES LIKE 'character_set_%';查看所有的編碼是否是UTF-8祈匙。如不是,使用Server Instance Config 把默認的字符集設置為utf-8或者修改/MySQL/MySQL Server 5.0/my.ini中的default-character-set=gbk
character-set-server=gbk;
重新啟動mysql的服務