总结一下:request解控中四个非常重要的方法
getParameterMap();
getParameterNames();
getParameterValues(“name”)
getParameter(“name”)
下面是四个方法的例子
package com.xy.test.servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class RequestTestServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//首先是getParameterMap
Map<String, String[]> parameterMap = request.getParameterMap();
Set<String> keys = parameterMap.keySet();
Iterator<String> it = keys.iterator();
while(it.hasNext()){
String key=it.next();
//System.out.println(key);
String[] values = parameterMap.get(key);
System.out.println(key+"=");
for(String value:values){
System.out.println(value+",");
}
System.out.println();
}
//getParameterName直接获取所有key,不像上面那样遍历
Enumeration<String> parameterNames = request.getParameterNames();
while(parameterNames.hasMoreElements()){
String name = parameterNames.nextElement();
System.out.println(name);
}
//getParameterValues直接通过name获取所有一维数组
String[] usernames = request.getParameterValues("username");//这里的username和password都是前端设置的name
String[] passwords = request.getParameterValues("password");
String[] intersets = request.getParameterValues("interest");
//遍历一维数组
for(String username:usernames){
System.out.println(username+",");
}
for(String password:passwords){
System.out.println(password+",");
}
for(String interset:intersets){
System.out.println(interset+",");
}
//通过name获取value这个一维数组的第一个元素
//这个方法使用最多,因为这个一维数组一般只有一个元素
String username = request.getParameter("username");
String password = request.getParameter("password");
//这里用getParameterValues是因为他不止一个元素
String[] interests = request.getParameterValues("interest");
//获取的都是一维数组当中的第一个元素
System.out.println(username);
System.out.print(password);
for(String interest:interests){
System.out.println(interest);
}
}
}
这两种方法最常用,运用了getParameter+getParameterValues
//通过name获取value这个一维数组的第一个元素
//这个方法使用最多,因为这个一维数组一般只有一个元素
//username、password、interest都是前端的name
String username = request.getParameter("username");
String password = request.getParameter("password");
//这里用getParameterValues是因为他不止一个元素
String[] interests = request.getParameterValues("interest");
//获取的都是一维数组当中的第一个元素
System.out.println(username);
System.out.print(password);
for(String interest:interests){
System.out.println(interest);
}
前端index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" action="/request/request">
username<input type="text" name="username"><br>
password<input type="text" name="password"><br>
interest
抽烟<input type="checkbox" name="interest" value="smoke">
喝酒<input type="checkbox" name="interest" value="drink">
烫头<input type="checkbox" name="interest" value="tt"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
文章浏览阅读9.7w次,点赞42次,收藏195次。ss_thread
文章浏览阅读89次。 lynis 是个不错的安全审计工具。 常见用法:lynis -c 逐项手动检查,并在最后给出建议lynis -Q 显式自动扫描,并在最后给出建议lynis -q 静默自动扫描,只给出警告 顺便说下另一个问题,在centos 5下安装lynis出错: ERROR with rpm_check_debug vs depsolve:rpmlib(Fil..._languard network scanner 2.0
文章浏览阅读663次。一.硬件连接二.软件部分1.云服务器2.安装宝塔面板在腾讯云上安装宝塔面板:安装SSH 连接工具,安装步骤https://www.bt.cn/bbs/thread-1971-1-1.html,挂载磁盘后(查看),根据系统执行框内命令开始安装(这里我选用的是Ubuntu系统)在云服务中打开端口(入站规则和出站规则都要添加)找到腾讯云公网IP地址,在浏览器中输入该IP地址+端口(这里我采用的是8888端口)3.安装EMQX Cloud在云服务器上安装EMQX Cloud,下载链接:htt_用c# 实现emqx 数据持续化到mysql
文章浏览阅读1.3k次。前端表格合并单元格技巧_前端table单元格合并
文章浏览阅读3.8w次,点赞12次,收藏48次。1 find() 方法 字符串方法str.find(str, beg=0, end=len(string))检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。a = 'Hello,World'print(a.fi..._python find index
文章浏览阅读656次,点赞22次,收藏26次。很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从哪里入手去学习,对此我整理了一些资料如果你熟练掌握以下列出的知识点,相信将会大大增加你通过前两轮技术面试的几率!这些内容都供大家参考,互相学习。①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包一个人可以走的很快,但一群人才能走的更远。
文章浏览阅读9.7k次。我们新安装的磁盘,分区之后想对磁盘命名,直接修改是不行的,那么怎么解决呢,下面就由学习啦小编给你们介绍电脑分区后修改磁盘名称的方法吧,希望能帮到大家哦!电脑分区后修改磁盘名称的方法:首选我们打开桌面上的“这台电脑”或者计算机,小编是win8系统。然后选择需要修改的磁盘右键并“重命名”,就会出来需要管理员身份怎么办,意思是这边是不能修改的。选择任务栏最又左下角处的“桌面图标”右键,然后选择“磁盘管理..._如何修改电脑磁盘名称
文章浏览阅读1w次。问题:原因:那我自己的例子来讲,是装饰器中,只出现红色区域代码时,重定向无限循环导致的,每次重定向又会发送一个请求,满足重定向的条件(仍然是未登录)循环…解决:对重定向后的path做一个处理(详见,问题描述中的绿色框框),return None,即可跳出重定向,留在登录界面..._127.0.0.1 重定向次数过多。
CentOS制作U盘启动盘的步骤和要注意的问题。准备相关软件和镜像文件,使用UltraISO虚拟光驱制作启动盘,注意写入方式为“RAW”。制作的CentOS7启动盘可以当U盘使用,而CentOS8启动盘只能用作启动盘。
文章浏览阅读613次。堆内存使用情况监控准备一份代码import java.util.ArrayList;public class HeapTest { byte[] a=new byte[1024*100];//100KB public static void main(String[] args) throws InterruptedException { ArrayList&..._axvgvcijvm
文章浏览阅读5.2k次,点赞12次,收藏58次。个人网页设计、♂️个人简历制作、简单静态HTML个人网页作品、个人介绍网站模板 、等网站的设计与制作。个人网页设计网站模板采用DIV CSS布局制作,网页作品有多个页面,如 :个人介绍(文字页面)、我的作品(图片列表)、个人技能(图文页面)、在线留言(表单页面)CSS样式方面网页整体采用左右布局结构,制作了网页背景图片,导航区域每个导航背景色不同,导航背景色与页面背景呼应。 一套A+的网页应该包含 (具体可根据个人要求而定)网站布局方面:计划采用目前主流的、能兼容各大_html+css网页设计
文章浏览阅读199次。一.计算机网络定义:将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,实现资源共享和信息传递的计算机系统。网络分类:(1) 按网络的地理覆盖范围可分为局域网,城域网和广域网。(2)按照网络传输媒体划分可分为有线网和无线网3.计算机网络的硬件组成(1) 网络传输媒体:双绞线、同轴电缆,光纤及无线通信等。局部使用双绞线、同轴电缆,网速要求比较高的haul,使用光纤,..._计算机导论速成课笔记