RNALfod rodar em aplicação JSP [RESOLVIDO]

1. RNALfod rodar em aplicação JSP [RESOLVIDO]

Maria
maryjanexique

(usa Ubuntu)

Enviado em 12/08/2013 - 20:48h

AMIGOS,

GOSTARIA DE UMA AJUDA E VOCÊS.

ESTOU TENTANDO UTILIZAR UM COMANDO DO SISTEMA QUE TA INSTALADO NO LINUX EM MEU SERVIDOR TOMCATE LOCAL PELO NETBEANS

O COMANDO É RNALfod para mapeamento genético

e pela pagina estou executando assim mas, não traz nenhum dado
Runtime.getRuntime().exec("RNALFOD");

eu testei assim também
Runtime.getRuntime().exec("java -version");

e também não funcionou ???

O QUE SERIA ? ALGUÉM PODERIA ME AJUDAR


  


2. Re: RNALfod rodar em aplicação JSP [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 12/08/2013 - 21:51h

Algum dado ele pode estar trazendo,

Mais o problema é que vc não está printando ele.

Tente assim:

System.out.println("Resultado do comando: " + Runtime.getRuntime().exec("RNALFOD");

Abs.




3. Esqueci de avisar !!!

Maria
maryjanexique

(usa Ubuntu)

Enviado em 13/08/2013 - 11:26h

Eu to utilizando um classe que eu própria implementei para imprimir o conteúdo que seria essa:
Só o método:
public String getExecuteResponse(String command) throws IOException, InterruptedException {
String _return = "";
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);
}
bF.clone();
iS.close();
pS.destroy();
return _return;
}
mesmo assim não aparece nada com o comando RNALfod que é uma aplicação instalada no linux pelo site: http://www.tbi.univie.ac.at/RNA/index.html

Eu to achando que o Tomcat não deixa utilizar isso sem permissão como fazer isso funcionar com permissão (se for permissão)?

Quando executo esse comando com um simples ls -la funciona!!!


filippec escreveu:

Algum dado ele pode estar trazendo,

Mais o problema é que vc não está printando ele.

Tente assim:

System.out.println("Resultado do comando: " + Runtime.getRuntime().exec("RNALFOD");

Abs.






4. Re: RNALfod rodar em aplicação JSP [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 13/08/2013 - 11:32h

maryjanexique escreveu:

Eu to utilizando um classe que eu própria implementei para imprimir o conteúdo que seria essa:
Só o método:
public String getExecuteResponse(String command) throws IOException, InterruptedException {
String _return = "";
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);
}
bF.clone();
iS.close();
pS.destroy();
return _return;
}
mesmo assim não aparece nada com o comando RNALfod que é uma aplicação instalada no linux pelo site: http://www.tbi.univie.ac.at/RNA/index.html

Eu to achando que o Tomcat não deixa utilizar isso sem permissão como fazer isso funcionar com permissão (se for permissão)?

Quando executo esse comando com um simples ls -la funciona!!!


filippec escreveu:

Algum dado ele pode estar trazendo,

Mais o problema é que vc não está printando ele.

Tente assim:

