HttpServletRequest request 使用,获取客户端IP

HttpServletRequest request 使用

一、获取请求信息

协议名://服务器名:端口号/项目名/命名空间/action名称?其他参数
http://localhost:8080/project/user/login?uname=jack
  1. 协议名:request.getScheme()
  2. 服务器名: getServerName()
  3. 端口号:request.getServerPort()
  4. /项目名/命名空间/action名称:request.getRequestURI()
  5. /命名空间/action名称:request.getServletPath()
  6. 其他参数:request.getQueryString()

二、获取请求头信息

:authority: blog.csdn.net
:method: GET
:path: /
:scheme: https
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
accept-encoding: gzip, deflate, br
accept-language: zh-CN,zh;q=0.9,en;q=0.8
cookie: ***
referer: https://www.csdn.net/
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
  1. request.getMethod()
  2. request.getHeader(“Host”)
  3. request.getHeader(“Accept-Encoding”)
  4. request.getHeader(“Accept-Language”)
  5. request.getHeader(“Cookie”)
  6. request.getHeader(“Referer”)
  7. request.getHeader(“User-Agent”)

request.getHeader(“REFERER”)取值
1:通过链接跳过来 ,值为上个页面的地址
2:在地址栏中直接输入URL,打回车 ,Referer为空
3:刷新的时候,会检查服务端是否会有更新,没有使用本机缓存,刷新时得到的响应依然是前一次得到的服务端的内容,Referer不变

三、获取客户端信息

客户端IP: request.getRemoteAddr()
客户端主机名:request.getRemoteHost()
SessionId:request.getRequestedSessionId()

服务器信息: getServletConfig().getServletContext().getServerInfo()

四、数据

编码:request.getCharacterEncoding()
所发送的字节数:request.getContentLength()
数据类型:request.getContentType()

你可能感兴趣的:(JAVA)