欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決JavaEE開(kāi)發(fā)中字符編碼出現(xiàn)亂碼的問(wèn)題

 更新時(shí)間:2017年07月13日 08:28:27   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇解決JavaEE開(kāi)發(fā)中字符編碼出現(xiàn)亂碼的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

網(wǎng)上有很多處理字符編碼的解決方案,在此,我站著前人的肩膀上作自己的總結(jié)。

在我看來(lái),出現(xiàn)亂碼問(wèn)題的解決方法無(wú)非就是在3個(gè)地方進(jìn)行編碼設(shè)置:

1.HTML、JSP等前端頁(yè)面;

2.后臺(tái)servlet中request和response對(duì)象;

3.服務(wù)器配置文件。

1.HTML、JSP等前端頁(yè)面,出現(xiàn)編碼首先看前端某個(gè)頁(yè)面的Meta標(biāo)簽是否正確設(shè)置了編碼,這個(gè)Meta標(biāo)簽也就是頁(yè)面的頭部

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

2.后臺(tái)的request和response的設(shè)置

2-1.當(dāng)后臺(tái)接收到URL請(qǐng)求之后,如果沒(méi)有對(duì)請(qǐng)求設(shè)置編碼,那么,接收到的請(qǐng)求內(nèi)容就會(huì)出現(xiàn)亂碼,這時(shí),要分兩種情況考慮:

2-1-1.如果是Get請(qǐng)求,先獲取到URL請(qǐng)求中的參數(shù),例如:

String method = request.getParameter("method");

然后調(diào)用String對(duì)象完成參數(shù)編碼的轉(zhuǎn)化,

String parseMethod = new String(method.getBytes("ISO-8859-1"),"UTF-8"); 

這里的String的構(gòu)造方法有兩個(gè)參數(shù):將參數(shù)從字符串的形式轉(zhuǎn)化為字符數(shù)組作為第一個(gè)參數(shù),第二個(gè)參數(shù)是轉(zhuǎn)化后的字符串的編碼方式。

2-1-2.如果是Post請(qǐng)求,直接在獲取請(qǐng)求參數(shù)之前加上一句設(shè)置編碼的代碼,也就是調(diào)用request對(duì)象的設(shè)置編碼的setCharacterEncoding方法:

request.setCharacterEncoding("UTF-8");

2.2.當(dāng)后臺(tái)完成業(yè)務(wù)邏輯及持久化的操作后,這時(shí)可能需要向前臺(tái)輸出響應(yīng)流數(shù)據(jù),若輸出的內(nèi)容包含中文,就需要設(shè)置response對(duì)象的編碼,可以直接調(diào)用response對(duì)象的setContentType方法:

response.setContentType("text/html;charset=utf-8");

3.服務(wù)器配置文件的設(shè)置

當(dāng)前兩步設(shè)置好了之后依舊不奏效的情況下,還應(yīng)在服務(wù)器的安裝目錄下的conf文件夾下,比如我的是E:\tomcat7.0\conf,找到服務(wù)器的配置文件server.xml進(jìn)行設(shè)置: 

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

以上這篇解決JavaEE開(kāi)發(fā)中字符編碼出現(xiàn)亂碼的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 面試必時(shí)必問(wèn)的JVM 類加載機(jī)制詳解

    面試必時(shí)必問(wèn)的JVM 類加載機(jī)制詳解

    這篇文章主要介紹了一文讀懂Jvm類加載機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 記一次springboot中用undertow的坑

    記一次springboot中用undertow的坑

    這篇文章主要介紹了記一次springboot中用undertow的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java版十大排序經(jīng)典算法:完整代碼(3)

    java版十大排序經(jīng)典算法:完整代碼(3)

    優(yōu)秀的文章也不少,但是Java完整版的好像不多,我把所有的寫一遍鞏固下,同時(shí)也真誠(chéng)的希望閱讀到這篇文章的小伙伴們可以自己去從頭敲一遍,不要粘貼復(fù)制!希望我的文章對(duì)你有所幫助,每天進(jìn)步一點(diǎn)點(diǎn)
    2021-07-07
  • SpringBoot中使用Swagger的最全方法詳解

    SpringBoot中使用Swagger的最全方法詳解

    Swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化Restful風(fēng)格的Web服務(wù),這篇文章主要給大家介紹了關(guān)于SpringBoot中使用Swagger的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • 五分鐘帶你快速學(xué)習(xí)Spring?IOC

    五分鐘帶你快速學(xué)習(xí)Spring?IOC

    這篇文章主要給大家介紹了關(guān)于如何通過(guò)五分鐘快速學(xué)習(xí)Spring?IOC的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Java面向接口編程之命令模式實(shí)例詳解

    Java面向接口編程之命令模式實(shí)例詳解

    這篇文章主要介紹了Java面向接口編程之命令模式,結(jié)合實(shí)例形式詳細(xì)分析了Java面向接口編程命令模式的定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • MybatisPlus lambdaQueryWrapper中常用方法的使用

    MybatisPlus lambdaQueryWrapper中常用方法的使用

    本文主要介紹了MybatisPlus lambdaQueryWrapper中常用方法的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • IDEA?2019.2.3破解激活教程(親測(cè)有效)

    IDEA?2019.2.3破解激活教程(親測(cè)有效)

    這篇文章主要介紹了IDEA?2019.2.3破解激活教程(親測(cè)有效),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解Java注解實(shí)現(xiàn)自己的ORM

    詳解Java注解實(shí)現(xiàn)自己的ORM

    這篇文章主要介紹了Java注解實(shí)現(xiàn)自己的ORM知識(shí),本文通過(guò)示例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2022-10-10
  • Java中關(guān)鍵字synchronized的使用方法詳解

    Java中關(guān)鍵字synchronized的使用方法詳解

    synchronized關(guān)鍵字可以作為函數(shù)的修飾符,也可作為函數(shù)內(nèi)的語(yǔ)句,也就是平時(shí)說(shuō)的同步方法和同步語(yǔ)句塊,下面這篇文章主要給大家介紹了關(guān)于Java中synchronized使用的相關(guān)資料,需要的朋友可以參考下
    2021-08-08

最新評(píng)論