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

解決javaWEB中前后臺(tái)中文亂碼問(wèn)題的3種方法

 更新時(shí)間:2015年11月11日 15:06:32   作者:YX_blog  
這篇文章主要介紹了解決javaWEB中前后臺(tái)中文亂碼問(wèn)題的3種方法,中文問(wèn)題一直是很多人難以解決的問(wèn)題,對(duì)這方面感興趣的朋友可以參考一下

中文亂碼問(wèn)題真的是一個(gè)很棘手的問(wèn)題,特別是從前臺(tái)傳到后臺(tái)之后,都不知道問(wèn)題出在哪里了。現(xiàn)在分享解決javaWEB中前后臺(tái)中文亂碼問(wèn)題的3種方法。
方法一:
tomcat的自帶編碼是ISO-8859-1的格式,是不兼容中文的編碼的。所以我們從后臺(tái)接收的時(shí)候要注意。
采用相同的格式去接收(ISO-8859-1),然后用能解析的編碼(utf-8)去轉(zhuǎn)換。這樣我們就能得到能兼容中文的格式了。這樣處理之后發(fā)往前臺(tái)。注意:發(fā)往前臺(tái)的時(shí)候也需要設(shè)置一下
resp.setContentType("text/html;charset=utf-8");//設(shè)置頁(yè)面的字符編碼,解決界面顯示中文亂碼的問(wèn)題

protected void service(HttpServletRequest req, HttpServletResponse resp) 
   throws ServletException, IOException { 
  //因?yàn)閠omcat自帶編碼是ISO-8859-1格式 

//解決亂碼方法之一 
<span style="white-space:pre">  </span>String name=req.getParameter("username"); 
<span style="white-space:pre">  </span>String pwd=req.getParameter("pwd"); 
<span style="white-space:pre">  </span>byte[] b=name.getBytes("ISO-8859-1");//用tomcat的格式(iso-8859-1)方式去讀。 
<span style="white-space:pre">  </span>String str=new String(b,"utf-8");//采用utf-8去接string 
<span style="white-space:pre">  </span>resp.setContentType("text/html;charset=utf-8");//設(shè)置頁(yè)面的字符編碼<span style="white-space:pre"> </span> 
<span style="white-space:pre">  </span>PrintWriter pw =resp.getWriter(); 
<span style="white-space:pre">  </span>String str1="<html><body><font size='5px' color='red'>username:"+name+"pwd:"+pwd+"</font></body></html>"; 
<span style="white-space:pre">  </span>pw.print(str1); 
  PrintWriter pw =resp.getWriter(); 
  String str1="<html><body><font size='5px' color='red'>username:"+name+"pwd:"+pwd+"</font></body></html>"; 
  pw.print(str1); 

方法二:
由于方法一比較繁瑣,采用用了簡(jiǎn)單的設(shè)置。只需要簡(jiǎn)單的一句就可以搞定
req.setCharacterEncoding("utf-8");//必須寫(xiě)在第一位,因?yàn)椴捎眠@種方式去讀取數(shù)據(jù),否則數(shù)據(jù)會(huì)出錯(cuò)。 
這樣就不用像之前的那樣繁瑣的設(shè)置了

protected void service(HttpServletRequest req, HttpServletResponse resp) 
   throws ServletException, IOException { 
  //因?yàn)閠omcat自帶編碼是ISO-8859-1格式 
  
 //解決亂碼二《法一比較繁瑣》 
  req.setCharacterEncoding("utf-8");//必須寫(xiě)在第一位,因?yàn)椴捎眠@種方式去讀取數(shù)據(jù),否 
 
則數(shù)據(jù)會(huì)出錯(cuò)。 
//設(shè)置這樣方式去讀。這樣中文就能夠讀取出來(lái)了,但是需要注意。表單的發(fā)送方式必須是<span style="color:#ff0000;"> method='post'</span> 
  resp.setContentType("text/html;charset=utf-8");//設(shè)置傳過(guò)去的頁(yè)面顯示的編碼 
  String name=req.getParameter("username"); 
  String pwd=req.getParameter("pwd"); 
  PrintWriter pw =resp.getWriter(); 
  String str1="<html><body><font size='5px' color='red'>username:"+name+"pwd:"+pwd+"</font></body></html>"; 
  pw.print(str1); 

方法三:

這是在法二的基礎(chǔ)上修改的。雖然我們能修改編碼格式去讀,但是考慮到用戶肯定不會(huì)修改,所以我們需要采用比較通用的辦法,讓用戶修改配置文件。也就是web.xml文件
需要修改web.xml里面的內(nèi)容,就是說(shuō),字符編碼從xml接收過(guò)來(lái)。需要在xml文件中配置參數(shù)。
代碼如下:

<servlet> 
 <servlet-name>Encodeing</servlet-name> 
 <servlet-class>cn.hncu.com.encode.Encodeing</servlet-class> 
 <init-param> 
 <param-name>charset</param-name> 
 <param-value>utf-8</param-value>//這里面的內(nèi)容可供用戶自己填寫(xiě)(必須是編碼格式) 
 </init-param> 
 </servlet> 

我們知道前臺(tái)和后臺(tái)進(jìn)行交換必須經(jīng)過(guò)web.xml配置
我們需要獲取web.xml的設(shè)置的參數(shù)

public void init(ServletConfig config) throws ServletException { 
  charset=config.getInitParameter("charset");//獲得初始化參數(shù)。當(dāng)然charset需要設(shè)置為全局變量。后面的service函數(shù)需要設(shè)置req.setCharacterEncoding(charset); 
 } 
req.setCharacterEncoding(charset); 
  resp.setContentType("text/html;charset=utf-8"); 
  String name=req.getParameter("username"); 
  String pwd=req.getParameter("pwd"); 
   
  PrintWriter pw =resp.getWriter(); 
  String str1="<html><body><font size='5px' color='red'>username:"+name+"pwd:"+pwd+"</font></body></html>"; 
  pw.print(str1); 

解決的效果圖:

解決之前:

解決之后:

前臺(tái)代碼:

<body> 
 <form action="login" method="post">//login在web.xml中配置,就能實(shí)現(xiàn)到后臺(tái)去讀取數(shù)據(jù) 
 用戶名:<input type="text" name="username"/><br/> 
 密碼:<input type="password" name="pwd"/><br/> 
 <input type="submit" value="登錄"/> 
 </form> 
 </body> 

以上就是為大家分享的解決javaWEB中前后臺(tái)中文亂碼問(wèn)題的3種方法,特別是從前臺(tái)傳到后臺(tái)之后產(chǎn)生的中文亂碼問(wèn)題,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解

    Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解

    這篇文章主要為大家介紹了Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Mybatis自關(guān)聯(lián)查詢一對(duì)多查詢的實(shí)現(xiàn)示例

    Mybatis自關(guān)聯(lián)查詢一對(duì)多查詢的實(shí)現(xiàn)示例

    這篇文章主要介紹了Mybatis自關(guān)聯(lián)查詢一對(duì)多查詢的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 一文帶你了解Java創(chuàng)建型設(shè)計(jì)模式之原型模式

    一文帶你了解Java創(chuàng)建型設(shè)計(jì)模式之原型模式

    原型模式其實(shí)就是從一個(gè)對(duì)象在創(chuàng)建另外一個(gè)可定制的對(duì)象,不需要知道任何創(chuàng)建的細(xì)節(jié)。本文就來(lái)通過(guò)示例為大家詳細(xì)聊聊原型模式,需要的可以參考一下
    2022-09-09
  • IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟(圖文)

    IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟(圖文)

    本文主要介紹了IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • SpringCloud使用feign調(diào)用錯(cuò)誤的問(wèn)題

    SpringCloud使用feign調(diào)用錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了SpringCloud使用feign調(diào)用錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 深入淺出講解Java比較器及數(shù)學(xué)常用類(lèi)

    深入淺出講解Java比較器及數(shù)學(xué)常用類(lèi)

    這篇文章主要介紹了深入淺出講解Java比較器及數(shù)學(xué)常用類(lèi),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Component和Configuration注解區(qū)別實(shí)例詳解

    Component和Configuration注解區(qū)別實(shí)例詳解

    這篇文章主要為大家介紹了Component和Configuration注解區(qū)別實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • JAVA返回PDF文件流并進(jìn)行下載的實(shí)現(xiàn)方法

    JAVA返回PDF文件流并進(jìn)行下載的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于JAVA返回PDF文件流并進(jìn)行下載的實(shí)現(xiàn)方法,PDF文件流下載是通過(guò)HTTP協(xié)議將服務(wù)器上的PDF文件以流的方式發(fā)送給客戶端,供客戶端保存到本地磁盤(pán)或直接在瀏覽器中打開(kāi),需要的朋友可以參考下
    2024-02-02
  • 關(guān)于Java 中的 Lambda 表達(dá)式

    關(guān)于Java 中的 Lambda 表達(dá)式

    這篇文章主要介紹了關(guān)于Java 中的 Lambda 表達(dá)式,Lambda 表達(dá)式是 Java 涉足函數(shù)式編程的過(guò)程。它接受參數(shù)并將其應(yīng)用于表達(dá)式或代碼塊,下面一起進(jìn)入文章查看詳細(xì)內(nèi)容
    2021-11-11
  • Idea2023配置tomcat服務(wù)器的圖文教程

    Idea2023配置tomcat服務(wù)器的圖文教程

    這篇文章主要介紹了Idea2023配置tomcat服務(wù)器的圖文教程,本文是javaweb新手版教程,IDEA2023+JDK1.8+apache-tomcat-8.5.91,沒(méi)有使用Maven,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

惠水县| 宁武县| 仁寿县| 山西省| 图片| 内丘县| 手游| 晴隆县| 洛川县| 修武县| 清苑县| 阳新县| 合作市| 泗阳县| 石棉县| 大石桥市| 武夷山市| 余姚市| 政和县| 高唐县| 和平县| 河南省| 平阳县| 清徐县| 威信县| 武山县| 新巴尔虎右旗| 余干县| 铜山县| 河北区| 宜宾市| 蒙山县| 呼伦贝尔市| 綦江县| 盐津县| 孙吴县| 丰台区| 三河市| 永和县| 海丰县| 凤山市|