Probando ahora directamente con los formularios que utilizare para puerto serial y el servlet de puerto serial ahora si cuando envio los datos pues me carga perfectamente los datos de respuesta del servlet, pero probando el envio noto que no envia nada por serial, pero absolutamente nada... Lo estoy probando dentro de la misma pc, con una aplicacion llamada virtual serial port que ya he utilizado sin problemas con anterioridad...
Entonces no entiendo, el servlet se ejecuta pues me envia la respuesta, pero no me envia nada por serial y esas lineas para envio serial que tengo ya las he probado antes (pero sin servlets sino en aplicacion de escritorio con el mismo virtual serial port) y funcionan perfectamente...
Te dejo el codigo del servlet a ver que encuentras...
Código:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.comm.*;
public class ServletSerial extends HttpServlet
{
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString;
static SerialPort serialPort;
static OutputStream outputStream;
@Override
protected void doPost(HttpServletRequest peticion, HttpServletResponse respuesta) throws ServletException, IOException
{
String motor1 = peticion.getParameter("motor1");
String motor2 = peticion.getParameter("motor2");
String motor3 = peticion.getParameter("motor3");
String motor4 = peticion.getParameter("motor4");
String motor5 = peticion.getParameter("motor5");
String motor6 = peticion.getParameter("motor6");
messageString = motor1+motor2+motor3+motor4+motor5+motor6;
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
if (portId.getName().equals("COM2"))
{
// if (portId.getName().equals("/dev/term/a")) {
try
{
serialPort = (SerialPort)
portId.open("AplServlerSerial", 2000);
} catch (PortInUseException e) {}
try
{
outputStream = serialPort.getOutputStream();
} catch (IOException e) {}
try
{
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {}
try
{
outputStream.write(messageString.getBytes());
} catch (IOException e) {}
}
}
}
respuesta.setContentType ("text/html");
PrintWriter salida = respuesta.getWriter();
salida.println("<?xml version = \"1.0\"?>");
salida.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD " + "XHTML 1.0 Strict//EN\" \"w3.org" +"/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
salida.println("<html xmlns = \"w3.org/1999/xhtml\">");
salida.println("<head>");
salida.println("<meta http-equiv=\"Refresh\" content=\"1;url=DIRECCION/cpej5/servlets/ServletSerial.html\">");
salida.println("<title>Confirmacion de Envio Correcto</title>");
salida.println("</head>");
salida.println("<body>");
salida.println("<h1>Informacion Enviada Correctamente</h1>");
salida.println("<h3>Espere la Redireccion</h3>");
salida.println("</body>");
salida.println("</html>");
salida.close();
}
@Override
protected void doGet(HttpServletRequest peticion, HttpServletResponse respuesta) throws ServletException, IOException
{
doPost(peticion, respuesta);
}
}
Espero tu respuesta... ;)