(1), request.getRealPath ("/"); // não é recomendável usar o caminho raiz do projeto para obter o projeto
(2), request.getRealPath (request.getRequesturi ()); // Obtenha o caminho para JSP. Este método é mais fácil de usar e pode ser usado diretamente em servlets e jsp
(3), request.getSession (). GetServletContext (). GetRealPath ("/"); // Obtenha o caminho raiz do projeto. Este método é mais fácil de usar e pode ser usado diretamente no Servlet e JSP
(4), this . Esse método pode ser usado em arquivos JSP, Servlet e Java, porque não importa que seja JSP, servlet, são na verdade programas Java e são todas as classes. Portanto, deve ser uma abordagem geral.
0. Sobre caminhos absolutos e relativos
1. Compreendendo o caminho absoluto dos conceitos básicos: o caminho absoluto é o caminho real do arquivo ou diretório na sua página inicial no disco rígido (URL e caminho físico). Por exemplo: C: xyz est.txt representa o caminho absoluto do arquivo test.txt. http://www.sun.com/index.htm também representa um caminho de URL absoluto. Caminho relativo: o caminho em relação a um certo diretório de referência. Contém o caminho relativo da Web (diretório relativo em HTML), por exemplo: em um servlet "/" representa o diretório do aplicativo da web. e a representação relativa do caminho físico. Por exemplo: "./" representa o diretório atual "../" representa o diretório anterior. Essa representação semelhante também pertence ao caminho relativo. Além disso, para URI, URL, URN, etc., consulte os padrões de documentação relacionados à RFC. RFC 2396: Identificadores de recursos uniformes (URI): Sintaxe genérica, (http://www.ietf.org/rfc/rfc2396.txt) 2. Em relação aos caminhos relativos e absolutos em JSP/servlets. 2.1 Endereço do lado do servidor O endereço relativo do lado do servidor refere-se ao endereço do seu aplicativo da Web. Este endereço é analisado no lado do servidor (diferentemente dos endereços relativos em HTML e JavaScript, eles são analisados pelo navegador do cliente)
1. Request.getRealPath
Método: request.getRealPath ("/")
O caminho obtido: C:/Arquivos de programas/Apache Software Foundation/TomCat 5.5/WebApps/Strutstest/
Método: request.getRealPath (".")
O caminho obtido: C:/Arquivos de programas/Apache Software Foundation/Tomcat 5.5/webApps/strutstest/.
Método: request.getRealPath ("")
O caminho obtido: C:/Arquivos de programas/Apache Software Foundation/TomCat 5.5/WebApps/Strutstest
request.getRealPath ("web.xml")
C:/Arquivos de programas/Apache Software Foundation/Tomcat 5.5/WebApps/strutstest/web.xml
2. Request.getParameter ("");
ActionForm.getMyfile ();
Método: string filepath = request.getParameter ("myFile");
O caminho obtido: D:/VSS Diretório de instalação/usuários.txt
Método: String filepath = ActionForm.getMyfile ();
O caminho obtido: D:/VSS Diretório de instalação/usuários.txt
--------------------------------------------------------
Strutstest é o nome do projeto
myFile in ActionForm, String privada myFile;
Na página JSP: <html: FILE Property = "MyFile"> </html: File>
--------------------------------------------------------
3. Obtenha o caminho do sistema
No aplicativo:
System.getProperty ("user.dir")
Em servlet:
ServletContext servletContext = config.getServletContext ();
String rootpath = servletContext.getRealPath ("/");
Em JSP:
Application.getRealPath ("")
4. Outros 1
1. Pode estar no método init de servlet
String Path = getServletContext (). GetRealPath ("/");
Isso vai conseguir o caminho completo para o projeto da web
Por exemplo: e:/eclipsem9/workspace/árvore//árvore/
Árvore é o diretório raiz do meu projeto da web
2. Você também pode chamá -lo em qualquer classe a qualquer momento
this.getClass (). getClassLoader (). getResource (""). getPath (); // Após o teste, esse método é seguro e mais eficaz
this.getclass (). getResource ("/conf"). getPath (); // Após o teste, esse método também é seguro
Isso receberá o caminho completo para o diretório de classes
Por exemplo:/d:/workspace/strutstest/webroot/web-inf/classes/
Há também isso.getclass (). GetResource (""). GetPath (). ToString ();
Isso obterá/d:/workspace/strutstest/webroot/web-inf/classes/bl/
Este método também pode ser usado sem determinar o caminho no ambiente da web.
3.request.getContextPath ();
Obtenha o ambiente de contexto da raiz da web
Como /árvore
Árvore é o contexto raiz do meu projeto da web
5. Outros 2
Várias maneiras de obter caminhos em Java - -
1. Como o JDK determina o caminho no programa? Geralmente, na programação, os caminhos de arquivo são divididos em caminhos relativos e caminhos absolutos. Caminhos absolutos são mais fáceis de manusear, mas não são flexíveis. Portanto, quando operamos arquivos na programação, geralmente lemos os caminhos relativos do arquivo.
O caminho relativo pode ser um pouco mais complicado, mas também é relativamente simples. O caminho relativo, principalmente em relação a quem, pode ser o caminho do carregador de classe ou o caminho sob o arquivo Java atual. Na programação JSP, pode ser o caminho do site. Comparado com o caminho do site, podemos usar getServletContext (). GetRealPath ("/") e request.getRealPath ("/"): este é o caminho absoluto para obter o site; e getContextPath (): obtenha o caminho virtual do site;
2. Class.getClassLoader.getPath (): Pegue o caminho para o carregador de classe: O que é um carregador de classe? Geralmente, os carregadores de classe são definidos pelo sistema e pelos próprios usuários; O carregador de classe do sistema é fornecido pelo JDK, e seu caminho é o caminho do JDK, ou na programação JSP, como o Tomcat, a localização do carregador de classe obtida é o caminho do carregador projetado por Tomaca.
Depois de entender isso, a operação dos caminhos de arquivo será bastante clara. Quando estamos programando, só precisamos descobrir qual caminho o arquivo que estamos operando é relativo e obtendo o caminho relativo.
6. Resumo
1. Obtenha o caminho do arquivo no servidor da web
request.getRealPath ("/")
Application.getRealPath ("") 【JSP】
ServletContext (). GetRealPath ("")
System.getProperty ("user.dir") [chamado em diferentes locais, o caminho obtido é alterado dinamicamente]
2. Pegue o caminho local
Em jsp, <html: arquivo de arquivo = "myfile"/>
request.getParameter ("myFile");
ActionForm.getMyfile ();
O valor obtido é o mesmo: como D:/VSS Diretório de instalação/usuários.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. Pegue o caminho relativo
request.getContextPath ();
além disso:
GetResource ou GetResourceasStream está disponível em arquivos Java
Exemplo: getClass (). GetResourceasStream (filepath); // filepath pode ser "/nome do arquivo", aqui/representa o caminho padrão das classes web-inf/no Web Publishing Root Path: Web-Inf/Classes. Foi testado em Tomcat.
Os vários métodos acima (resumo) de Java obtenção de caminhos são todo o conteúdo que eu compartilho com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.