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

Javaweb接收表單數(shù)據(jù)并處理中文亂碼

 更新時間:2020年07月22日 16:06:43   作者:笑到不能自已  
這篇文章主要介紹了Javaweb接收表單數(shù)據(jù)并處理中文亂碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

前端表單數(shù)據(jù)

常見的表單項的傳值,如:

  • 普通input
  • 單選radio
  • 多選checkbox
  • select下拉選擇
  • textarea文本域

普通 input : name屬性值為后臺接收時的參數(shù)值。

用戶名:<input type="text" name="username"><br>
密碼:<input type="password" name="password"><br>

單選 radio :單選按鈕的 name 值相同才能實現(xiàn)只能點擊一個。

性別:

<input type="radio" name="gender" value="男">男
<input type="radio" name="gender" value="女">女

多選checkbox :name值相同。

愛好:

<input type="checkbox" name="hobby" value="唱">唱
<input type="checkbox" name="hobby" value="跳舞">跳舞
<input type="checkbox" name="hobby" value="rap">rap
<input type="checkbox" name="hobby" value="籃球">籃球

select下拉選擇 :后臺通過degree作為參數(shù),獲取選中的那個option的value值。

下拉選擇:

<select name="degree">
<option value="">---請選擇---</option>
<option value="大一">大一</option>
<option value="大二">大二</option>
<option value="大三">大三</option>
<option value="大四">大四</option>
</select>

textarea文本域 :rows定義顯示的行數(shù),cols定義的是顯示的列數(shù)。

文本域:<br><textarea name="other" rows="10" cols="30"></textarea><br>

后臺接收數(shù)據(jù)

接收表單數(shù)據(jù):

String 表單name= request.getParameter(表單name);

普通input、單選radio、select下拉選擇、textarea文本域可通過此方法獲取。

String[] hobbies = request.getParameterValues("hobby");

多選checkbox可通過此方法獲取。

中文亂碼處理

GET方式提交的數(shù)據(jù)

先通過 String username = request.getParameter(username) 獲得該表單的值,此時是亂碼的。

使用String new_username = new String(username.getBytes("iso8859-1"), "utf-8") 進行編碼轉(zhuǎn)換

相關(guān)APi :

String(byte[] bytes, Charset charset) 構(gòu)造一個新的String,由指定的字節(jié)的數(shù)組轉(zhuǎn)化為指定編碼的字節(jié)數(shù)組。

getBytes(Charset charset)使用指定的編碼方式將該String編碼為字節(jié)序列,將結(jié)果存儲到新的字節(jié)數(shù)組中。

解釋:通過get方式提交的數(shù)據(jù)的編碼方式為iso8859-1, 先獲取該編碼方式的字節(jié)數(shù)組,再將該字節(jié)數(shù)組轉(zhuǎn)化為utf-8編碼的字節(jié)數(shù)組,然后將該字節(jié)數(shù)組轉(zhuǎn)換為字符串。

POST方式提交的數(shù)據(jù)

request.setCharacterEncoding("utf-8");

服務(wù)器端向客戶端發(fā)送的數(shù)據(jù)

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

以下是全部代碼:

GET提交方式:

@WebServlet(name = "RegisterServlet",urlPatterns = "/register")
public class RegisterServlet extends HttpServlet {
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //get提交方式處理中文亂碼
    String username = request.getParameter("username");
    String new_username = new String(username.getBytes("iso8859-1"), "utf-8");
    
    String password = request.getParameter("password");
    String new_password = new String(password.getBytes("iso8859-1"), "utf-8");
    
    String gender = request.getParameter("gender");
    String new_gender = new String(gender.getBytes("iso8859-1"), "utf-8");
    
    String[] hobbies = request.getParameterValues("hobby");
    for (int i = 0; i < hobbies.length; i++) {
      hobbies[i]=new String(hobbies[i].getBytes("iso8859-1"), "utf-8");
    }
    
