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之间进行数据共享。