最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Tomcat中GET和POST請(qǐng)求時(shí)亂碼問(wèn)題及解決

 更新時(shí)間:2024年06月06日 08:43:46   作者:編程工人  
這篇文章主要介紹了Tomcat中GET和POST請(qǐng)求時(shí)亂碼問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Tomcat中GET和POST請(qǐng)求時(shí)亂碼

自從Tomcat5.x開始,GET和POST方法提交的信息,Tomcat采用了不同的方式來(lái)處理編碼。

對(duì)于POST請(qǐng)求,Tomcat會(huì)仍然使用request.setCharacterEncoding方法所設(shè)置的編碼來(lái)處理,如果未設(shè)置,則使用默認(rèn)的iso-8859-1編碼。

而GET請(qǐng)求則不同,Tomcat對(duì)GET請(qǐng)求并不會(huì)考慮使用request.setCharacterEncoding方法設(shè)置的編碼,而會(huì)永遠(yuǎn)使用iso-8859-1編碼,因此,tomcat將會(huì)使用iso-8859-1將提交的字節(jié)轉(zhuǎn)換成字符串。

一般的處理亂碼的方式都是用

request.setCharacterEncoding("utf-8");

但是這種方法只對(duì)POST方法提交的表單才有效果。

提供一下四種解決方法

1. 將GET請(qǐng)求改成POST請(qǐng)求,然后就可以使用request.setCharacterEncoding("utf-8");方法設(shè)置編碼,并使用request.getParameter方法直接獲得中文請(qǐng)求參數(shù)了,這種方法簡(jiǎn)單明了。

2.不用改GET請(qǐng)求,在Servlet中使用如下的代碼來(lái)得到中文請(qǐng)求參數(shù)。

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "utf-8");

3.對(duì)于GET方法,還可以通過(guò)修改Tomcat的配置來(lái)搞定,方法如下:

在conf/server.xml里的<Connector />標(biāo)簽內(nèi)加URIEncoding="GBK",或者是UTF-8。

如:

<Connector port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>

4.在使用get傳輸參數(shù)時(shí),將參數(shù)中的中文轉(zhuǎn)換成url格式,也就是使用urlEncode和urlDecode來(lái)傳輸,使用這種方式就是把中文轉(zhuǎn)換成以%開頭的編碼在url中傳輸。

使用這種方法時(shí),要注意兩點(diǎn):

  • 1.前臺(tái)使用urlencode,在后臺(tái)相應(yīng)的使用urldecode。
  • 2.使用urlencode的內(nèi)容是參數(shù)內(nèi)空。千萬(wàn)要注意,他是會(huì)把等于號(hào)等符號(hào)也給轉(zhuǎn)換了。所以,最好是先把參數(shù)傳換后再進(jìn)行拼接。而不是把url拼接好再去轉(zhuǎn)換。

對(duì)于POST方法提交的表單,上面的方法二仍然有效,個(gè)人建議使用方法二,因?yàn)榉椒ǘ拇a是利用了Java的編碼能力,對(duì)于所有的Web服務(wù)器都會(huì)有效,而setCharacterEncoding方法是通過(guò)Web服務(wù)器支持的,并不是所有的Web服務(wù)器都會(huì)對(duì)該方法有很好的支持。

Tomcat無(wú)法響應(yīng)get post請(qǐng)求

這是一個(gè)新手很容易犯的錯(cuò)誤,因?yàn)槲沂窃贐站跟著尚硅谷學(xué)的servlet,它的代碼PrintWriter對(duì)象用完之后居然沒(méi)有關(guān)閉?。?!

導(dǎo)致我在idea運(yùn)行的時(shí)候是可以正常運(yùn)行的,然后自己導(dǎo)出war包部署項(xiàng)目就出現(xiàn)tomcat無(wú)法響應(yīng)請(qǐng)求。

doGet和doPost正確方法:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");
        // Hello
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>" + message + "</h1>");
        out.println("</body></html>");
        out.flush();
        out.close();
}

一定要記得加入out.close()啊。

-----------------------------分割線--------------------

