java獲取伺服器目錄
㈠ java怎麼取出linux伺服器的文件路徑
java可以獲取當前項目的路徑, Class.class.getClass().getResource("/").getPath()
這個是有請求的專情況下,屬request.getSession().getServletContext().getRealPath("")
㈡ 如何通過Java代碼獲取tomcat伺服器的絕對路徑
基本概念的理解絕對路徑:絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑,(URL和物理路徑)例 如:C:xyz est.txt 代表了test.txt文件的絕對路徑。http://www.sun.com/index.htm也代表了一個URL絕對路徑。相對路徑:相對與某個基 准目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在Servlet中,"/"代表Web應用的跟目錄。和物理路徑的相對表示。例 如:"./" 代表當前目錄,"../"代表上級目錄。這種類似的表示,也是屬於相對路徑。另外關於URI,URL,URN等內容,請參考RFC相關文檔標准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.關於JSP/Servlet中的相對路徑和絕對路徑。 2.1伺服器端的地址伺服器端的相對地址指的是相對於你的web應用的地址,這個地址是在伺服器端解析的(不同於html和javascript中的相對 地址,他們是由客戶端瀏覽器解析的)
㈢ JAVA如何讀取伺服器上的文件夾
如果倆個伺服器都在內網裡面,可以通過映射到本地磁碟,然後用java直接讀取磁碟文件的方式進行讀取。如果不是,那麼你只能讓另一個伺服器以介面的方式提供文件讀取服務了。
㈣ 如何用Java獲取遠程伺服器中指定目錄下的所
網路一下ganymed,這個可以遠程連接Linux執行shell命令並獲取控制台輸出。或者可以使用socket簡單編寫一下,客戶內端請求伺服器,參容數是指定目錄,伺服器指定目錄下的目錄列表發送回客戶端。調用Linux命令行獲取效率比較高,直接來查效率低。
㈤ java怎麼獲取tomcat服務目錄
System.getProperty("catalina.home") ,Tomcat 安裝目錄,一般是用來查找庫 jar 的。
System.getProperty("catalina.base"),伺服器配置目錄,所有配置文件都在這里,你可以用一回個catalina.home 來啟答動兩個命令行來運行兩個不同的 catalina.base 配置(前提你已經修改了配置文件保證它們的埠不會沖突);
當在 eclipse 裡面運行時,多數情況下 cataline.home 還是 tomcat 目錄,而 catalina.base 是 eclipse workspace 裡面的一個目錄,你現在需要拿到的應該是工作時的配置目錄下的子目錄,所以你應該用 catalina.base 當成根目錄;比如,我想讀取 tomcat user 文件,得到的結果相當於 ${cataline.base}/conf/tomcat-users.xml
㈥ java 怎麼獲取伺服器webroot的路徑
使用JAVA後台代碼取得WEBROOT物理路徑,可以有如下兩種方式:
1、使用JSP Servlet取得WEB根路徑可以用request.getContextPath(),相對路徑request.getSession().getServletContext().getRealPath("/"),它們可以使用我們很容易取得根路徑。
2、如果使用了spring, 在WEB-INF/web.xml中,創建一個webAppRootKey的param,指定一個值(默認為webapp.root)作為鍵值,然後通過Listener,或者Filter,或者Servlet執行String webAppRootKey = getServletContext().getRealPath("/"); 並將webAppRootKey對應的webapp.root分別作為Key,Value寫到System Properties系統屬性中。之後在程序中通過System.getProperty("webapp.root")來獲得WebRoot的物理路徑。
具體示例代碼如下:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>csc2.root</param-value>
</context-param>
<listener>
<listener-class>test.ApplicationListener</listener-class>
</listener>
</web-app>
ApplicationListener.java
package test;
import javax.servlet.ServletContextEvent;
import org.springframework.web.context.ContextLoaderListener;
public class ApplicationListener extends ContextLoaderListener {
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent sce) {
// TODO Auto-generated method stub
String webAppRootKey = sce.getServletContext().getRealPath("/");
System.setProperty("csc2.root" , webAppRootKey);
String path =System.getProperty("csc2.root");
System.out.println("sssss:::"+path);
}
}
test.java
public class test {
public void remve(){
String path =System.getProperty("csc2.root");
System.out.println("result::::::::"+path);
}
}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="test.test" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
test t = new test();
t.remve();
%>
<html>
</html>
部署程序發布 啟動TOMCAT 運行index.jsp 就可以調用JAVA中全局設置的物理路徑了(說明這里的JSP 只是調用了TEST.JAVA 的remove方法,不做其他使用。原理解釋,TOMCAT啟動和讀取WEB.XML 監聽方式載入SPRING ApplicationListener繼承SPRING ContextLoaderListener載入SPRING順便吧全局路徑賦值給csc2.root 描述,這樣之後JAVA 代碼中就可以使用System.getProperty("csc2.root")調用全路路徑了。