    String degree = request.getParameter("degree");
    String new_password = new String(password.getBytes("iso8859-1"), "utf-8");
    
    String other = request.getParameter("other");
    String new_password = new String(password.getBytes("iso8859-1"), "utf-8");
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
  }
}

POST提交方式:

@WebServlet(name = "RegisterServlet",urlPatterns = "/register")
public class RegisterServlet extends HttpServlet {
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //post提交方式的中文亂碼解決方法
    request.setCharacterEncoding("utf-8");
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    String gender = request.getParameter("gender");
    String[] hobbies = request.getParameterValues("hobby");
    String degree = request.getParameter("degree");
    String other = request.getParameter("other");
    
    //如果服務(wù)器端需要向客戶端發(fā)送的數(shù)據(jù)
    response.setContentType("text/html;charset=utf-8");
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Freemaker Replace函數(shù)的正則表達式運用

    Freemaker Replace函數(shù)的正則表達式運用

    這篇文章主要介紹了Freemaker Replace函數(shù)的正則表達式運用 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • ssm項目session使用及其作用域問題

    ssm項目session使用及其作用域問題

    這篇文章主要介紹了ssm項目session使用及其作用域問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 如何使用lamda表達式對list進行求和

    如何使用lamda表達式對list進行求和

    這篇文章主要介紹了如何使用lamda表達式對list進行求和問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 使用Java Api操作HDFS過程詳解

    使用Java Api操作HDFS過程詳解

    這篇文章主要介紹了使用Java Api操作HDFS過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java中的Scanner、BufferedReader?和?StreamTokenizer使用詳解

    Java中的Scanner、BufferedReader?和?StreamTokenizer使用詳解

    Scanner是Java?中一個用于解析原始類型(如?int、double?等)和字符串的類,它通常從輸入流中逐個讀取數(shù)據(jù)并進行解析,支持多種分隔符的使用,本文介紹Java中的Scanner、BufferedReader?和?StreamTokenizer的相關(guān)知識,感興趣的朋友一起看看吧
    2025-02-02
  • Feign遠程調(diào)用參數(shù)里面內(nèi)容丟失的解決方案

    Feign遠程調(diào)用參數(shù)里面內(nèi)容丟失的解決方案

    這篇文章主要介紹了Feign遠程調(diào)用參數(shù)里面內(nèi)容丟失的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 老生常談Java中List與ArrayList的區(qū)別

    老生常談Java中List與ArrayList的區(qū)別

    大家都知道List是接口,ArrayList是List接口的一個實現(xiàn)類,接下來通過本文給大家介紹Java中List與ArrayList的區(qū)別,需要的朋友可以參考下
    2022-08-08
  • 關(guān)于RedisTemplate之opsForValue的使用說明

    關(guān)于RedisTemplate之opsForValue的使用說明

    這篇文章主要介紹了關(guān)于RedisTemplate之opsForValue的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java面試題沖刺第八天--Spring框架2

    Java面試題沖刺第八天--Spring框架2

    這篇文章主要為大家分享了最有價值的三道Spring框架面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java中使用Filter控制用戶登錄權(quán)限具體實例

    java中使用Filter控制用戶登錄權(quán)限具體實例

    java中使用Filter控制用戶登錄權(quán)限具體實例,需要的朋友可以參考一下
    2013-06-06

最新評論

寻甸| 许昌县| 罗江县| 江源县| 平邑县| 常德市| 都安| 东至县| 衢州市| 河曲县| 滁州市| 水城县| 新建县| 呼和浩特市| 贡觉县| 孙吴县| 永昌县| 四会市| 山阴县| 威海市| 凤山市| 简阳市| 泗水县| 桐梓县| 弥渡县| 高淳县| 禹城市| 大邑县| 南涧| 平度市| 沙洋县| 龙州县| 昌宁县| 滦平县| 图片| 东乡| 昔阳县| 扬州市| 克拉玛依市| 博乐市| 彰化县|