1. 获得客户机信息
getRequestURL方法返回客户端发出请求时的完整URL。
getRequestURI方法返回请求行中的资源名部分。
getQueryString 方法返回请求行中的参数部分。
getRemoteAddr方法返回发出请求的客户机的IP地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回客户机所使用的网络端口号
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名
getMethod得到客户机请求方式
2.获得客户机请求头
浏览器上地址栏:http://localhost:8080/RequestAndResponse/requestmethod?name=sunjob&password=123456&password=haha
getRequestURL方法返回客户端发出请求时的完整URL。
getRequestURI方法返回请求行中的资源名部分。
getQueryString 方法返回请求行中的参数部分。
getRemoteAddr方法返回发出请求的客户机的IP地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回客户机所使用的网络端口号
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名
getMethod得到客户机请求方式
2.获得客户机请求头
getHeader(string name)方法
getHeaders(String name)方法
getHeaderNames方法
3. 获得客户机请求参数(客户端提交的数据)
getParameter(name)方法
getParameterValues(String name)方法
getParameterNames方法
getParameterMap方法
例子程序:
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- System.out.println("getRequestURL: "+request.getRequestURL());
- System.out.println("getRequestURI: "+request.getRequestURI());
- System.out.println("getQueryString: "+request.getQueryString());
- System.out.println("getRemoteAddr: "+request.getRemoteAddr());
- System.out.println("getRemoteHost: "+request.getRemoteHost());
- System.out.println("getRemotePort: "+request.getRemotePort());
- System.out.println("getRemoteUser: "+request.getRemoteUser());
- System.out.println("getLocalAddr: "+request.getLocalAddr());
- System.out.println("getLocalName: "+request.getLocalName());
- System.out.println("getLocalPort: "+request.getLocalPort());
- System.out.println("getMethod: "+request.getMethod());
- System.out.println("-------request.getParamterMap()-------");
- //得到请求的参数Map,注意map的value是String数组类型
- Map map = request.getParameterMap();
- Set<String> keySet = map.keySet();
- for (String key : keySet) {
- String[] values = (String[]) map.get(key);
- for (String value : values) {
- System.out.println(key+"="+value);
- }
- }
- System.out.println("--------request.getHeader()--------");
- //得到请求头的name集合
- Enumeration<String> em = request.getHeaderNames();
- while (em.hasMoreElements()) {
- String name = (String) em.nextElement();
- String value = request.getHeader(name);
- System.out.println(name+"="+value);
- }
- }
控制台输出:
- getRequestURL: http://localhost:8080/RequestAndResponse/requestmethod
- getRequestURI: /RequestAndResponse/requestmethod
- getQueryString: name=sunjob&password=123456&password=haha
- getRemoteAddr: 127.0.0.1
- getRemoteHost: 127.0.0.1
- getRemotePort: 2374
- getRemoteUser: null
- getLocalAddr: 127.0.0.1
- getLocalName: localhost
- getLocalPort: 8080
- getMethod: GET
- -------request.getParamterMap()-------
- name=sunjob
- password=123456
- password=haha
- --------request.getHeader()--------
- host=localhost:8080
- user-agent=Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0
- accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- accept-language=zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3
- accept-encoding=gzip, deflate
- connection=keep-alive
- cache-control=max-age=0