Pegando o caminho completo do container web

Galera, o seguinte, quero fazer uns upload pruma aplicação num server.

O problema é que eu não consigo “pegar” o caminho até a aplicação.

Por exemplo,

String path = new File("").getAbsolutePath() + "\\webapps\\" + getServletContext().getServletContextName();
						
System.out.println("Path: " + path + "\\upload\\" + criptName + ".jpg" );

File uploadFile = new File( path + "\\upload\\" + criptName + ".jpg" );

Colocando webapps, o sistema salva onde eu quero.

Mas isso nao seria compatível, se eu usasse outro container, não sei qual é a pasta onde vao as aplicações, e isso não seria mto legal.

Se alguém puder me ajudar a descobrir, como pegar a pasta de aplicação do container, ficaria mto grato.

HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
String path = session.getServletContext().getRealPath("/");

[quote=reizin] HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false); String path = session.getServletContext().getRealPath("/"); [/quote]

de onde tu tirou que o cara tá usando JSF?

faz simples assim:

request.getRealPath("/")

boa sorte!

Valewww!! :smiley:

Lembrando que HttpServletRequest.getRealPath() está deprecated.
Uma solução seria usar o seguinte, dentro do servlet

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	    ServletContext context = getServletContext();
		String path = context.getRealPath("/");
	}