JavaRush /Java Blog /Random-TW /Spring中使用CharacterEncodingFilter請求編碼
Core
等級 35
Екатеринбург

Spring中使用CharacterEncodingFilter請求編碼

在 Random-TW 群組發布
你好好人! 簡介 有一個非常流行的問題 - 在 Web 應用程式中俄語字元顯示不正確。我讀了這些文章,明白了罪的根源和絆腳石。我意識到為什麼 jsp 頁面上需要這些行,以及在客戶端-伺服器-資料庫鏈中資料傳輸的哪個階段: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 我的主要問題在於一篇好文章中描述的內容(來源:Tyts
這是管理員建置的伺服器。這是一個在管理員建立的伺服器上運行的 Web 應用程式。這是一個 servlet,它是在管理員建置的伺服器上執行的 Web 應用程式的一部分。或 JSP,它是同一個 servlet。這個servlet 接收一個請求。它包含數據。哪個?一組位元組。Servlet 需要什麼?符號。問題:我應該使用什麼編碼?再一次深入 HTTP。使用 POST 方法傳輸表單中的數據,指示特定的內容類型: Content-type: application/x-www-form-urlencoded 理論上,也可以在此處指定傳輸資料的編碼: Content-type: application/ x- www-form-urlencoded;charset=UTF-8 無論如何,Tomcat 都會嘗試從這裡獲取它。實際上,只有 Opera 指定了編碼。也許將來會發生一些變化,但目前事實如下:傳入資料的編碼未知!對此我們需要採取一些措施。
解決方案是使用過濾器。這裡寫得很好,這就是我所做的(來源:tyts)我將這個配置代碼插入到web.xml中 現在一切都很好,我基本上很高興,但是我想通過Spring註釋來配置這個過濾器,因為我執行了所有使用 java 類別的其他配置。不知怎的,我想要統一。我有 2 個配置類別:一個配置應用程序,另一個配置應用程式上下文(依賴項注入)。這是第一類的程式碼。 我相信過濾器配置需要插入到此類中,但程式碼有點不對勁。這是我第一次使用網頁應用程序,所以我向更有經驗的人尋求幫助。謝謝。 characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true characterEncodingFilter /* package net.kaa.todolist.config; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; public class AppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext servletContext) throws ServletException { AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext(); appContext.register(ApplicationContextConfig.class); ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher", new DispatcherServlet(appContext)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); } }
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION