System.getenv("USERNAME")System.getenv("USERDOMAIN")
它常和System.getProperties()配合使用,它们的区别是:
从概念上讲,系统属性 和环境变量 都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给 Java 进程。环境变量产生更多的全局效应,因为它们不仅对Java 子进程可见,而且对于定义它们的进程的所有子进程都是可见的。在不同的操作系统上,它们的语义有细微的差别,比如,不区分大小写。因为这些原因,环境变量更可能有意料不到的副作用。最好在可能的地方使用系统属性。环境变量应该在需要全局效应的时候使用,或者在外部系统接口要求使用环境变量时使用(比如 PATH)。
Map<String, String>map = System.getenv()
String userName = map.get("USERNAME")// 获取用户名
String computerName = map.get("COMPUTERNAME")// 获取计算机名
String userDomain = map.get("USERDOMAIN")// 获取计算机域名
System.out.println("自定义变量getenv CONF_LOCATION:" +System.getenv("conf.location"))
System.out.println("操作系统的名称:"+System.getProperty("os.name"))
其它常用的属性参数如下:
java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java.vm.specification.vendor Java 虚拟机规范供应商 java.vm.specification.name Java 虚拟机规范名称 java.vm.version Java 虚拟机实现版本 java.vm.vendor Java 虚拟机实现供应商 java.vm.name Java 虚拟机实现名称 java.specification.version Java 运行时环境规范版本 java.specification.vendor Java 运行时环境规范供应商 java.specification.name Java 运行时环境规范名称 java.class.version Java 类格式版本号 java.class.path Java 类路径 java.library.path 加载库时搜索的路径列表 java.io.tmpdir 默认的临时文件路径 java.compiler 要使用的 JIT 编译器的名称 java.ext.dirs 一个或多个扩展目录的路径 os.name 操作系统的名称 os.arch 操作系统的架构 os.version 操作系统的版本 file.separator 文件分隔符(在 UNIX 系统中是“/” ) path.separator 路径分隔符(在 UNIX 系统中是“:” ) line.separator 行分隔符(在 UNIX 系统中是“/n” ) user.name 用户的账户名称 user.home 用户的主目录 user.dir 用户的当前工作目录
1.得到当前工程的根路径,代码如下
String path = request.getContextPath()2.得到登录的计算机域名,如果没有域名就得到IP
request.getRemoteHost()3.得到登录计算机的IP
request.getRemoteAddr()方法1:正则(http://)或者(https://)开头
往后面匹配三个点,
不会的话百度一波。
然后把最后的点去掉
就可以得到域名
方法2:
将URL字符串转换为charArray
遍历 对.(点)的次数进行记数
第三次当前返回下标
用SubString切割字符串获取域名
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)