Como “pegar” o código fonte de um JSP via Java?

3 respostas
L

Eu quero pegar o código fonte de uma JSP via Java. Receberei uma lista com a localização dos arquivos e com isto irei criar como saída um monte de .txt referente a cada JSP com o código fonte deles…
Tentei de várias maneiras pegar os dados e não consegui.

Tentei usar todas as classes File* e não consegui.
Também tentei usar a classe HTMLInputElement porém não consegui setar um HTML para usar então o método getSrc() da classe.

File file  = new File (c:\\meus documentos\\arquivos\\web\\index.jsp);

E agora? Seria a partir desta maneira?

Alguém poderia me ajudar com isto?

Obrigado

3 Respostas

rodrigo_gomes

Olá,

Você tentou ler como se fosse um arquivo texto comum como no exemplo desse artigo?
http://www.guj.com.br/java.tutorial.artigo.13.1.guj

L

Valew Rodrigo…
Na verdade eu tinha procurado no Forum alguma cois parecida…acabei achando este http://www.guj.com.br/posts/list/20431.java porem nao resolveu minha dúvida.
Vou dar uma lida no tópico que voce colocou ae…
valew

L

Bom galera, o que eu tinha que fazer era pegar a referência de vários arquivos(JSP), resgatar todos os fontes dele e jogar em uma outra base num campo CLOB.
Minha dúvida era como pegar os código fonte através do Java.
Dei uma lida no tutorial que tinha no Guj que o Rodrigo me passou e consegui fazer...
Ta aí o exemplo bem simples que fiz......

public class CodigoFonte {
	public static void main(String [] args) throws ClassNotFoundException, IOException
	{
		//Este é o arquivo que eu irei ler o código fonte.
		FileReader file = new FileReader("c:\\arquivos\\web\\jsp\\meuAquivoJSP.jsp");
		
		//A instância reader é que irá ler as linhas do meu arquivo através do método readLine().
		BufferedReader reader = new BufferedReader(file);
		
		//Este é a parte em que você irá criar um arquivo de saída que poderá ser escrito.......
		FileWriter arquivoNovo = new FileWriter("c:\\arquivos\\web\\jsp\\codigoFonte\\NOME_DO_ARQUIVO_SAIDA.*");
		
		//Este é a instância que irá escrever no seu arquivo de saída.
		PrintWriter  saida = new PrintWriter(arquivoNovo, true);
		
		
		//Esta String irá receber os valores de cada linha lida do reader.
		String linha = reader.readLine(); 
		//Criei esta String porque se for colocado o reader.readLine()dentro da condição do While, ele sempre irá 
		//imprimir as linhas "pares" ........ 
		//Exemplo: Se na JPS tiver 7 linhas com o conteúdo em cada linha : 
		//1º linha: teste 1
		//2º linha: teste 2
		//3º linha: teste 3
		//etc...
		//7º linha: teste 7
		/*
		 while(reader.readLine() != null)         
		 {
			System.out.println(reader.readLine());
		 } 
		 Se for ver este loop, ele irá ler a 1º linha na condição do while, irá imprimir a 2º linha.
		 Irá ler a 3º linha no While e imprimir a 4º linha ...e assim vai.....
		 Por isto foi criado uma String que irá receber os valores de cada linha e atribuir para cada objeto.
		 */ 
		
		//Verifica até o fim do arquivo
		while(linha != null)
		{
			System.out.println(linha);
			
			//Joga o valor lido no novo arquivo criado
			saida.println(linha);
			
			//Atribui novo valor para a String
			linha = reader.readLine();
		}
		
		file.close();
		reader.close();
		saida.close();
	
	}

}

Tem algumas besteiras e coisas q eu comentei que são descartados...
Mas ta ae.....
Valew

Criado 27 de julho de 2005
Ultima resposta 27 de jul. de 2005
Respostas 3
Participantes 2