package comHttpServlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

import combd.*;
import comHttp.*;

/**
*   Servlet que fornece comunicação com páginas html, via Http.
*
* @author Marcos V. S. Godinho
*/

public class ComHttpServlet extends HttpServlet{

  public void init(ServletConfig config) throws ServletException{

    super.init(config);
    System.out.println("ComHttpServlet iniciado com sucesso.");
  }


  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException{
  }



  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException{

    ObjectInputStream objin = new ObjectInputStream(request.getInputStream());
    ObjectOutputStream objout = new ObjectOutputStream(response.getOutputStream());

    try{//Obtem pedido.
      PedidoHttpVars pedido = (PedidoHttpVars)objin.readObject();

      HttpMessage msg = new HttpMessage(pedido.getURL());
      //Usa um objeto Leitor para achar as variáveis no html
      LeitorHtml leitor = new LeitorHtml(
         msg.sendPostMessage( pedido.getVariaveis() ));
      //Envia a resposta.
      objout.writeObject(leitor.procuraVariaveis());
    }
    catch(Exception e){

      System.err.println("Erro no processamento de requisição ao Servlet");
      e.printStackTrace();
    }
    finally{
      //fecha as streams de entreda e saída.
      objin.close();
      objout.close();
    }
  }



  public void destroy(){}

}