我發(fā)現(xiàn)還有一個(gè)錯(cuò)誤,就是windows下的tomcat控制臺(tái)需要按回車鍵程序才能繼續(xù)執(zhí)行,解決方法:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何設(shè)置Tomcat的默認(rèn)端口(圖文)

    如何設(shè)置Tomcat的默認(rèn)端口(圖文)

    Tomcat安裝時(shí)默認(rèn)的端口設(shè)置的是8080,而http協(xié)議的默認(rèn)端口是80,所以測(cè)試Tomcat時(shí)需要輸入的網(wǎng)址為“http://localhost:8080”,若把Tomcat的端口設(shè)置為80,則直接輸入“http://localhost”就能顯示Tomcat默認(rèn)主頁(yè),下面我們來(lái)分享下,方便需要的朋友
    2014-06-06
  • Windows操作系統(tǒng)部署Tomcat的詳細(xì)過(guò)程

    Windows操作系統(tǒng)部署Tomcat的詳細(xì)過(guò)程

    Tomcat是一個(gè)開源的JavaServlet容器,用于處理JavaWeb應(yīng)用程序的請(qǐng)求和響應(yīng),這篇文章主要介紹了Windows操作系統(tǒng)部署Tomcat的詳細(xì)過(guò)程,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • 記一次tomcat進(jìn)程cpu占用過(guò)高的問(wèn)題排查記錄

    記一次tomcat進(jìn)程cpu占用過(guò)高的問(wèn)題排查記錄

    這篇文章主要介紹了記一次tomcat進(jìn)程cpu占用過(guò)高的問(wèn)題排查記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Linux部署Tomcat發(fā)布項(xiàng)目過(guò)程中各種問(wèn)題及解決方法

    Linux部署Tomcat發(fā)布項(xiàng)目過(guò)程中各種問(wèn)題及解決方法

    這篇文章主要介紹了解決Linux部署Tomcat發(fā)布項(xiàng)目過(guò)程中各種問(wèn)題,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 解決tomcat在Debug模式下無(wú)法啟動(dòng)問(wèn)題

    解決tomcat在Debug模式下無(wú)法啟動(dòng)問(wèn)題

    這篇文章主要介紹了解決tomcat在Debug模式下無(wú)法啟動(dòng)問(wèn)題,運(yùn)行環(huán)境在eclipse,JDK1.6,tomcat6.0上,具體問(wèn)題解決方法大家參考下本文
    2018-02-02
  • 如何將tomcat源碼以maven方式運(yùn)行

    如何將tomcat源碼以maven方式運(yùn)行

    這篇文章主要介紹了如何將tomcat源碼以maven方式運(yùn)行,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • IDEA中的Tomcat中文亂碼問(wèn)題

    IDEA中的Tomcat中文亂碼問(wèn)題

    本文主要介紹了IDEA中的Tomcat中文亂碼問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • TomCat啟動(dòng)找不到配置的環(huán)境變量解決

    TomCat啟動(dòng)找不到配置的環(huán)境變量解決

    本文主要介紹了TomCat啟動(dòng)找不到配置的環(huán)境變量解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 詳解tomcat設(shè)置默認(rèn)路徑致使項(xiàng)目url沖突解決方法

    詳解tomcat設(shè)置默認(rèn)路徑致使項(xiàng)目url沖突解決方法

    這篇文章主要介紹了詳解tomcat設(shè)置默認(rèn)路徑致使項(xiàng)目url沖突解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • tomcat logs 目錄下各日志文件的解析(小結(jié))

    tomcat logs 目錄下各日志文件的解析(小結(jié))

    這篇文章主要介紹了tomcat logs 目錄下各日志文件的含義,包括catalina.日期.log,commons-daemon.日期.log,host-manager.日期.log,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12

最新評(píng)論

济阳县| 泌阳县| 桂阳县| 华亭县| 凉城县| 丹江口市| 彭州市| 东方市| 炎陵县| 昌江| 凤翔县| 林芝县| 海宁市| 高碑店市| 苍梧县| 无为县| 陇南市| 营山县| 新绛县| 瑞昌市| 三江| 太谷县| 玉溪市| 神池县| 伊金霍洛旗| 霍林郭勒市| 中西区| 图木舒克市| 伊金霍洛旗| 安吉县| 封开县| 崇礼县| 清河县| 全南县| 桐庐县| 云浮市| 宁远县| 黄浦区| 中西区| 石狮市| 涿州市|