对于运行在Tomcat上的注册页面,通过提交注册表单;获取注册页面提交的“中文”信息,在控制中会产生“中文乱码”

对于运行在Tomcat上的注册页面,通过提交注册表单;获取注册页面提交的“中文”信息,在控制中会产生“中文乱码”


<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);
    }
}

对于运行在Tomcat上的注册页面,通过提交注册表单;获取注册页面提交的“中文”信息,在控制中会产生“中文乱码”_第1张图片
对于运行在Tomcat上的注册页面,通过提交注册表单;获取注册页面提交的“中文”信息,在控制中会产生“中文乱码”_第2张图片

解决办法:

  • 中文乱码问题:
    ①、get方式:tomcat 8 已经将get方式乱码问题解决了
    ②、post方式:会乱码
    解决:在获取参数前,设置request的编码request.setCharacterEncoding(“utf-8”);
//设置流的编码
request.setCharacterEncoding("utf-8");

//获取请求参数username
String username = request.getParameter("username");
System.out.println(username);

你可能感兴趣的:(#,idea)