java获取web容器地址的方法

你大爷OkSr

你大爷OkSr

2016-02-19 10:32

下面图老师小编跟大家分享java获取web容器地址的方法,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

tomcat本地地址 E:soft4developapache-tomcat-6.0.18

System.getProperty("user.dir")//E:soft4developapache-tomcat-6.0.18bin
System.getProperty("catalina.home")//E:soft4developapache-tomcat-6.0.18对于jboss同样适用。其他容器未做测试。

说道这里,正好有朋友在群里头问了个问题,情景式这样的

登陆需要用Https来做请求,登陆成功后

问题来了

request.getServerPort() 只能获取https时的port1端口

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

那如何获取port2端口呢。

通过上面的方式可以获取到tomact的路径,在通过下面xml的xpath来获取到

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

tomcat的server.xml中的端口配置拼接,来实现。

获取tomcat端口的方法
代码如下:

 public static Integer getTomcatPortFromConfigXml(File serverXml) {
    Integer port;
    try {
       DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
       domFactory.setNamespaceAware(true); // never forget this!
       DocumentBuilder builder = domFactory.newDocumentBuilder();
       Document doc = builder.parse(serverXml);
       XPathFactory factory = XPathFactory.newInstance();
       XPath xpath = factory.newXPath();
       XPathExpression expr = xpath.compile
         ("/Server/Service[@name='Catalina']/Connector[count(@scheme)=0]/@port[1]");
       String result = (String) expr.evaluate(doc, XPathConstants.STRING);
       port =  result != null && result.length()  0 ? Integer.valueOf(result) : null;
    } catch (Exception e) {
      port = null;
    }
    return port;
 }

最后附带下System.ge
代码如下:

另外:System.getProperty()中的字符串参数如下:

System.getProperty()参数大全
# java.version                                Java Runtime Environment version
# java.vendor                                Java Runtime Environment vendor
# java.vendor.url                           Java vendor URL
# java.home                                Java installation directory
# java.vm.specification.version   Java Virtual Machine specification version
# java.vm.specification.vendor    Java Virtual Machine specification vendor
# java.vm.specification.name      Java Virtual Machine specification name
# java.vm.version                        Java Virtual Machine implementation version
# java.vm.vendor                        Java Virtual Machine implementation vendor
# java.vm.name                        Java Virtual Machine implementation name
# java.specification.version        Java Runtime Environment specification version
# java.specification.vendor         Java Runtime Environment specification vendor
# java.specification.name           Java Runtime Environment specification name
# java.class.version                    Java class format version number
# java.class.path                      Java class path
# java.library.path                 List of paths to search when loading libraries
# java.io.tmpdir                       Default temp file path
# java.compiler                       Name of JIT compiler to use
# java.ext.dirs                       Path of extension directory or directories
# os.name                              Operating system name
# os.arch                                  Operating system architecture
# os.version                       Operating system version
# file.separator                         File separator ("/" on UNIX)
# path.separator                  Path separator (":" on UNIX)
# line.separator                       Line separator ("n" on UNIX)
# user.name                        User's account name
# user.home                              User's home directory
# user.dir                               User's current working directory

File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。

代码如下:

# 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹
# 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径
# 至于getPath()函数,得到的只是你在new File()时设定的路径

比如当前的路径为 C:test :
File directory = new File("abc");
directory.getCanonicalPath(); //得到的是C:testabc
directory.getAbsolutePath();    //得到的是C:testabc
direcotry.getPath();                    //得到的是abc

File directory = new File(".");
directory.getCanonicalPath(); //得到的是C:test
directory.getAbsolutePath();    //得到的是C:test.
direcotry.getPath();                    //得到的是.

File directory = new File("..");
directory.getCanonicalPath(); //得到的是C:
directory.getAbsolutePath();    //得到的是C:test..
direcotry.getPath();                    //得到的是..

展开更多 50%)
分享

猜你喜欢

java获取web容器地址的方法

编程语言 网络编程
java获取web容器地址的方法

java中通过网卡名称获取IP地址

编程语言 网络编程
java中通过网卡名称获取IP地址

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java容器类的深入理解

编程语言 网络编程
Java容器类的深入理解

Java判断本机IP地址类型的方法

编程语言 公网ip 网络编程
Java判断本机IP地址类型的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java通过ip获取客户端Mac地址的小例子

编程语言 网络编程
java通过ip获取客户端Mac地址的小例子

Javascript获取地址参数

Web开发
Javascript获取地址参数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Windows 2000中的NTLM安全策略讲解

Windows 2000中的NTLM安全策略讲解

批量执行sql语句的方法

批量执行sql语句的方法
下拉加载更多内容 ↓