怎麼設置tomcat在get請求的中文也不亂碼?兩種情況下配置

2020-12-14 凱哥Java

我們都知道,get請求和post請求的一個比較顯著區別就是,在使用post請求的時候,中文不會亂碼,但是在使用get請求的時候,如果url後面帶有中文就會亂碼了。那麼這個怎麼解決呢?

前提:配置項目的encoding編碼位utf-8的前提下。如,使用spring項目的時候,可以在spring的配置文件中添加如下的:

<filter>

<filter-name>encoding</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encoding</filter-name>

<url-pattern>*.do</url-pattern>

</filter-mapping>

兩個方案:

一:使用tomcat,將項目直接部署到tomcat中的

這種情況下,如果想要修改get請求中文參數不亂碼的話,需要修改:

在tomcat的配置文件中添加如下配置:

<!-- 添加屬性URIEncoding="utf-8"可以解決get亂碼問題,然後重啟伺服器-->

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" URIEncoding="utf-8" />

二:如果使用的是maven 插件運行tomcat的話,就需要在pom.xml的maven插件中配置編碼方式:

<plugins>

<!-- maven項目的熱部署使用的插件 使用tomcat7的插件的話,運行時設置部署命令是需要使用tomcat7:deploy -->

<plugin>

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<version>2.2</version>

<configuration>

<uriEncoding>UTF-8</uriEncoding> <!--配置編碼方式為UTF-8-->

<url>http://localhost:8080/manager/text</url>

<path>/</path>

<server>tomcat</server>

<username>tomcat</username>

<password>123456</password>

</configuration>

</plugin>

