當前位置:
首頁 > 最新 > Tomcat常用配置,跟亂碼Say Goodbye

Tomcat常用配置,跟亂碼Say Goodbye

1.修改Tomcat的訪問埠

我們找到tomcat安裝目錄的conf子目錄下的server.xml文件,找到Connector標籤,如下圖:

默認埠8080

我們可以看到其中有個port="8080",一般上線前我們把這個修改成80,這樣訪問路徑就變成了http://localhost/(結合上一篇文章Tomcat部署,修改訪問路徑),圖中其他屬性保持不變

2.修改Tomcat的編碼格式

接著上一個埠配置,我們在Connector標籤中再追加一個屬性URIEncoding="UTF-8",配置內容就是這麼簡單,不過在這邊說明一下為什麼要增加這個配置,以及簡要介紹下原理.

設置編碼格式

默認情況下,Tomcat會將用戶(瀏覽器端)打包的請求內容使用ISO8859-1編碼格式進行拆包解碼(理解成request),再調用我們編寫的業務邏輯程序,然後使用ISO8859-1編碼格式進行打包編碼(理解成response)反饋給用戶.而ISO8859-1編碼格式是不支持中文的,簡而言之會出現亂碼.

這邊提到了亂碼,我們就總結一下如何避開亂碼問題(大家如果遇到亂碼,可以通過這幾個關鍵配置區域查找問題所在)

1.容器層:上面已經說明了tomcat容器需要配置拆包打包的默認編碼格式

2.展示層:再來是JSP中,我們應該都知道需要配置頁面編碼格式,一般我們在頁面最上面需要配置

jsp頁面頂部編碼格式配置

head標籤中編碼格式配置

3.持久層:項目使用的資料庫也同樣使用UTF-8的編碼格式(如何配置?這個需要根據具體的資料庫來配置,這邊不做介紹)

4.編碼層:將我們編寫的java項目中的代碼編碼格式統一成UTF-8,以MyEclipse為例,右擊我們的項目,點擊properties

項目代碼的編碼格式

5.業務層:將程序運行時的編碼格式統一成UTF-8,即在每一個處理請求的地方使用request.setCharacterEncoding("UTF-8");當然我們不會這麼蠢,這樣寫起來又累又不方便維護,所以我們需要寫一個通用編碼過濾器,在這個過濾器中配置request的編碼格式.而如果你所在公司使用了框架,那這個就不用我們擔心啦,我舉個springMVC的配置例子.我們只需要在web.xml中配置CharacterEncodingFilter這個過濾器即可,如下圖:

web.xml中配置編碼格式


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

風暴過後現彩虹:應高興還是擔心?
想你的雪花……文

TAG:全球大搜羅 |