程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 【The Most Important】淺談JSP表單Post方式中文亂碼問題

【The Most Important】淺談JSP表單Post方式中文亂碼問題

編輯:關於JAVA

【The Most Important】淺談JSP表單Post方式中文亂碼問題。本站提示廣大學習愛好者:(【The Most Important】淺談JSP表單Post方式中文亂碼問題)文章只能為提供參考,不一定能成為您想要的結果。以下是【The Most Important】淺談JSP表單Post方式中文亂碼問題正文


  首先祝大家雞年不祥!在這裡我要說下這兩天裡這個問題困擾著我,大過年的心境都被干擾的不好了,所以我帶著興奮的心境來趕快完成這篇博客,處理大家的問題。我的問題是post方式傳遞表雙數據,Tomcat服務器前往後中文總是亂碼。

  我看了很多網上的博客,我理解了contentType、pageEncoding的區別 附上鏈接:http://www.cnblogs.com/laj12347/p/3318998.html

  理解了Http中get,post的區別 附上鏈接:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html

  還看了許多處理方法,沒有一個能處理我問題的,於是我開端自己漸漸的靜下心來試試。後來發現<% request.setCharacterEncoding("UTF-8"); %>這句代碼的地位很重要,一定要寫在頂部,我一開端不斷是寫在<body></body>體外面的,但其實並沒有什麼用。對的,我就是這麼Alt+上下鍵調動地位一次一次實驗才最終有正確的寫法的,您別說我笨,由於我看了很多篇博文,都沒有處理我的問題,所以我只能靠自己了。也正是由於他們未強調這句代碼的地位的重要性,才讓我們很多人糜費時間還處理不了問題。上面附上簡復雜單的代碼:

JavaBean:

 1 package com.hdu.test;
 2 
 3 public class UseBean {
 4     private String name;
 5 
 6     public void setName(String name) {
 7         this.name = name;
 8     }
 9 
10     public String getName() {
11         return name;
12     }
13 }

register.html:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>填寫注冊信息</title>
 6 </head>
 7 <body>
 8     <form action="register.jsp" method="post">
 9         <table>
10             <tr>
11                 <td>姓名:<input type="text" name="name"></td>
12                 <td><input type="submit" value="提交"></td>
13             </tr>
14         </table>
15     </form>
16 </body>
17 </html>

register.jsp:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"%>
 2 <% request.setCharacterEncoding("UTF-8"); %><!-- 該行代碼的地位非常重要書寫在頂部哦 -->
 3 <jsp:useBean id="user" scope="page" class="com.hdu.test.UseBean"></jsp:useBean>
 4 <jsp:setProperty property="*" name="user" />
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <html>
 7 <head>
 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 9 <title>顯示注冊信息</title>
10 </head>
11 <body>
12     姓名:<jsp:getProperty property="name" name="user" />
13 </body>
14 </html>

完成復雜的功用,運轉register.html表單填入姓名(記得填寫中文以測試),點擊提交後,閱讀器顯示姓名並且不會亂碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved