request对象
1. 获得请求行
获得请求的方式 get post
复制代码
1
2String method = request.getMethod();
获得请求的url和uri
复制代码
1
2
3String requestURI = request.getRequestURI(); StringBuffer requestURL = request.getRequestURL();
获得当前应用的工程名
复制代码
1
2String contextPath = request.getContextPath();
获得地址后参数的字符串
复制代码
1
2String queryString = request.getQueryString();
获得客户端信息 访问者的ip
复制代码
1
2String remoteAddr = request.getRemoteAddr();
request获得的是客户端发送的信息
2. 获得请求头
获得请求头指定name的value值
复制代码
1
2String header = request.getHeader("User-Agent");
获得所有请求头name的值
复制代码
1
2
3
4
5
6Enumeration<String> headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String nextElement = headerNames.nextElement(); System.out.println(nextElement + ":"+ request.getHeader(nextElement)); }
referer头的作用:防盗链,防止别人引用我的资源 request.getHeader(“referer”)
复制代码
1
2
3
4
5
6
7
8
9response.setContentType("text/html;charset=utf-8"); PrintWriter writer = response.getWriter(); String header = request.getHeader("referer"); if (header != null && header.startsWith("http://192.168.43.232")) { writer.write("可以访问"); } else { writer.write("防盗喽"); }
3. 获得请求体
获得单个表单控件的数据 request.getParameter(“name”)
复制代码
1
2
3
4
5String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println(username); System.out.println(password);
获得多个同名表单的控件值 request.getParameterValues(“checkbox”)
复制代码
1
2
3
4
5String[] parameterValues = request.getParameterValues("checkbox"); for (String string : parameterValues) { System.out.println(string); }
获得所有的name属性 request.getParameterNames()
复制代码
1
2
3
4
5
6
7Enumeration<String> parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { String name = parameterNames.nextElement(); System.out.println(name + ":"); System.out.println(Arrays.toString(request.getParameterValues(name))); }
获得key(name) value[]。。 request.getParameterMap()
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36Map<String, String[]> parameterMap = request.getParameterMap(); // 1 遍历Map的第一种方式 Set<String> keySet = parameterMap.keySet(); for (String key : keySet) { System.out.println(key); System.out.println(Arrays.toString(parameterMap.get(key))); } Iterator<String> iterator = keySet.iterator(); while(iterator.hasNext()){ System.out.println(Arrays.toString(parameterMap.get(iterator.next()))); } //2.遍历map的第二种方式 Collection<String[]> values = parameterMap.values(); for (String[] value : values) { System.out.println(Arrays.toString(value)); } Iterator<String[]> iterator2 = values.iterator(); while(iterator2.hasNext()){ System.out.println(Arrays.toString(iterator2.next())); } //3. 遍历map的第三种方式 System.out.println("---------------entrySet------------------------"); Set<Entry<String, String[]>> entrySet = parameterMap.entrySet(); for (Entry<String, String[]> entry : entrySet) { System.out.println(entry); System.out.println(entry.getKey()); System.out.println(Arrays.toString(entry.getValue())); } Iterator<Entry<String, String[]>> iterator3 = entrySet.iterator(); while(iterator3.hasNext()){ Entry<String, String[]> next = iterator3.next(); System.out.println(next); System.out.println(next.getKey()+""); System.out.println(next.getValue()+""); }
4.request的其他功能
request是一个域对象
复制代码
1
2
3
4
5request.setAttribute(String name,Object o) request.getAttribute(String name) request.removeAttribute(String name)
post请求解决中文乱码问题
复制代码
1
2request.setCharacterEncoding("utf-8");
get请求解决中文乱码问题
Tomcat (iso-8859-1),服务器得到该参数进行反编码;
复制代码
1
2new String(name.getBytes("iso-8859-1"), "utf-8");
请求转发
复制代码
1
2request.getRequestDispatcher("/welcome.jsp").forward(request,response);
最后
以上就是专注水杯最近收集整理的关于request对象(请求对象)request对象的全部内容,更多相关request对象(请求对象)request对象内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复