jsp request获取表单参数和解决中文乱码 作者:马育民 • 2021-04-18 15:33 • 阅读:10059 # 提出问题 创建注册页面 reg.jsp ,内容如下: ``` <form method="post" action="doLogin.jsp"> 用户名:<input name="username"><br> 密码:<input name="password"><br> 性别:<input name="sex" value="0" type="radio">女 <input name="sex" value="1" type="radio">男<br> 爱好:<input name="like" value="wzry" type="checkbox">王者荣耀 <input name="like" value="cj" type="checkbox">吃鸡 <input name="like" value="dy" type="checkbox">抖音 <input value="登录" type="submit"> </form> ``` 如何让 java 代码可以获取表单中的参数? # 获取参数方法 - getParameter() 获取请求的参数,如表单数据、url中的参数 - getParameterValues() 同 `getParameter()`,在多个值的时候使用,如:获取 checkbox 控件值 # 例子 [](https://www.malaoshi.top/upload/pic/jsp/QQ20210418154014.jpg) 创建 doReg.jsp ,内容如下: ``` <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String username=request.getParameter("username"); String password=request.getParameter("password"); String sex=request.getParameter("sex"); String[] like=request.getParameterValues("like"); out.println("用户名:"+username+"<br>"); out.println("密码:"+password+"<br>"); out.println("性别:"+sex+"<br>"); out.println("爱好:"); for(String item:like){ out.println(item); } %> <br> <br> 请求的资源路径:<%=request.getRequestURI()%><br> 请求的资源路径:<%=request.getRequestURL()%><br> <br> 协议:<%=request.getScheme()%><br> 服务主机名:<%=request.getServerName()%><br> 服务端口号:<%=request.getServerPort()%><br> 上下文:<%=request.getContextPath()%><br> <br> 客户端ip:<%=request.getRemoteHost()%><br> 请求方法:<%=request.getMethod()%><br> User-Agent:<%=request.getHeader("User-Agent")%><br> ``` 修改 reg.jsp 表单,提交到 doReg.jsp # 例子:中文乱码 在上面例子中,如果 用户名 填中文,将会是乱码,解决方法: 在 doLogin.jsp 开始处增加下面代码: ``` request.setCharacterEncoding("UTF-8"); ``` 原文出处:/show_1IXy53Xr5R8.html