相關焦點

  • JavaWeb 亂碼問題終極解決方案!
    在Eclipse 中,設置項目編碼方式如下(工程的編碼要提前設置,如果項目已經開發一半再去設置,已有的中文就會亂碼):Window->Preferences->General然後對於 JSP 文件也需要提前設置好編碼方式,如下:
  • JavaEE基礎必會關於Tomcat和Servlet的面試題
    bin:啟動和關閉tomcat的bat文件conf:配置文件server.xml該文件用於配置server相關的信息,比如tomcat啟動的埠號,配置主機(Host)web.xml文件配置與web應用(web應用相當於一個web站點)tomcat-user.xml配置用戶名密碼和相關權限
  • IDEA 社區版不支持 Tomcat?一招完美解決!
    解決在Run/Debug Configurations中執行Gradle腳本中文亂碼問題在Run/Debug Configurations中執行Gradle腳本或編譯過程時,輸出的中文可能亂碼。或如下圖所示:進行以下設置,可以解決上述中文亂碼問題。
  • 《廢品機械師》中文亂碼怎麼辦?中文亂碼修複方法介紹
    廢品機械師中文亂碼怎麼辦?
  • securecrt怎麼顯示中文?securecrt中文亂碼解決方法
    打開APP securecrt怎麼顯示中文?securecrt中文亂碼解決方法 發表於 2017-11-10 16:57:37   SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,簡單地說是Windows下登錄UNIX
  • 「Tomcat」Tomcat伺服器核心配置說明及標籤
    核心配置在Tomcat目錄下 conf/目錄下的server.xml文件中問題二:怎麼配置?默認是被注釋掉的,且屬性不全。那麼該如何使用呢?默認情況下,Service 並未添加共享線程池配置。除特殊情況,這個值不需要更改,否則會有請求不會被處理的情況發prestartminSpareThreads:啟動線程池時是否啟動 minSpareThreads部分線程。
  • 快速解決 matplotlib 中文亂碼問題
    最近做了一個雲盤性能對比,用 matplotlib 繪製了一張圖,但是碰到了中文亂碼問題。簡單搜索之後,發現有人總結出了比較好的方案,親測可行。推薦給大家。作者:nphard 原文連結:http://nphard.me/2016/03/27/matplotlib-cn一個中文亂碼問題,讓我搞的好苦,總結一下。
  • 解決idea控制臺中文亂碼問題
    可是有時候會遇到中文亂碼問題。本文將介紹大家,怎麼解決idea的控制臺中文亂碼情況。請看亂碼信息:程序報錯了。可是控制臺又亂碼了,怎麼解決呢?一:設置所有文件都是UTF-8編碼。具體:左上角:File-->settings-->Editor-->File Encodings 將所有編碼都設置為UTF-8模式二:修改idea配置文件IDEA安裝目錄,將2個idea64.exe.vmoptions、idea.exe.vmoptions
  • Tomcat 調優的技巧 | 必學必知
    2、調優 Tomcat 線程池打開tomcat的serve.xml,配置Executor,相關參數說明如下。name:給執行器(線程池)起一個名字;namePrefix:指定線程池中的每一個線程的 name 前綴;maxThreads:線程池中最大的線程數量,假設請求的數量超過了 750,這將不是意味著將 maxThreads 屬性值設置為 750,
  • 詳解 Tomcat 的連接數與線程池
    二、3個參數:acceptCount、maxConnections、maxThreads前言在使用tomcat時,經常會遇到連接數、線程數之類的配置問題,要真正理解這些概念,必須先了解Tomcat的連接器(Connector)。
  • 等保2.0涉及的Apache Tomcat中間件(上)
    然後查看manager-gui管理頁面配置文件,是否設置了用戶登錄配置文件:tomcat主目錄下/conf/tomcat-users.xmldebug和reloadable:一般設置成0和true就行了,在項目編寫和測試階段reloadable設置為 true表示只要tomcat中的項目有改動tomcat就會自動重新加載編譯,可以帶給我們一些方便,但是在項目發布階段一般設為false,可以提高tomcat的性能。這樣我們的默認界面就弄好了,直接訪問將是你設置好的網頁。
  • 通向架構師的道路(第四天)之 Tomcat 性能調優
    的啟動命令裡加了這麼多參數,當然,這些參數只是我機器上的,不一定適合你,尤其是參數後的value(值)是需要根據你自己的實際情況來設置的。因此在設這個-Xms與-Xmx值時一定一定記得先這樣測試一下,要不然直接加在tomcat啟動命令行中你的tomcat就再也起不來了,要飛是飛不了,直接成了一隻瘟貓了。設置年輕代大小為512m。整個堆大小=年輕代大小 + 年老代大小 + 持久代大小。持久代一般固定大小為64m,所以增大年輕代後,將會減小年老代大小。
  • Tomcat伺服器安裝、配置及驗證
    Tomcat伺服器安裝前,需要本地電腦上安裝有Java JDK,關於JDK的安裝請參考:Java JDK下載、安裝和驗證下面詳細介紹Tomcat 7.0的安裝配置及驗證步驟:1、到tomcat.apache.org官網上,下載Tomcat對應的版本,這裡選擇
  • Tomcat是如何加載Spring和SpringMVC及Servlet相關知識
    是一種Java寫的Web應用伺服器,也被稱為Web容器,專門運行Web程序tomcat啟動tomcat啟動了之後會在作業系統中生成一個Jvm(Java虛擬機)的進程,從配置監聽埠(默認8080)監聽發來的HTTP/1.1協議的消息默認配置文件這樣
  • Apache Tomcat 7.x安全加固指南
    圖二:FreeBSDrc腳本具體配置與Unix系統和Tomcat版本有關。例如FreeBSD上的Tomcat 7已經不支持配置rc.conf中的用戶帳戶,因此用戶名被硬編碼在啟動腳本中—這是不推薦的。 當不需要通過應用程式伺服器自動部署時,標準配置就是將所有Tomcat文件的所有者設置為root,並且所屬群組設置為Tomcat。然後用chmod 740僅允許root用戶編輯文件並允許Tomcat用戶讀取文件。例外是,臨時和工作目錄的所有者應該是Tomcat用戶而不是root用戶。 該設置會影響自動部署。
  • Matplotlib中文亂碼問題解決方案
    關鍵詞:Python 中文亂碼 matplotlib 解決方案文末分享字體文件,歡迎自取~Matplotlib是Python的一個2D繪圖庫,許多小夥伴第一次使用圖表繪製時,會發現中文亂碼或者小方框的情況。
  • java開發之Tomcat線程池優化
    前言:上期我們說到了jvm的內存優化,這期我們來說說tomcat的線程池優化,此思路同樣可用於c3p0等連接池tomcat線程池優化我們tomcat線程池的優化,其實就是最大限度的發揮tomcat的性能。即讓伺服器在保障性能的情況下並發最大並發:所有線程,在同一秒一起訪問同一個資源。
  • php中文亂碼問題的終極解決方案匯總
    在開始之前,我們先來談談為什麼會出現中文亂碼?一般來說,亂碼的出現有2種原因,一種是由於編碼(charset) 設置錯誤,導致瀏覽器以錯誤的編碼來解析,從而出現了滿屏亂七八糟的「天書」,第二種就是文件被以錯誤的編碼打開,然後保存,比如一個文本文件原先是GB2312編碼的,卻以UTF-8編碼打開再保存,就會出現亂碼的問題。本篇文章,就帶大家了解一下,怎麼解決php中亂碼的問題。
  • 對Tomcat的簡單概要小結
    很多環境變量的設置都在此處,例如可以設置JDK路徑、TOMCAT路徑,startup 用來啟動tomcat,shutdown 用來關閉tomcat,修改catalina可以設置tomcat的內存。2、conf目錄主要是用來存放tomcat的一些配置文件。3、lib目錄主要用來存放tomcat運行需要加載的jar包。
  • Content-Disposition 亂碼問題記錄
    剛開始以為是 Docker 內字符編碼的問題,因為隨便百度一下,都能看到很多反映容器環境下的應用輸出中文日誌亂碼的問題。但是,通過在容器內創建中文名稱的文件,以及 curl 命令請求文件header的方式,都驗證出官方提供的 Python3.6 鏡像實際上是支持中文的。