springMVC-11 中文亂碼處理

前言? ? ? ??

????????本文介紹了springMVC中文亂碼的解決方案,同時也貼出了本人遇到過的其他亂碼情況,可以根據自身情況選擇合適的解決方案。

其他-jdbc、前端、后端、jsp亂碼的解決

Tomcat導致的亂碼解決


自定義中文亂碼過濾器

老方法,通過javaWeb-Filter解決

準備工作

1.把上一章中的取消數據綁定的設置注釋掉:

    //恢復注解@NotEmpty(message="不能為空")private String name;
//MonsterHandler中注釋掉取消數據綁定
//webDataBinder.setDisallowedFields("name");

2.輸入中文:

3.后臺顯示中文亂碼:name='??????'

Filter回顧

Filter的生命周期圖解

自定義實例

1.創建com/stein/springMVC/filter/MyCharacterFilter.java

import javax.servlet.*;
//注意Filter接口不要引用錯了
public class MyCharacterFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {}@Overridepublic void destroy() {}
}

2.在doFilter()中執行

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//設置utf-8編碼servletRequest.setCharacterEncoding("utf-8");//放行過濾器filterChain.doFilter(servletRequest,servletResponse);}

3.在web.xml中配置Filter

????????建議放在最前面

    <!--配置自定義的中文亂碼過濾器--><filter><filter-name>MyCharacterFilter</filter-name><filter-class>com.stein.springMVC.filter.MyCharacterFilter</filter-class></filter><filter-mapping><filter-name>MyCharacterFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

4.重新測試

? ? ? ? 后臺輸出:name='佩恩'。亂碼解決

Spring提供的過濾器?

? ? ? ? 通過上面的自定義的方法,在代碼中寫死了字符集是"uft-8",屬于硬編碼的方式,不夠靈活;自己靈活處理的話,又比較麻煩。于是有了spring給我們提供的字符過濾器。

1.在web.xmlx中注釋掉剛剛自己定義的MyCharacterFilter

2.重新配置spring的過濾器

? ? ? ? 1)utf-8 或者 UTF-8都一樣

? ? ? ? 2)encoding這個參數名,可以在CharacterEncodingFilter這個類名,按Ctrl+B進入查看到

    <!--使用spring提供的過濾器處理中文,放在其它Servlet前--><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><!--大小寫都可以 utf-8--><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

3.重新測試

? ? ? ? 中文正常顯示!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84499.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84499.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84499.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql-innoDB存儲引擎事務的原理

InnoDB 存儲引擎支持 ACID 事務&#xff0c;其事務機制是通過 Redo Log&#xff08;重做日志&#xff09;、Undo Log&#xff08;回滾日志&#xff09; 和 事務日志系統 來實現的。下面詳細解析 InnoDB 事務的工作原理。 1.事務的基本特性&#xff08;ACID&#xff09; 特性描…

在GIS 工作流中實現數據處理

通過將 ArcPy 應用于實際的 GIS 工作流&#xff0c;我們可以高效地完成數據處理任務&#xff0c;節省大量時間和精力。接下來&#xff0c;本文將結合具體案例&#xff0c;詳細介紹如何運用 ArcPy 實現 GIS 數據處理的全流程。 數據讀取與合并 假設我們有多個 shapefile 文件&a…

第十四屆藍橋杯_省賽B組(C).冶煉金屬

題目如下: 拿到題我們來看一下&#xff0c;題目的意思&#xff0c;就是求出N個記錄中的最大最小值&#xff0c;言外之意就是&#xff0c;如果超過了這個最大值不行&#xff0c;如果小于這個最小值也不行&#xff0c;所以我們得出&#xff0c;這道題是一個二分答案的題目&#x…

??Android 如何查看CPU架構?2025年主流架構有哪些??

在開發安卓應用或選購手機時&#xff0c;了解設備的CPU架構至關重要。不同的架構影響性能、兼容性和能效比。那么&#xff0c;??如何查看安卓設備的CPU架構&#xff1f;2025年主流架構有哪些&#xff1f;不同架構之間有什么區別&#xff1f;?? 本文將為你詳細解答。 ??1.…

飛算 JavaAI 2.0.0:開啟老項目迭代維護新時代

在軟件開發領域&#xff0c;老項目的迭代與維護一直是開發團隊面臨的難題。代碼邏輯混亂、技術棧陳舊、開發效率低下等問題&#xff0c;讓老項目改造猶如一場 “噩夢”。而飛算 JavaAI 2.0.0 版本的正式上線&#xff0c;通過三大核心能力升級&#xff0c;為老項目開發帶來了全新…

Linux初步介紹

Linux是一種開源的類Unix操作系統內核&#xff0c;廣泛應用于服務器、桌面、嵌入式設備等各種計算平臺。它由Linus Torvalds于1991年首次開發&#xff0c;因其穩定性、安全性和靈活性&#xff0c;被全球開發者和企業廣泛采用。 特點&#xff1a; 開放性&#xff08;開源&#…

OneNet + openssl + MQTT

1.OneNet 使用的教程 1.在網絡上搜索onenet&#xff0c;注冊并且登錄賬號。 2.產品服務-----物聯網服務平臺立即體驗 3.在底下找到立即體驗進去 4.產品開發------創建產品 5.關鍵是選擇MQTT&#xff0c;其他的內容自己填寫 6.這里產品以及開發完成&#xff0c;接下來就是添加設…

行為設計模式之Memento(備忘錄)

行為設計模式之Memento&#xff08;備忘錄&#xff09; 前言&#xff1a; 備忘錄設計模式&#xff0c;有點像vmware快照可以回滾&#xff0c;idea的提交記錄同樣可以混滾&#xff0c;流程引擎中流程可以撤銷到或者回滾到某個指定的狀態。 1&#xff09;意圖 在不破壞封裝性的…

動畫直播如何顛覆傳統?解析足球籃球賽事的數據可視化革命

在5G和AI技術快速發展的今天&#xff0c;體育賽事直播正在經歷一場深刻的變革。傳統視頻直播雖然能提供真實的比賽畫面&#xff0c;但在戰術可視化、數據深度和交互體驗方面存在明顯短板。而基于實時數據驅動的動畫直播技術&#xff0c;正通過創新的方式彌補這些不足&#xff0…

二刷蒼穹外賣 day01

nginx nginx反向代理 將前端發送的請求由nginx轉發到后端服務器 好處&#xff1a; 提速&#xff1a;nginx本身可緩存數據 負載均衡&#xff1a;配置多臺服務器&#xff0c;大量請求來臨可均衡分配 保證后端安全&#xff1a;不暴露后端服務真實地址 server{listen 80;server_…

5.2 HarmonyOS NEXT應用性能診斷與優化:工具鏈、啟動速度與功耗管理實戰

HarmonyOS NEXT應用性能診斷與優化&#xff1a;工具鏈、啟動速度與功耗管理實戰 在HarmonyOS NEXT的全場景生態中&#xff0c;應用性能直接影響用戶體驗。通過專業的性能分析工具鏈、針對性的啟動速度優化&#xff0c;以及精細化的功耗管理&#xff0c;開發者能夠構建"秒…

模型訓練-關于token【低概率token, 高熵token】

Qwen團隊新發現&#xff1a;大模型推理能力的提高僅由少數高熵 Token 貢獻 不要讓低概率token主導了LLM的強化學習過程 一 低概率詞元問題 論文&#xff1a;Do Not Let Low-Probability Tokens Over-Dominate in RL for LLMs 在RL訓練過程中&#xff0c;低概率詞元&#xff08…

XCTF-web-easyupload

試了試php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都沒有用 嘗試.user.ini 抓包修改將.user.ini修改為jpg圖片 在上傳一個123.jpg 用蟻劍連接&#xff0c;得到flag

gRPC、WebSocket 與 HTTP 的核心區別對比

gRPC、WebSocket 與 HTTP 的核心區別對比&#xff0c;涵蓋通信模式、協議特性及適用場景&#xff1a; &#x1f504; ?一、通信模式? ?HTTP? ?單向請求-響應?&#xff1a;客戶端發起請求&#xff0c;服務器返回響應后連接立即關閉13。?無狀態協議?&#xff1a;每次請求…

Android第十三次面試總結(四大 組件基礎)

Activity生命周期和四大啟動模式詳解 一、Activity 生命周期 Activity 的生命周期由一系列回調方法組成&#xff0c;用于管理其創建、可見性、焦點和銷毀過程。以下是核心方法及其調用時機&#xff1a; ?onCreate()?? ?調用時機?&#xff1a;Activity 首次創建時調用。?…

講講JVM的垃圾回收機制

垃圾回收就是對內存堆中已經死亡或者長時間沒有使用的對象進行清楚或回收。 JVM 在做 GC 之前&#xff0c;會先搞清楚什么是垃圾&#xff0c;什么不是垃圾&#xff0c;通常會通過可達性分析算法來判斷對象是否存活。 在確定了那些垃圾可以被回收后&#xff0c;垃圾回收器&…

QT軟件外包開發費用

國內QT軟件外包開發費用是一個非常復雜的問題&#xff0c;沒有一個固定的價格&#xff0c;它受到多種因素的影響。以下將詳細闡述影響QT軟件外包開發費用的主要因素&#xff0c;并提供大致的價格區間供參考&#xff08;請注意&#xff0c;這些價格僅為估算&#xff0c;實際報價…

iOS 16 SwiftUI 優雅跳轉實踐:用枚舉路由和 NavigationStack 實現多頁面導航

引言&#xff1a;跳轉的混亂與優雅的必要性 SwiftUI 給我們帶來了聲明式界面的全新開發體驗&#xff0c;但當涉及到頁面跳轉時&#xff0c;許多開發者仍然面臨一些“舊痛”。最初的 NavigationLink(destination:isActive:) 或 sheet(isPresented:) 等方式雖然能用&#xff0c;…

TikTok矩陣養號實戰:住宅IP純凈度與設備指紋聯動方案

在TikTok矩陣運營中&#xff0c;住宅IP純凈度和設備指紋管理是規避風控的核心。以下方案整合多平臺風控邏輯與實戰數據&#xff0c;覆蓋環境隔離、行為模擬到風險防控全流程。 &#x1f527; 一、住宅IP純凈度維持策略 IP篩選與驗證 靜態住宅IP優選&#xff1a;核心賬號綁定目標…

Elasticsearch增刪改查語句

創建索引庫&#xff1a;不帶映射的 PUT /索引名稱 {"settings": {"number_of_shards": 3, // 主分片數"number_of_replicas": 1 // 每個主分片的副本數} } 創建帶映射的索引庫&#xff1a; PUT /products {"settings": {"…