(1), request.getRealPath ("/"); // Не рекомендуется использовать корневой путь проекта для получения проекта
(2), request.getRealPath (request.getRequesturi ()); // Получить путь к JSP. Этот метод проще в использовании и может использоваться непосредственно в сервлетах и JSP
(3), request.getSession (). GetServletContext (). GetRealPath ("/"); // Получить корневой путь проекта. Этот метод проще в использовании и может быть использован непосредственно в сервлете и JSP
(4), this.getClass (). GetClassloader (). GetResource (""). GetPath (); // Получить путь под классами проекта. Этот метод может использоваться в любых файлах JSP, Servlet и Java, потому что независимо от того, что это JSP, сервлет, на самом деле являются программами Java и все являются классами. Так что это должен быть общий подход.
0. об абсолютных и относительных путях
1. Понимание основных понятий Абсолютный путь: абсолютный путь - это реальный путь файла или каталога на вашей домашней странице на жестком диске (URL и физический путь). Например: C: xyz est.txt представляет абсолютный путь файла test.txt. http://www.sun.com/index.htm также представляет собой абсолютный путь URL. Относительный путь: путь относительно определенного контрольного каталога. Содержит относительный путь Интернета (относительный каталог в HTML), например: в сервлете »/« представляет каталог веб -приложения. и относительное представление физического пути. Например: "./" представляет текущий каталог "../" представляет предыдущий каталог. Это аналогичное представление также принадлежит относительному пути. Кроме того, для URI, URL, URN и т. Д., Пожалуйста, обратитесь к стандартам документации, связанных с RFC. RFC 2396: унифицированные идентификаторы ресурсов (URI): общий синтаксис, (http://www.ietf.org/rfc/rfc2396.txt) 2. Относительно относительных и абсолютных путей в JSP/сервлетах. 2.1 Адрес на стороне сервера Относительный адрес на стороне сервера относится к адресу вашего веб-приложения. Этот адрес проанализирован на стороне сервера (в отличие от относительных адресов в HTML и JavaScript, они проанализированы клиентским браузером)
1. request.getRealpath
Метод: request.getRealpath ("/")
Полученный путь: C:/Program Files/Apache Software Foundation/Tomcat 5.5/WebApps/strutStest/
Метод: request.getRealpath (".")
Полученный путь: C:/Program Files/Apache Software Foundation/Tomcat 5.5/WebApps/StrutStest/.
Метод: request.getRealpath ("" ")
Полученный путь: C:/Program Files/Apache Software Foundation/Tomcat 5.5/WebApps/StrutStest
request.getRealpath ("web.xml")
C:/Program Files/Apache Software Foundation/Tomcat 5.5/WebApps/StrutStest/web.xml
2. request.getParameter ("");
ActionForm.getMyFile ();
Метод: string filePath = request.getParameter ("myfile");
Полученный путь: D:/VSS Установка Directory/users.txt.txt
Метод: string filePath = actionForm.getMyFile ();
Полученный путь: D:/VSS Установка Directory/users.txt.txt
------------------------------------------------------
StrutStest - это название проекта
MyFile в ActionForm, частная строка MyFile;
На странице JSP: <html: file property = "myfile"> </html: file>
------------------------------------------------------
3. Получить системный путь
В приложении:
System.getProperty ("user.dir")
В сервлете:
ServletContext servletContext = config.getServletContext ();
String rootpath = servletContext.getRealPath ("/");
В JSP:
Application.getRealPath ("")
4. Другое 1
1. Это может быть в методе сервлета init
String path = getServletContext (). GetRealPath ("/");
Это получит полный путь к веб -проекту
Например: E:/eclipsem9/Workspace/Tree/
Дерево является корневым каталогом моего веб -проекта
2. Вы также можете позвонить в любой класс в любое время
this.getClass (). getClassloader (). getResource (""). getPath (); // после тестирования этот метод безопасен и наиболее эффективен
this.getClass (). getResource ("/conf"). getPath (); // После тестирования этот метод также безопасен
Это получит полный путь к каталогу классов
Например:/d:/workspace/strutStest/webroot/web-inf/classes/classe/
Также есть это. GetClass (). GetResource ("" "). GetPath (). ToString ();
Это получит/d:/workspace/strutStest/webroot/web-inf/classes/bl/
Этот метод также может быть использован без определения пути в веб -среде.
3.Request.getContextPath ();
Получите контекстную среду root Web
Как /дерево
Дерево является корневым контекстом моего веб -проекта
5. Другое 2
Несколько способов получить пути в Java - -
1. Как JDK определяет путь в программе? Как правило, при программировании пути файлов делятся на относительные пути и абсолютные пути. Абсолютные пути легче справиться, но они не являются гибкими. Поэтому, когда мы работаем с файлами в программировании, мы обычно читаем относительные пути файла.
Относительный путь может быть немного сложнее, но он также относительно прост. Относительным путем, в основном относительно того, к кому может быть путь загрузчика класса или путь в текущем файле Java. В программировании JSP это может быть путь сайта. По сравнению с пути сайта мы можем использовать GetServletContext (). GetRealPath ("/") и request.getRealpath ("/"): это абсолютный путь для получения сайта; и getContextPath (): получить виртуальный путь сайта;
2. class.getClassloader.getPath (): Получить путь к загрузке класса: что такое загрузчик класса? Как правило, загрузчики классов определяются системой и самими пользователями; Загрузчик системы предоставляется JDK, а ее путь - это путь в соответствии с JDK или в программировании JSP, таком как Tomcat, расположение полученного классового погрузчика - это путь погрузчика, разработанного Tomaca.
После понимания их, операция путей файла будет довольно ясной. Когда мы программируем, нам просто нужно выяснить, какой путь, который мы работаем, относится к относительному пути.
6. Резюме
1. Получите путь к файлу под веб -сервером
request.getRealpath ("/")
Application.getRealPath ("") 【JSP】
ServletContext (). GetRealPath ("")
System.getProperty ("user.dir") [называется в разных местах, полученный путь динамически изменяется]
2. Получите местный путь
В JSP, <html: file property = "myfile"/>
request.getParameter ("myfile");
ActionForm.getMyFile ();
Полученное значение одинаково: например, D:/vss Installation Directory/users.txt
*************************************
this.getClass (). getClassloader (). getResource (""). getPath ();
==/D:/Workspace/StrutStest/WebRoot/Web-Inf/Classes/
this.getClass (). getResource ("" "). getPath (). toString ();
==/D:/Workspace/StrutStest/WebRoot/Web-Inf/Classes/BL/
3. Получите относительный путь
request.getContextPath ();
кроме того:
GetResource или GetResourCeasStream доступны в файлах Java
Пример: getClass (). GetResourCeasStream (filePath); // FILEPATH может быть «/filename», здесь/представляет путь по умолчанию Web-Inf/классов в рамках Publishing Root Path: Web-Inf/Classes. Он был протестирован в Tomcat.
Вышеуказанные различные методы (резюме) полученных путей Java - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.