System.out.println("Resultado do comando: " + Runtime.getRuntime().exec("RNALFOD");

Abs.






Execute na mão o comando RNAFod, mas mesmo que se não tivesse funcionando ele deveria pelo menos retornar um erro de "command not found".

Execute um ls -la ao invés di RNAFod dentro da classe java.


Se não der certo me mande a classe que eu vejo o que pode estar errado.


Abs.


5. Já o fiz!!!

Maria
maryjanexique

(usa Ubuntu)

Enviado em 13/08/2013 - 12:39h

Já fiz esses testes que você pediu bem antes de mandar esse post!

Um comando ls -l funciona!
Um comando RNAlfold funciona somente via termina, pela aplicação web ele não executa nada
Um comando java -version pela aplicação web também não funciona

Creio que a partir de tudo isso ou falta permissão ou não tem como?


6. Re: RNALfod rodar em aplicação JSP [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 13/08/2013 - 12:44h

permissão acho que não, mais verifique se o usuário que você executa no prompt é o mesmo usuário que executa o tomcat.
Para saber se funciona, drope para o prompt do mesmo usuário que executa o tomcat.
Ex: su - tomcat (executado como root)

se o usuário for o mesmo,

tente usar o caminho absoluto, ex: /usr/java/default/bin/java -version.
Para saber onde está o binário do comando use o "whereis"
Ex: whereis java




7. complicado

Maria
maryjanexique

(usa Ubuntu)

Enviado em 13/08/2013 - 13:09h

Fiz os testes no terminal vai certinho (inclusive com os usuários),
mas, no netbeans rodando tomcat com JSP não funciona!!!
????????????????


filippec escreveu:

permissão acho que não, mais verifique se o usuário que você executa no prompt é o mesmo usuário que executa o tomcat.
Para saber se funciona, drope para o prompt do mesmo usuário que executa o tomcat.
Ex: su - tomcat (executado como root)

se o usuário for o mesmo,

tente usar o caminho absoluto, ex: /usr/java/default/bin/java -version.
Para saber onde está o binário do comando use o "whereis"
Ex: whereis java






8. Re: RNALfod rodar em aplicação JSP [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 13/08/2013 - 14:08h

maryjanexique escreveu:

Fiz os testes no terminal vai certinho (inclusive com os usuários),
mas, no netbeans rodando tomcat com JSP não funciona!!!
????????????????


filippec escreveu:

permissão acho que não, mais verifique se o usuário que você executa no prompt é o mesmo usuário que executa o tomcat.
Para saber se funciona, drope para o prompt do mesmo usuário que executa o tomcat.
Ex: su - tomcat (executado como root)

se o usuário for o mesmo,

tente usar o caminho absoluto, ex: /usr/java/default/bin/java -version.
Para saber onde está o binário do comando use o "whereis"
Ex: whereis java





Algum tempo fiz um método parecido, porém não executei dentro do JSP.
Você pode fazer assim:

Faz o JSP que que chama a função que executa o comando, Assim:

JSP:
<%
ExecuteCommand ec = new ExecuteCommand();
BufferedReader Resultset = ec.doWork(parm);
if (null != Resultset) {
String line;
out.println("<h4>" + parm + " output</h4>");
try {
while ((line = Resultset.readLine()) != null) {
out.println(line + "</br>");
}
} catch (IOException e) {
e.printStackTrace();
}
out.println("<p>Finished</p>");
} else {
out.print("<p>Command " + parm + " failed!!!</p>");
}
out.println("</body></html>");
out.close();
}
%>

public class ExecuteCommand {
public BufferedReader doWork(String command) {
BufferedReader Resultset = null;
if (command == null) {
return Resultset;
}
Process Findspace = null;
try {
Findspace = Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();
return Resultset;
}

Resultset = new BufferedReader(new InputStreamReader(Findspace.getInputStream()));
return Resultset;
}
}


Este exemplo fiz utilizando servlet, mas com jsp não é muito diferente, só é preciso adaptar.




9. Fico na mesma!

Maria
maryjanexique

(usa Ubuntu)

Enviado em 14/08/2013 - 19:13h

Caraca não achava que ia ser tão dificil!

Amigo não deu certo também mas, o seu código é bem parecido mas, teste e não rolou!

Acontece que quando coloco ls -la funciona dentro do jsp!

Agora quando coloco por exemplo java -version não aparece o resultado e também quando coloco RNALfod deveria sair um output inclusive nesse último trava o navegador na mesma tela e fica processo infinito!

Bom esses testes eu já havia feito e também sem sucesso

o que será ??? (Não funciona mesmo)

Maria


10. Re: RNALfod rodar em aplicação JSP [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 17/08/2013 - 13:33h

Mande o fonte para mim. :)

Se for maven mande o projeto com o pom. :)

spolti@hrstatus.com.br


11. Não deu certo também

Maria
maryjanexique

(usa Ubuntu)

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

Não deu certo...

maryjanexique escreveu:

Caraca não achava que ia ser tão dificil!

Amigo não deu certo também mas, o seu código é bem parecido mas, teste e não rolou!

Acontece que quando coloco ls -la funciona dentro do jsp!

Agora quando coloco por exemplo java -version não aparece o resultado e também quando coloco RNALfod deveria sair um output inclusive nesse último trava o navegador na mesma tela e fica processo infinito!

Bom esses testes eu já havia feito e também sem sucesso

o que será ??? (Não funciona mesmo)

Maria






  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts