request常见方法
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议 主机名 端口(如果有)” +request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名” +request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到request.getRemoteAddr(): 浏览器所处于的客户机的IP地址request.getRemoteHost(): 浏览器所处于的客户机的主机名request.getRemotePort(): 浏览器所处于的客户机使用的网络端口request.getLocalAddr(): 服务器的IP地址request.getLocalName(): 服务器的主机名request.getMethod(): 得到客户机请求方式一般是GET或者POST

获取参数
request.getParameter():是常见的方法,用于获取单值的参数request.getParameterValues():用于获取具有多值的参数,比如注册的时候提交的爱好,可以是多选的。request.getParameterMap():用于遍历所有的参数,并返回Map类型。
本例准备了一个注册的例子:
包括一个注册页面register.html
服务端的RegisterServlet
分别演示了获取单值参数,多值参数以及遍历所有的参数。
  | 
  | 
  | 
  | 
获取头信息
request.getHeader()获取浏览器传递过来的头信息。比如getHeader(“user-agent”)可以获取 浏览器的基本资料,这样就能判断是firefox、IE、chrome或者是safari浏览器 。request.getHeaderNames()获取 浏览器所有的头信息名称,根据头信息名称就能遍历出所有的头信息。
在本例,修改HelloServlet,使其获取头信息。
访问HelloServlet获取如下头信息:host: 主机地址user-agent: 浏览器基本资料accept: 表示浏览器接受的数据类型accept-language: 表示浏览器接受的语言accept-encoding: 表示浏览器接受的压缩方式,是压缩方式,并非编码connection: 是否保持连接cache-control:缓存时限
服务器传参
setAttribute和getAttribute可以用来在进行服务端跳转的时候,在不同的Servlet之间进行数据共享。
