最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java獲取web容器地址的方法

 更新時間:2013年04月17日 16:44:42   作者:  
java獲取web容器地址的方法,需要的朋友可以參考一下

tomcat本地地址 E:\soft4develop\apache-tomcat-6.0.18

System.getProperty("user.dir")//E:\soft4develop\apache-tomcat-6.0.18\bin
System.getProperty("catalina.home")//E:\soft4develop\apache-tomcat-6.0.18對于jboss同樣適用。其他容器未做測試。

說道這里,正好有朋友在群里頭問了個問題,情景式這樣的

登陸需要用Https來做請求,登陸成功后,剩下的其他請求全部走http.

比如http://www.fzitv.net/admin/user_manager.apsx

發(fā)現(xiàn)這個不需要走Https,就轉(zhuǎn)發(fā)到

http://www.fzitv.net/admin/user_manager.apsx

問題來了

request.getServerPort() 只能獲取https時的port1端口

那如何獲取port2端口呢。

通過上面的方式可以獲取到tomact的路徑,在通過下面xml的xpath來獲取到

tomcat的server.xml中的端口配置拼接,來實現(xiàn)。

獲取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()中的字符串參數(shù)如下:

System.getProperty()參數(shù)大全
# 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("..")兩種路徑有所區(qū)別。

復制代碼 代碼如下:

# 對于getCanonicalPath()函數(shù),“."就表示當前的文件夾,而”..“則表示當前文件夾的上一級文件夾
# 對于getAbsolutePath()函數(shù),則不管”.”、“..”,返回當前的路徑加上你在new File()時設定的路徑
# 至于getPath()函數(shù),得到的只是你在new File()時設定的路徑

比如當前的路徑為 C:\test :
File directory = new File("abc");
directory.getCanonicalPath(); //得到的是C:\test\abc
directory.getAbsolutePath();    //得到的是C:\test\abc
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();                    //得到的是..

相關(guān)文章

  • Java封裝數(shù)組之改進為泛型數(shù)組操作詳解

    Java封裝數(shù)組之改進為泛型數(shù)組操作詳解

    這篇文章主要介紹了Java封裝數(shù)組之改進為泛型數(shù)組操作,結(jié)合實例形式詳細分析了Java封裝數(shù)組為泛型數(shù)組相關(guān)原理、操作技巧與注意事項,需要的朋友可以參考下
    2020-03-03
  • MyBatis中的collection兩種使用方法及效率比較

    MyBatis中的collection兩種使用方法及效率比較

    collection主要是應對表關(guān)系是一對多的情況,本文主要介紹了MyBatis中的collection兩種使用方法及效率比較,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Java中覆蓋finalize()方法實例代碼

    Java中覆蓋finalize()方法實例代碼

    這篇文章主要介紹了Java中覆蓋finalize()方法實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 深入理解Java高級特性——注解

    深入理解Java高級特性——注解

    這篇文章主要介紹了Java高級特性——注解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 實體類使用@Builder,導致@ConfigurationProperties注入屬性失敗問題

    實體類使用@Builder,導致@ConfigurationProperties注入屬性失敗問題

    這篇文章主要介紹了實體類使用@Builder,導致@ConfigurationProperties注入屬性失敗問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java OkHttp框架源碼深入解析

    Java OkHttp框架源碼深入解析

    okhttp是一個第三方類庫,用于android中請求網(wǎng)絡。這是一個開源項目,是安卓端最火熱的輕量級框架,由移動支付Square公司貢獻(該公司還貢獻了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache HttpClient
    2022-08-08
  • JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù)

    JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù)

    本文主要介紹了 JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Springmvc獲取前臺請求數(shù)據(jù)過程解析

    Springmvc獲取前臺請求數(shù)據(jù)過程解析

    這篇文章主要介紹了Springmvc獲取前臺請求數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • java使用數(shù)組和鏈表實現(xiàn)隊列示例

    java使用數(shù)組和鏈表實現(xiàn)隊列示例

    隊列是一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,只允許在表的后端(rear)進行插入操作,下面介紹一下java使用數(shù)組和鏈表實現(xiàn)隊列的示例
    2014-01-01
  • Spring Boot數(shù)據(jù)庫鏈接池配置方法

    Spring Boot數(shù)據(jù)庫鏈接池配置方法

    這篇文章主要介紹了Spring Boot數(shù)據(jù)庫鏈接池配置方法,需要的朋友可以參考下
    2017-04-04

最新評論

漳浦县| 宁都县| 葫芦岛市| 千阳县| 三门县| 溧水县| 太和县| 黄平县| 竹山县| 潜江市| 隆安县| 九江市| 灌云县| 论坛| 英吉沙县| 陕西省| 延川县| 鱼台县| 五大连池市| 密山市| 公主岭市| 古蔺县| 南康市| 临邑县| 珲春市| 张掖市| 方正县| 沙坪坝区| 济宁市| 大竹县| 鸡东县| 乐业县| 闵行区| 思南县| 阳山县| 安徽省| 阿克陶县| 廊坊市| 顺昌县| 鹤峰县| 城固县|