




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java 通过System.getProperties()获取系统参数1.java的System.getProperty()方法可以获取的值 java.versionJava 运行时环境版本java.vendorJava 运行时环境供应商java.vendor.urlJava 供应商的 URLjava.homeJava 安装目录java.vm.specification.versionJava 虚拟机规范版本java.vm.specification.vendorJava 虚拟机规范供应商Java 虚拟机规范名称java.vm.versionJava 虚拟机实现版本java.vm.vendorJava 虚拟机实现供应商Java 虚拟机实现名称java.specification.versionJava 运行时环境规范版本java.specification.vendorJava 运行时环境规范供应商Java 运行时环境规范名称java.class.versionJava 类格式版本号java.class.pathJava 类路径java.library.path加载库时搜索的路径列表java.io.tmpdir默认的临时文件路径piler要使用的 JIT 编译器的名称java.ext.dirs一个或多个扩展目录的路径操作系统的名称os.arch操作系统的架构os.version操作系统的版本file.separator文件分隔符(在 UNIX 系统中是“/”)path.separator路径分隔符(在 UNIX 系统中是“:”)line.separator行分隔符(在 UNIX 系统中是“/n”)用户的账户名称user.home用户的主目录user.dir用户的当前工作目录2.java 通过System.getProperties()获取系统参数 Properties props=System.getProperties(); /系统属性System.out.println(Java的运行环境版本:+props.getProperty(java.version);System.out.println(Java的运行环境供应商:+props.getProperty(java.vendor);System.out.println(Java供应商的URL:+props.getProperty(java.vendor.url);System.out.println(Java的安装路径:+props.getProperty(java.home);System.out.println(Java的虚拟机规范版本:+props.getProperty(java.vm.specification.version);System.out.println(Java的虚拟机规范供应商:+props.getProperty(java.vm.specification.vendor);System.out.println(Java的虚拟机规范名称:+props.getProperty();System.out.println(Java的虚拟机实现版本:+props.getProperty(java.vm.version);System.out.println(Java的虚拟机实现供应商:+props.getProperty(java.vm.vendor);System.out.println(Java的虚拟机实现名称:+props.getProperty();System.out.println(Java运行时环境规范版本:+props.getProperty(java.specification.version);System.out.println(Java运行时环境规范供应商:+props.getProperty(java.specification.vender);System.out.println(Java运行时环境规范名称:+props.getProperty();System.out.println(Java的类格式版本号:+props.getProperty(java.class.version);System.out.println(Java的类路径:+props.getProperty(java.class.path);System.out.println(加载库时搜索的路径列表:+props.getProperty(java.library.path);System.out.println(默认的临时文件路径:+props.getProperty(java.io.tmpdir);System.out.println(一个或多个扩展目录的路径:+props.getProperty(java.ext.dirs);System.out.println(操作系统的名称:+props.getProperty();System.out.println(操作系统的构架:+props.getProperty(os.arch);System.out.println(操作系统的版本:+props.getProperty(os.version);System.out.println(文件分隔符:+props.getProperty(file.separator); /在 unix 系统中是System.out.println(路径分隔符:+props.getProperty(path.separator); /在 unix 系统中是:System.out.println(行分隔符:+props.getProperty(line.separator); /在 unix 系统中是/nSystem.out.println(用户的账户名称:+props.getProperty();System.out.println(用户的主目录:+props.getProperty(user.home);System.out.println(用户的当前工作目录:+props.getProperty(user.dir);3.用Java编写通过代理访问的应用程序 本技巧将向您讲述如何编写可通过代理访问因特网上的Web服务器的Java应用程序。在Java应用程序中加入代理支持只需额外编写几行代码,且不依赖任何安全性“漏洞”。将Java和代理结合起来的秘诀即在Java运行时激活特定的系统属性。这些属性未被写入正式文件,只是作为Java传说的一部分在Java编程人员中秘传。为了支持代理,Java应用程序不仅需要指定代理本身的信息,而且需要指定用于认证的用户信息。在开始使用网际协议之前,您需要在程序中添加以下几行代码:/通知Java您要通过代理进行连接System.getProperties().put(proxySet,true);/指定代理所在的服务器System.getProperties().put(proxyHost,myProxyMachineName);/指定代理监听的端口System.getProperties().put(proxyPort,85); 有些代理在授权用户访问因特网之前,要求用户输入用户名和口令。如果您使用位于防火墙之内的Web浏览器,您就可能碰到过这种情况。以下是执行认证的方法:URLConnectionconnection=url.openConnection();String password=username:password;String encodedPassword=base64Encode(password);connection.setRequestProperty(Proxy-Authorization,encodedPassword); 这段代码的思想是,您必须调整HTTP标头以发出用户信息。这是通过调用setRequestProperty()来实现的。这种方法允许您在发出请求之前处理HTTP标头。HTTP要求用base64对用户名和口令进行编码。幸运的是,有一组公用域API,它们将代您执行编码(请参阅参考资源部分)。如您所见,在Java应用程序中加入代理支持并不需要做多少工作。有了现在的知识,再做一点研究(您必须查明您的代理是如何处理您感兴趣的协议以及如何进行用户认证的),您就能用其他协议实现代理。 HTTP代理:(例子)Properties props = System.getProperties(); props.put(xyHost, 50); props.put(xyPort, 808);FTP代理ScottD.Taylor提出这个秘诀来处理FTP协议代理:defaultProperties.put(ftpProxySet,true);defaultProperties.put(ftpProxyHost,proxy-host-name);defaultProperties.put(ftpProxyPort,85); 接下来您便可以通过以下代码使用ftp协议访问文件URL:URLurl=newURL(/pub/navigator/3.04/windows/readme.txt); 如果有人有使用其他网际协议代理的例子,我很想看看。注意:代码示例(Example.java)仅在JDK1.1.4下测试过。后续技巧!对于仍在使用JDK1.1.7(配合WebSphere3.0)的开发人员而言,将proxyHost和proxyPort设为系统属性不起作用;conn.getInputStream()或者返回连接超时,或者是找不到主机路径。但是,我使用接受Host和Port为参数的URL构造函数解决了这一问题(使用我的代理主机和端口):publicURL(Stringprotocol,Stringhost,int port,Stringfile). 借助用户名和口令进行认证的方法不起作用。应将Basic置于认证字符串的开头;例如:StringencodedPassword=base64Encode(password); 应该是:StringencodedPassword=Basic+base64Encode(password); 您也不必用一个单独的程序来进行64位编码。您可以使用sun.misc.BASE64Encoder()类。下面是完成这两处改动之后的代码:System.getProperties().put(proxySet,true);System.getProperties().put(proxyHost,proxyHost);System.getProperties().put(proxyPort,proxyPort);StringauthString=userid:password;Stringauth=Basic+newsun.misc.BASE64Encoder().encode(authString.getBytes();URL url=newURL(/);URLConnectionconn=url.open
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金融AI伦理监管法规解读与合规策略优化
- 江苏省连云港市东海高级中学2025届高一化学第二学期期末复习检测模拟试题含解析
- 2025届黑龙江省哈尔滨市122中学高一化学第二学期期末质量检测试题含解析
- 2025届山东省青岛市黄岛区开发区致远中学高一下化学期末质量跟踪监视试题含解析
- 2025年中小学教案自然拼读2
- 2025至2030移动折叠纱门市场产业运行态势及投资规划深度研究报告
- 2025至2030餐饮行业发展趋势分析与未来投资战略咨询研究报告
- 2025届重庆市忠县三汇中学高一化学第二学期期末监测试题含解析
- 航空钣金与铆接技术 课件 项目二(2.1)金属材料基础
- 2025届四川省成都市双流区棠湖中学高二化学第二学期期末学业质量监测模拟试题含解析
- 高中数学试卷江苏真题及答案
- 水泥检测试题及答案
- 泰享懂你 康养友伴-2024年新康养需求洞察白皮书-华泰人寿
- 校长竞聘笔试题目及答案
- 2025-2030“一带一路”背景下甘肃省区域经济发展分析及投资前景报告
- 2025五级应急救援员职业技能精练考试题库及答案(浓缩400题)
- 反恐知识宣传主题班会
- 基础护理技能实训 课件 模块一项目四任务三血压的测量
- 贵州省2024年12月普通高中学业水平合格性考试数学试卷(含答案)
- 北京市西城区2022-2023学年三年级上学期英语期末试卷(含听力音频)
- 海洋机器人与人工智能知到智慧树章节测试课后答案2024年秋哈尔滨工程大学
评论
0/150
提交评论