通过request对象获取客户端的相关信息

制作人:全心全意

通过request对象可以获取客户端的相关信息。例如HTTP报头信息、客户信息提交方式、客户端主机IP地址、端口号等等。

request获取客户端信息的常用方法
方     法 说     明
getHeader(String name) 获得HTTP协议定义的文件头信息
getHeaders(String name) 返回指定名字的request Header的所有值,其结果是一个枚举型的实例
getHeadersNames() 返回所有request Header的名字,其结果是一个枚举型的实例
getMethod() 获得客户端向服务器端传送数据的方法,如post、get、header、trace等
getProtocol() 获得客户端向服务器端传送数据所依赖的协议名称
getRequestURI() 获得发出请求字符串的客户端地址,不包括请求的参数
getRequestURL() 获得发出请求字符串的客户端地址
getRealPath() 返回当前请求文件的绝对路径
getRemoteAddr() 获取客户端的IP地址
getRemoteHost() 获取客户端的主机名
getServerName() 获取服务器的名字
getServerPath 获取客户端所请求的脚本文件的文件路径
getServerPort() 获取服务器的端口号

index.jsp:获取客户端信息的常用方法

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>通过request对象获取客户端的相关信息</title>
</head>
<body>
获取客户端提交信息的方式:<%=request.getMethod() %>
<br>获取客户端使用的协议:<%=request.getProtocol() %>
<br>获取客户端请求字符串的地址(相对):<%=request.getRequestURI() %>
<br>获取客户端请求字符串的地址(绝对):<%=request.getRequestURL() %>
<br>获取客户端的IP地址:<%=request.getRemoteAddr() %>
<br>获取服务器端口号:<%=request.getServerPort() %>
<br>获取服务器的名称:<%=request.getServerName() %>
<br>获取客户端主机名:<%=request.getRemoteHost() %>
<br>获取客户端所请求脚本文件的文件路径:<%=request.getServletPath() %>
<br>获取HTTP协议定义的文件头信息Host的值:<%=request.getHeader("host") %>
<br>获取HTTP协议定义的文件头信息User-Agent的值:<%=request.getHeader("user-agent") %>
<br>获取HTTP协议定义的文件头信息accept-language的值:<%=request.getHeader("accept-language") %>
<br>获得请求文件的绝对路径:<%=request.getRealPath("index.jsp") %>
</body>
</html>

显示结果:

获取客户端提交信息的方式:GET
获取客户端使用的协议:HTTP/1.1
获取客户端请求字符串的地址(相对):/web/index.jsp
获取客户端请求字符串的地址(绝对):http://localhost:8080/web/index.jsp
获取客户端的IP地址:0:0:0:0:0:0:0:1
获取服务器端口号:8080
获取服务器的名称:localhost
获取客户端主机名:0:0:0:0:0:0:0:1
获取客户端所请求脚本文件的文件路径:/index.jsp
获取HTTP协议定义的文件头信息Host的值:localhost:8080
获取HTTP协议定义的文件头信息User-Agent的值:Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko
获取HTTP协议定义的文件头信息accept-language的值:zh-CN
获得请求文件的绝对路径:F:\java工作目录\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\web\index.jsp

  

通过request对象获取客户端的相关信息的更多相关文章

  1. ASP.NET获取客户端的相关信息

    /// <summary>        /// 获取远程浏览器端 IP 地址        /// </summary>        /// <returns> ...

  2. asp.net 获取服务器及客户端的相关信息

    1. 在ASP.NET中专用属性:获取服务器电脑名:Page.Server.ManchineName获取用户信息:Page.User获取客户端电脑名:Page.Request.UserHostName ...

  3. 通过HttpservletRequest对象获取客户端的真实IP地址

    这篇文章主要介绍了Java中使用HttpRequest获取用户真实IP地址,使用本文方法可以避免Apache.Squid.nginx等反向代理软件导致的非真实IP地址,需要的朋友可以参考下 在JSP里 ...

  4. Go语言之进阶篇http服务器获取客户端的一些信息

    1.http服务器获取客户端的一些信息 示例: package main import ( "fmt" "net/http" ) //w, 给客户端回复数据 / ...

  5. C#获取电脑的相关信息

    /* 创建者:菜刀居士的博客  * 创建日期: 2014年08月31号  * 功能:获取电脑的相关信息  *  */ namespace Net.String.ConsoleApplication { ...

  6. NX二次开发-UF_ASSEM_ask_component_data获取装配部件的相关信息

    NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_assem.h> ], void* user_ ...

  7. 获取Java系统相关信息

    package com.test; import java.util.Properties; import java.util.Map.Entry; import org.junit.Test; pu ...

  8. .Net中获取打印机的相关信息

    原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...

  9. Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息

    详情请看:Cordova各个插件使用介绍系列(六)—$cordovaDevice获取设备的相关信息 在项目中需要获取到当前设备,例如手机的ID,联网状态,等,然后这个Cordova里有这个插件可以用, ...

随机推荐

  1. Oracle存储过程(增、删、改)写法、oracle执行存储过程

    Oracle存储过程(增.删.改)写法 发布时间: 2010-3-24 11:07    作者: ZHF    来源: 51Testing软件测试网采编 字体:  小  中  大  | 上一篇 下一篇 ...

  2. luogu 3371 【模板】单源最短路径

    我太菜了 今天才学会堆优化的dij #include<iostream> #include<cstdio> #include<algorithm> #include ...

  3. 【HDU 3652】 B-numbers

    [题目链接] 点击打开链接 [算法] 数位DP f[i][j][k][l]表示i位数,第一位为j,除以13的余数为k,是/否包括子串“13”的方案数 当然,我们也可以先打表,然后,对于每次询问,二分即 ...

  4. 4.7.3 Canonical LR(1) Parsing Tables

    4.7.3 Canonical LR(1) Parsing Tables We now give the rules for constructing the LR(1) ACTION and GOT ...

  5. 洛谷 P1314 聪明的质监员 —— 二分

    题目:https://www.luogu.org/problemnew/show/P1314 显然就是二分那个标准: 当然不能每个区间从头到尾算答案,所以要先算出每个位置被算了几次: 不知为何自己第一 ...

  6. 洛谷P1514 引水入城——dfs

    题目:https://www.luogu.org/problemnew/show/P1514 搜索+DP: 自己想出来的方法第一次80分好高兴! 再改了改就A了,狂喜乱舞: 也就是 dfs,仔细一想第 ...

  7. Could not find modernizr-2.6.2 in any of the sources GitLab: API is not accessible

    Could not find modernizr-2.6.2 in any of the sources GitLab: API is not accessible bundle exec rake ...

  8. ssm lodop打印图片不显示

    在打印预览的时候图片就是不显示 最终解决方案就是修改过滤器

  9. 367 Valid Perfect Square 有效的完全平方数

    给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False.注意:不要使用任何内置的库函数,如  sqrt.示例 1:输入: 16输出: True示例 ...

  10. Quartz.Net学习笔记(2)-简介

    一.Quartz.Net是什么 1.来源 Quartz.Net是一个开源的作业调度框架: 2.下载地址 官网地址:http://www.quartz-scheduler.net/documentati ...