JavaWeb:Request和Response(3)
导读:JavaWeb,(2)把获取到的内容进行分割,内容如下: (3)把分割后端数据,存入到一个Map集合中: 注意 :因为参数的值可能是一个,也可能有多个,所以Map的值的类型为
JavaWeb

(2)把获取到的内容进行分割,内容如下:

(3)把分割后端数据,存入到一个Map集合中:

注意:因为参数的值可能是一个,也可能有多个,所以Map的值的类型为String数组。
基于上述理论,request对象为我们提供了如下方法:
- 获取所有参数Map集合
Map<String,String[]> getParameterMap()
- 根据名称获取参数值(数组)
String[] getParameterValues(String name)
- 根据名称获取参数值(单个值)
String getParameter(String name)
接下来,我们通过案例来把上述的实例演示:
前端代码:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
<h2>GET方式提交</h2>
<form action="req03" method="get">
用户名:<input type="text" name="username"><br/>
密 码:<input type="password" name="password"><br/>
<input type="checkbox" name="hobby" value="1"> 游泳
<input type="checkbox" name="hobby" value="2"> 爬山 <br>
<input type="submit" value="登录">
</form>
<hr>
<br>
<br>
<h2>POST方式提交</h2>
<form action="req03" method="post">
用户名:<input type="text" name="username"><br/>
密码:<input type="password" name="password"><br/>
<input type="checkbox" name="hobby" value="1"> 游泳
<input type="checkbox" name="hobby" value="2"> 爬山 <br>
<input type="submit" value="登录">
</form>
</body>
</html>
后端代码:
@WebServlet(value = "/req03")
public class request02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1、获取map集合
Map<String, String[]> parameterMap = request.getParameterMap();
parameterMap.forEach((key,values)->{
System.out.println(key+"::"+ Arrays.toString(values));
});
// 2、根据参数名称获取参数值
String username = request.getParameter("username");
System.out.println(username);
// 3、根据参数名称获取参数数组
String[] hobbies = request.getParameterValues("hobby");
System.out.println(Arrays.toString(hobbies));
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
5、POST请求参数乱码解决
- 分析出现中文乱码的原因:
- POST的请求参数是通过request的getReader()来获取流中的数据
- tomcat在获取流的时候采用的编码是ISO-8859-1
- ISO-8859-1编码是不支持中文的,所以会出现乱码
- 解决方案:
- 页面设置的编码格式为UTF-8
- 把tomcat在获取流数据之前的编码设置为UTF-8
- 通过request.setCharacterEncoding(“UTF-8”)设置编码,UTF-8也可以写成小写
相关阅读
-
dns服务器未响应怎么修复 分享dns未响应最简单的修复办法
今天为大家介绍dns服务器未响应怎么修复和分享dns未响应最简单的修复办法的教程内容,继续往下看吧! 很多人在浏览网页时,经常会遇到DNS服务器未响应的情况,那么什么是DNS服务器?DNS未
-
个人网站备案流程 工信部个人网站备案过程讲解
您可能不了解个人网站备案流程和工信部个人网站备案过程讲解的IT小经验,继续往下看吧! 嗨,大家好,我是希留。 前面文章介绍了下使用https访问网站的相关配置,然后发现访问https时灵时
-
HTTP状态码深入解析:401 Unauthorized
为大家介绍HTTP状态码深入解析的教程内容,接下来一起来看看吧。 在互联网通信中,HTTP状态码是用来表示服务器响应的一种方式。 当我们在浏览器中访问网页时,服务器会返回一个状态码,
-
什么是跨站脚本 XSS攻击?
为网友解答什么是跨站脚本的相关话题,下面为详细的介绍。 跨站脚本(Cross-Site Scripting,XSS)是一种常见的网络安全漏洞,攻击者利用该漏洞在受害者的网页中插入恶意脚本,从而能够获取


