HttpServletRequest HttpServletRequest 对象代表客户端的请求,当客户端通过 HTTP 协议访问服务器时,HTTP 请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些 信息 request 常用方法 l 获得客户机信息 ?getRequestURL 方法返回客户端发出请求时的完整 URL。 。 ?getRequestURI 方法返回请求行中的资源名部分。 方法返回请求行中的资源名部分。 ?getQueryString 方法返回请求行中的参数部分。 方法返回请求行中的参数部分。 ?getRemoteAddr 方法返回发出请求的客户机的 IP 地址 ?getRemoteHost 方法返回发出请求的客户机的完整主机名 ?getRemotePort 方法返回客户机所使用的
网络端口号 ?getLocalAddr 方法返回 WEB 服务器的 IP 地址。 地址。 ?getLocalName 方法返回 WEB 服务器的主机名 ?getMethod 得到客户机请求方式
URL 和 URI 的关系:URI 是 URL 的父类,URI 描述资源,URL 描述互联网的资源
String url = request.getRequestURL().toString(); System.out.println(url);
System.out.println(request.getRequestURI());
System.out.println(request.getQueryString());
System.out.println(request.getRemoteAddr());
System.out.println(request.getRemoteHost());
System.out.println(request.getRemotePort());
System.out.println(request.getMethod());
Request
常用方法 l 获得客户机请求头 ?getHead(name)方法 方法 ?getHeaders(String name)方法 ?getHeaderNames 方法 l 获得客户机请求参数(客户端提交的数据) ?getParameter(name)方法
?getParameterValues(String name)方法 ?getParameterNames 方法 ?getParameterMap 方法 // ?getInputStream
获取客户机带过来的数据
String username = request.getParameter("username"); System.out.println(username);
System.out.println("----------------------");
Enumeration e = request.getParameterNames(); while(e.hasMoreElements()){ String name =(String) e.nextElement(); String value = request.getParameter(name); System.out.println(name + "=" + value); }
System.out.println("----------------------");
String values[] =request.getParameterValues("username"); for(int i=0;values!=null &;&;i
System.out.println("----------------------"); //localhost:8080/day05/servlet/RequestDemo3?username=aaa&;username=bbb&;p assword=123 Mapmap = request.getParameterMap(); Set> set = map.entrySet(); for(Map.Entry entry : set){ username =entry.getKey(); values =entry.getValue(); for(int i=0;values!=null &;&;i "UTF-8"); response.setHeader("content-type", "text/html;charset=UTF-8"); response.getWriter().write(data);
l 各种表单输入项数据的获取 ?text、password、radio、checkbox、 ?file、select、textarea、 hidden、 ?image、button 给 js 编程用 package cn.itcast.request;
import java.io.IOException;
import java.util.Arrays;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
//获取不同类型表单的数据(获取客户机表单提交的数据) public class RequestDemo5 extends HttpServlet {
publicvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(request.getParameter("username")); System.out.println(request.getP