Eu estou fazendo um aplicativo que executa o compilador C padrão gcc, atraves de uma página web, mas gostaria de saber como faço para que o servlet saiba que houve sucesso e em caso de falha de compilação capture as linhas de erro de sintaxe?
Opa,
Vc vai usar o método exec da classe Runtime.
Onde vc coloca em forma de String o comando do compilador no caso, tipo … “make blablabla” ai esse método te retorna um objeto da classe Process, vendo os métodos dessa classe vemos alguns métodos, temos um de OutputStream que vc terá que implementar!
Bom, aí vc vai ter q se virar um pouco pq eu nunca usei isso!!!
Bom, caso alguem tenha outra alternativa, alguem q ja fez algo do gênero!!
Manda aí!!
publicclassCompilaextendsHttpServlet{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringarquivo=request.getParameter(“arq”);//pega lista de arquivosStringprogNome=request.getParameter(“nome”);//pega o nome do executável que será gerado
Stringcommand="dir";Runtimeruntime=Runtime.getRuntime();Processprocess=null;//executaogcccomalistadearquivosprocess=runtime.exec(command);//capturaaslinhasdesaidadoconsole...DataInputStreamin=newDataInputStream(process.getInputStream());Stringline=null;line=in.readLine();response.setContentType("text/html");PrintWriterpagResp=response.getWriter();//pagRep guarda página de respostaStringBufferbuf=newStringBuffer();
}
Mas tá rolando a seguinte menssagem de erro…exceções…
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.