概述
開發(fā)Web項目的過程中,經(jīng)常遇到瀏覽器中顯示的內(nèi)容亂碼,或者服務器獲取瀏覽器請求參數(shù)時亂碼的問題,很多同學基本都是在遇到亂碼的時候去網(wǎng)上一頓搜索,然后看哪篇文章比較靠譜就照著上面的內(nèi)容去配后亂碼成功消失了,然后就沒然后了...
最后基本只是停留在知道怎么樣設置能避免常見的亂碼問題,而不知道具體的原理,一旦遇到了網(wǎng)上查不到的亂碼場景就不知道如何解決了~
本文會深入的讓你了解針對于HTTP請求時,這一去一回(Request,Response)之間,到底做了怎樣的事情,讓你徹底告別Web項目中的亂碼煩惱。本文的內(nèi)容是基于Tomcat 8.0.23版本的,其他容器也可以參考本文的內(nèi)容,畢竟理論都是通的~
Response亂碼
當你在瀏覽器中看到響應的內(nèi)容是亂碼的時候,第一反應就是,是不是我程序的問題,是不是我程序吐出的內(nèi)容就是個亂碼,所以才導致了瀏覽器里面看到了亂碼。那么接下來我將帶你過一遍Response的過程,以及對剛才的猜測進行驗證~
首先,我建了一個非常簡單的Web項目,里面只有一個Servlet,作用是直接返回我要響應的內(nèi)容~
項目結(jié)構(gòu)如下: