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

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