Request通用方式获取参数
在旧的请求参数的获取方式当中,需要对两种不同的请求方式做两份不同的代码逻辑,现在就是要统一操作,比如在post里面调用get的代码
如下图的操作
先获取请求方式,对于不同的方式都先把请求参数获取出来,这里request还完成了对字符串的解析,对&和=进行切割 之后将键值对放进map里面进行存储,对于一个键对应多个值的情况这里也有字符串数组的方式对应处理。
html页面配置如下的表单
<form action="/request-demo/req2" 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"> </form>
在url后面有所提示
此处注意因为浏览器会有缓存信息,所以有可能跳转到其他的servlet,所以最好开一个无痕浏览模式
使用如下代码进行get方法的请求参数的获取并输出,这里是使用表单的方式进行提交,下面有三个常用的方法的演示。
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//GET请求逻辑
//System.out.println("get....");
//1. 获取所有参数的Map集合
Map<String, String[]> map = req.getParameterMap();
for (String key : map.keySet()) {
// username:zhangsan lisi
System.out.print(key+":");
//获取值
String[] values = map.get(key);
for (String value : values) {
System.out.print(value + " ");
}
System.out.println();
}
System.out.println("------------");
//2. 根据key获取参数值,数组
String[] hobbies = req.getParameterValues("hobby");
for (String hobby : hobbies) {
System.out.println(hobby);
}
//3. 根据key 获取单个参数值
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username);
System.out.println(password);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//POST请求逻辑
this.doGet(req,resp);
}
实现输出如下
中文乱码了
文章来源:https://www.toymoban.com/news/detail-540169.html
这里不管是get方法获取还是post方法的获取都是通用,request已经帮忙处理好了,所以走post逻辑时也可以调用处理get的代码来处理。文章来源地址https://www.toymoban.com/news/detail-540169.html
到了这里,关于Javaweb——Request通用方式获取请求参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!