Tomcat在處理GET和POST請求時產生的亂碼解決的方法有兩個:
1. 將GET請求改成POST請求,然后就可以使用request.setCharacterEncoding方法設置編碼,并使用request.getParameter方法直接獲得中文請求參數了。
2. 不用改GET請求,在Servlet中使用如下的代碼來得到中文請求參數。
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GBK");
綜上所述,如果使用了GET請求,則setCharacterEncoding方法不起作用,只能使用上面的代碼來解決,而使用POST請求,盡管 setCharacterEncoding方法起作用,但使用上面的代碼仍然好使(在這時不能使用setCharacterEncoding方法將編碼格 式設置成非iso-8859-1格式)。因此,如果想讓Servlet可以同時處理GET和POST請求中的中文信息,除了判斷這兩種方法外,還可以使用 上面的代碼來同時處理這兩種請求的中文信息。
考試大建議使用如下的代碼來獲得中文請求參數:
BB霜的好處有哪些?
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "GBK");
因為上面的代碼是利用了Java的編碼能力,對于所有的Web服務器都會有效,而setCharacterEncoding方法是通過Web服務器支持的,并不是所有的Web服務器都會對該方法有很好的支持。?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
