标签:path query stack ring param tar 地址 -- block
作用: 1. 获取请求消息数据 2. 完成请求转发 3. 是域对象
获取请求行 GET /uri HTTP/1.1
String getMethod() 获取请求方式
String getQueryString() 获取请求参数
String getContextPath() 获取虚拟目录
String getRemoteAddr() 获取ip地址
获取请求头
String getHeader(String name) (user-agent)
String header = request.getHeader("user-agent") ;
if(header.contains("MSIE")) {
System.out.println("IE浏览器...............");
response.sendRedirect("http://www.baidu.com") ;
}else if(header.contains("Chrome")) {
System.out.println("谷歌浏览器...............");
response.sendRedirect("http://www.jd.com") ;
}else if(header.contains("Firefox")) {
System.out.println("火狐浏览器...............");
}else {
System.out.println("其它浏览器...............");
}
HttpServletRequest获取请求体
A: 获取请求体数据
* BufferedReader getReader()
* ServletInputStream getInputStream()
Doget: String qs = request.getQueryString(); String line = request.getQueryString() ; // userName=zhangsan&password=123 String[] split = line.split("&") ; for(String data : split) { String[] info = data.split("=") ; System.out.println(request.getMethod() + "----" + info[0] + "---" + info[1]); /* * GET----username---zhangsan GET----password---123 */ } Dopost: BufferedReader reader = request.getReader() ; String line = reader.readLine() ; // userName=zhangsan&password=123 String[] split = line.split("&") ; for(String data : split) { String[] info = data.split("=") ; System.out.println(request.getMethod() + "----" + info[0] + "---" + info[1]); // POST----userName---qq // POST----password---9 }
HttpServletRequest获取请求参数通用的方式
* GET 和 POST 请求通用的获取数据的方式
String getParameter(String name): 根据名称获取对应的请求参数的值
Enumeration getParameterNames(): 获取所有的请求参数的名称
Map<String , String[]> getParameterMap(): 获取所有的请求参数对应的Map集合, 键是请求参数的名称 ,值是请求参数的值
String[] getParameterValues(String name): 根据名称获取对应的请求参数的值对应的数组
String userName = request.getParameter("userName");
System.out.println(request.getMethod()+"----"+userName);
System.out.println("------------------");
Enumeration names = request.getParameterNames();
while(names.hasMoreElements()){
String name = (String) names.nextElement();
String value = request.getParameter(name);
System.out.println(name+"---"+value);
}
Map<String,String[]> map = request.getParameterMap();
Set<Entry<String, String[]>> entrySet = map.entrySet();
for (Entry<String, String[]> entry : entrySet) {
String key = entry.getKey();
String[] value = entry.getValue();
System.out.println(key + "----" + Arrays.toString(value));
}
User user = new User() ;
try {
BeanUtils.populate(user, map) ; // User [userName=zhangsan, password=888, hobby=[1, 2, 3]]
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
System.out.println(user);
}
标签:path query stack ring param tar 地址 -- block
原文地址:http://www.cnblogs.com/loaderman/p/6415490.html