Executar comandos via prompt em Pagina .Jsp

1. Executar comandos via prompt em Pagina .Jsp

Maria
maryjanexique

(usa Ubuntu)

Enviado em 20/08/2013 - 17:49h

Amigos,

Meu nome é Maria,

Estou tentando fazer um projeto mas, me esbarrei no seguinte cenário!

o comando tem que ser executado dentro da página .Jsp dentro do servidor Glassfish
mas, não está trazendo dados!

Exemplo:

/////////////////////////*******************/////////////////////////////
String _return = "";
String command = "/usr/bin/java -version";
Process pS = Runtime.getRuntime().exec(command);
pS.waitFor();
InputStream iS = pS.getInputStream();
byte[] bF = new byte[4096]; // buffer de 4KB
int lidos = -1;
while ((lidos = iS.read(bF, 0, bF.length)) != -1) {
_return += new String(bF, 0, lidos);
}
out.println(_return);
/////////////////////////*******************/////////////////////////////


Ele deveria imprimir dentro da página um resultado mais ou menos assim:
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

mas, pelo navegador rodando glassfish não traz nada, somente traz algo quando é
executado pelo terminal do usuário


Existe alguma forma de fazer o glassfish executar esse comando via página .Jsp?


Maria






  


2. Re: Executar comandos via prompt em Pagina .Jsp

Filippe
spolti

(usa Fedora)

Enviado em 22/08/2013 - 14:11h

Olá, antes de continuarmos, feche o outro tópico que vc abriu ou feche este, tanto faz;


Pedi que vc me enviasse o fonte desta aplicação tua para eu testar aqui e fazer o diagnóstico para apontar o erro, se estiver errado.

caso ainda necessite de ajuda, segue meu email para vc me enviar seu projeti.

spolti@hrstatus.com.br

.


3. Re: Executar comandos via prompt em Pagina .Jsp

Filippe
spolti

(usa Fedora)

Enviado em 27/08/2013 - 11:24h

Decobri o Problema.

Não sei por que, mas o comando java -version quando executado no contexto java é retornado para o ErrorStream.
Então tu tem que fazer um if tipo assim:

public BufferedReader doWork(String command) {
BufferedReader Resultset = null;
if (command == null) {
return Resultset;
}
Process Findspace = null;
try {
Findspace = Runtime.getRuntime().exec(command);

if (Findspace.getInputStream().read() != -1) {
Resultset = new BufferedReader(new InputStreamReader(
Findspace.getInputStream()));

} else if (Findspace.getInputStream().read() == -1) {
Resultset = new BufferedReader(new InputStreamReader(
Findspace.getErrorStream()));
}
return Resultset;
} catch (IOException e) {
e.printStackTrace();
return Resultset;
}
}

Testei com tomcat, jboss, wildfly e glassfish, :)


4. Help

Maria
maryjanexique

(usa Ubuntu)

Enviado em 11/09/2013 - 12:36h

Ninguém pode me ajudar?



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts