Ajuda para o TCC - Arquivio PDF

4 respostas
M

Bom dia galera, blz?

Estou em desenvolvimento com meu TCC para sistema via WEB usando JSP, Servlet e camadas…

As camadas são dividades em View, Controle, TO, Modelo e DAO. Cada camada, eu fiz um “package” dentro da pasta SRC criada pelo Eclipse.

A estrutura do Projeto está da seguinte forma:

-Projeto
–src
—Modelo
----Classe.java
–WebContant
—Arquivos
----Arquivo.pdf

Preciso que minha Classe.java, através do “java.io”, localize o Arquivo.pdf dentro da Pasta arquivo.

Segue o código abaixo:

public boolean localizarContrato(){
		InputStream isContrato = getClass().getResourceAsStream("../../WebContent/Arquivos/Contrato.pdf");	
		if(isContrato == null)
			return false;
		else
			return true;

	}

Fiz outras pesquisas e descobri que o comando “…/” “sobe” o diretório. Neste caso, eu estou “saindo” da pasta Modelo, depois da pasta SRC e entrando na WebContent, Arquivos e localizando o arquivo. Porém, a variável “isContrato” sempre retorna “null” dando ao entender que o arquivo não foi localizado.

Fiz o teste até com o Debug do Eclipse e na hora que ele cria a variável, já me mostra “null”

Como posso resolver isso?

4 Respostas

Java_Boy

É o seguinte,

quando voce roda uma aplicação web, ela fica dentro do diretorio de um servidor, então a estrutura para encontrar arquivos fica um pouco diferente, pois voce depende do contexto no qual seu servlet esteja rodando. Tente fazer isso:

Se voce estiver em uma operação de POST/GET ou algo que consiga uma HttpServletRequest, tente usar o metodo getRealPath(“caminhoArquivo”)

ou senao, voce pode usar do ServletContext que também tem uma getRealPath("file’), senao me engano essa é a melhor opção.

Dá uma pesquisada.

M

A.L., agradeço sua resposta.

Estou usando o método Post e o Servlet tem o HttpServletRequest e HttpServletResponse

Esses métdos que vc mencionou getRealPath(“caminhoArquivo”) e getRealPath("file’) eu colocaria ele dentro da camada VIEW, que seria a JSP ou da camada Controle aonde estão os Request e Response?

Java_Boy

mvergani:
A.L., agradeço sua resposta.

Estou usando o método Post e o Servlet tem o HttpServletRequest e HttpServletResponse

Esses métdos que vc mencionou getRealPath(“caminhoArquivo”) e getRealPath("file’) eu colocaria ele dentro da camada VIEW, que seria a JSP ou da camada Controle aonde estão os Request e Response?

Coloca na camada de Controle, em alguma classe que consiga manipular essas classes do Servlet que falei, aqueles scriplets nos JSP são desaconselháveis hoje em dia.

M

Coloquei na camada conrole da seguinte forma:

System.out.println(""+request.getRealPath(""));

E a resposta foi:

C:\Documents and Settings\ANALITICO\MeusDocumentos\Daniel\Faculdade\Projeto.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Projeto

!!!

Criado 1 de março de 2010
Ultima resposta 1 de mar. de 2010
Respostas 4
Participantes 2