2023-01-06 一、處理請求響應亂碼問題 通過過濾器處理亂碼問題 請求亂碼和響應亂碼 (1)創建一個"web Application"項目,命名為“bookstore06”,將"bookstore05"的代碼遷移過去。(點擊bookstore05項目中的“Show in Explorer”,將 ...
2023-01-06
一、處理請求響應亂碼問題
通過過濾器處理亂碼問題
請求亂碼和響應亂碼
(1)創建一個"web Application"項目,命名為“bookstore06”,將"bookstore05"的代碼遷移過去。(點擊bookstore05項目中的“Show in Explorer”,將“resources”、“src”、“web”文件夾複製到“bookstore06”中)
之後將“resources”設置為“資源目錄”
選中“web”文件夾下中“WEB-INF”下的“lib”,將其中的包
刪除“index.jsp”
(2)設置伺服器(使用Tomcat8.5.27)
Name命名為“bookstore06_server”,設置為Chrome,Redeploy
(3)在“BaseServlet.java”中的“doGet”函數中的開頭添加代碼,用於處理響應亂碼
response.setContentType("text/html;charset=utf-8");
(4)之後將“CartServlet.java”中的第82行代碼(與上面的代碼相同)刪除。
(5)創建一個過濾器“EncodingFilter”。
設置過濾器中的註解,添加urlPatterns="/*"
@WebFilter(filterName = "EncodingFilter",urlPatterns = "/*") public class EncodingFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { req.setCharacterEncoding("utf-8");//處理post請求亂碼 resp.setContentType("text/html;charset=utf-8");//處理響應亂碼 chain.doFilter(req, resp);//之後放行 } public void init(FilterConfig config) throws ServletException { } public void destroy() { } }