對於運行在Tomcat上的註冊頁面,通過提交註冊表單;獲取註冊頁面提交的“中文”信息,在控制中會產生“中文亂碼”

對於運行在Tomcat上的註冊頁面,通過提交註冊表單;獲取註冊頁面提交的“中文”信息,在控制中會產生“中文亂碼”

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>註冊頁面</title>
</head>
<body>
    <form action="/Servlet/RequestDemo7" method="post">
        <input type="text" placeholder="請輸入用戶名" name="username"><br>
        <input type="text" placeholder="請輸入密碼" name="password"><br>

        <input type="checkbox" name="hobby" value="game">遊戲
        <input type="checkbox" name="hobby" value="study">學習
        <br>


        <input type="submit" value="註冊"><br>
    </form>
</body>
</html>
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
import java.util.Set;

@WebServlet("/RequestDemo7")
public class RequestDemo7 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //獲取請求參數username
        String username = request.getParameter("username");
        System.out.println(username);
    }

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

在這裏插入圖片描述
在這裏插入圖片描述

解決辦法:

  • 中文亂碼問題:
    ①、get方式:tomcat 8 已經將get方式亂碼問題解決了
    ②、post方式:會亂碼
    解決:在獲取參數前,設置request的編碼request.setCharacterEncoding(“utf-8”);
//設置流的編碼
request.setCharacterEncoding("utf-8");

//獲取請求參數username
String username = request.getParameter("username");
System.out.println(username);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章