Foros del Web » Programación para mayores de 30 ;) » Java »

Servlets y puerto serial...

Estas en el tema de Servlets y puerto serial... en el foro de Java en Foros del Web. Buenas otra vez yo por aqui, esta vez quiero que me hechen una manito con lo siguiente: Quiero hacer un envio por el puerto serial ...
  #1 (permalink)  
Antiguo 20/06/2009, 20:05
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Servlets y puerto serial...

Buenas otra vez yo por aqui, esta vez quiero que me hechen una manito con lo siguiente:

Quiero hacer un envio por el puerto serial de un servidor (que yo mismo he configurado) desde un cliente web ubicado en cualquier parte del mundo, bueno lo que he hecho hasta los momentos y pense que me funcionaria es los siguiente:

Formulario de peticion html: Un simple formulario que envia 6 datos control.html

Código:
h1>Datos</h1>
<form action = "controlserial" method = "post">
Motor 1: <input type="text" name="motor1">
<br>
Motor 2 <input type="text" name="motor2">
<br>
Motor 3 <input type="text" name="motor3">
<br>
Motor 4 <input type="text" name="motor4">
<br>
Motor 5 <input type="text" name="motor5">
<br>
Motor 6 <input type="text" name="motor6">
<br>
<input type="submit" value="Enviar">
</form>
Servlet de recepcion de datos y envio serial: Main.java, Main.class

Código:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.comm.*;

public class Main extends HttpServlet
{
 * *static Enumeration portList;
 * *static CommPortIdentifier portId;
 * *static String messageString;
 * *static SerialPort serialPort;
 * *static OutputStream outputStream;

 * *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("COM1")) {
 * * * * * * * *// if (portId.getName().equals("/dev/term/a")) {
 * * * * * * * * * *try {
 * * * * * * * * * * * *serialPort = (SerialPort)
 * * * * * * * * * * * * * *portId.open("SimpleWriteApp", 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) {}
 * * * * * * * *}
 * * * * * *}
 * * * *}
 * *}
}
Archivo web.xml del servlet: El que haya trabajado con servlets sabra que se necesita

Código:
<!DOCTYPE web-app PUBLIC>
	<web-app>
		<-- Descripcion General de la Aplicacion Web -->
			<display-name>
				Servlets y JSPs
			</display-name>
			<description>
			Esta es la aplicacion web donde se ejecutan todos los servlets y los JSPs
			</description>
			
		<-- Definiciones de Servlets -->
			<servlet>
				<servlet-name>
					controlserial
				</servlet-name>
				<description>
					Servlet que maneja el Puerto Serial
				</description>
				<servlet-class>
					Main
				</servlet-class>
			</servlet>
			
		<-- Asociaciones de Servlets -->
			<servlet-mapping>
				<servlet-name>
					controlserial
				</servlet-name>
				<url-pattern>
					/controlserial
				</url-pattern>
			</servlet-mapping>
	</web-app>
Bueno eso es lo que tengo, y estan localizados en las direcciones (local de mi pc):

localhost/control/servlets/control.html
localhost/control/WEB-INF/web.xml
localhost/control/WEB-INF/classes/Main.class

Ahora la cosa es que cuando envio el formulario con los datos, pues no pasa nada, me da un error de que no se pudo encontrar la pagina y todo eso, alguna ayuda??

Una pregunta que me tiene pensativo, un servlet si o si debe mandar una respuesta al cliente?? Porque yo no quiero que al enviar el formulario la pagina cambie y me cargue otra distinta, es decir, yo quiero que esa pagina del formulario siempre sea la misma, debido a que en ella tendre tambien la visualizacion de la camara web que SIEMPRE debe estar visible en todo momento sin ninguna interrupcion...

Bueno espero sus respuestas, saludos...
  #2 (permalink)  
Antiguo 22/06/2009, 03:48
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

Wenas

Efectivamente. Te saca pagina no encontrada porque no estas sacando nada al servletresponse. Mandas los datos por el puerto serie pero que sacas por pantalla??

Código:
java.io.PrintWriter out = response.getWriter();
out.println("<HTML><BODY>HOLA</BODY></HTML>");
Si lo que quieres es que te devuelva a la misma pagina puedes usar el forward de requestedispatcher, o response.sendRedirect(), o....

Saludos.
  #3 (permalink)  
Antiguo 22/06/2009, 15:40
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Si pero la cosa es que al parecer tampoco me envia nada por el puerto serial, yo he probado la aplicacion serial sin usarla en el servlet y me funciona perfecto, pero a la hora de meterla en el servlet parece que no sirve porque no me llega nada de lo que envio a la otra PC por puerto serial...

Alguien ve algun error en las lineas de recibir los datos del formulario en el servlet?? Estoy usando el metodo post...

EDITO:

Bien he descubierto que cuando agrego el archivo web.xml a la ruta especifocada arriba, el servidor me dice que la carpeta no es valida para ser un servidor, es decir, cuando ingreso a localhost:8080/manager, la carpeta que he creado me dice a un aldo false y todas las demas dicen true, cualquier archivo que meta en la carpeta que dice false no me corre en el servidor...

Solo me ocurre al ingresar el archivo web.xml, si borro este la carpeta vuelve a true y me corren los ejemplos, pero no me funciona el servlet (obviamente), alguien sabe que sucede aqui?? Porque me pasa esto?? Debo hacer algo especifico para que no suceda esto??

Última edición por kaiser1313; 22/06/2009 a las 19:46
  #4 (permalink)  
Antiguo 22/06/2009, 23:21
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Bueno me encuentro probando un ejemplo para poder hacer funcionar algun servlet, hasta los momentos probando tal cual un ejemplo de un libro me he encontrado primero con problemas en el archivo web.xml, el cual hacia que la carpeta de mi servlet dejara de ejecutarse, pero ahora que creo que he solucionado esto pues me sale el siguiente error al intentar acceder a la direccion directa del servlet de prueba, el nombre que le di al servlet es bienvenida1 y la class es ServletDeBienvenida.class, aqui el error...

Código:
Estado HTTP 500 - 

type Informe de Excepci�n

mensaje 

descripci�n El servidor encontr� un error interno () que hizo que no pudiera rellenar este requerimiento.

excepci�n 
javax.servlet.ServletException: Error reservando espacio para una instancia de servlet
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	java.lang.Thread.run(Unknown Source)


causa ra�z 
java.lang.NoClassDefFoundError: ServletDeBienvenida (wrong name: servletdebienvenida/ServletDeBienvenida)
	java.lang.ClassLoader.defineClass1(Native Method)
	java.lang.ClassLoader.defineClass(Unknown Source)
	java.security.SecureClassLoader.defineClass(Unknown Source)
	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	java.lang.Thread.run(Unknown Source)

nota La traza completa de la causa de este error se encuentra en los archivos de diario de Apache Tomcat/6.0.18.
Apache Tomcat/6.0.18
Espero su ayuda, lo necesito con gran urgencia...
  #5 (permalink)  
Antiguo 23/06/2009, 01:15
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

Y el codigo de tu servlet?? y tu web.xml?? Te esta diciendo que no existe ese mapoeo (servletdebienvenida/ServletDeBienvenida)
  #6 (permalink)  
Antiguo 23/06/2009, 01:27
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Cita:
Iniciado por elAntonie Ver Mensaje
Y el codigo de tu servlet?? y tu web.xml?? Te esta diciendo que no existe ese mapoeo (servletdebienvenida/ServletDeBienvenida)
Ok colocare todo de nuevo:

webapps\cpej5\WEB-INF\web.xml

Código:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "java.sun.com/dtd/web-app_2_3.dtd">

<web-app>


    <!-- General description of your web application -->

    <display-name>Servlets del TEG</display-name>
    <description>
		Servlets para el TEG
    </description>


    <!-- Context initialization parameters that define shared
         String constants used within your application, which
         can be customized by the system administrator who is
         installing your application.  The values actually
         assigned to these parameters can be retrieved in a
         servlet or JSP page by calling:

             String value =
               getServletContext().getInitParameter("name");

         where "name" matches the <param-name> element of
         one of these initialization parameters.

         You can define any number of context initialization
         parameters, including zero.
    -->

  <!--
  <context-param>
    <param-name>webmaster</param-name>
    <param-value>[email protected]</param-value>
    <description>
       The EMAIL address of the administrator to whom questions
       and comments about this application should be addressed.
    </description>
  </context-param>
-->

    <!-- Servlet definitions for the servlets that make up
         your web application, including initialization
         parameters.  With Tomcat, you can also send requests
         to servlets not listed here with a request like this:

           localhost:8080/{context-path}/servlet/{classname}

         but this usage is not guaranteed to be portable.  It also
         makes relative references to images and other resources
         required by your servlet more complicated, so defining
         all of your servlets (and defining a mapping to them with
         a servlet-mapping element) is recommended.

         Servlet initialization parameters can be retrieved in a
         servlet or JSP page by calling:

             String value =
               getServletConfig().getInitParameter("name");

         where "name" matches the <param-name> element of
         one of these initialization parameters.

         You can define any number of servlets, including zero.
    -->

    <servlet>
      <servlet-name>bienvenida1</servlet-name>
      <description>Servlet que Envia por Puerto Serial</description>
    <servlet-class>ServletDeBienvenida</servlet-class>
    
<!-- 
        <init-param>
            <param-name>
                uploadDir
            </param-name>
            <param-value>
                /tmp 
            </param-value>
        </init-param>
-->
    </servlet>

    <servlet-mapping>
      <servlet-name>bienvenida1</servlet-name>
      <url-pattern>/bienvenida1</url-pattern>
    </servlet-mapping>

    <!-- Define the default session timeout for your application,
         in minutes.  From a servlet or JSP page, you can modify
         the timeout for a particular session dynamically by using
         HttpSession.getMaxInactiveInterval(). -->

    <session-config>
      <session-timeout>30</session-timeout>    <!-- 30 minutes -->
    </session-config>


</web-app>
webapps\cpej5\WEB-INF\classes\ServletDeBienvenida.class
webapps\cpej5\WEB-INF\classes\ServletDeBienvenida.java

Código:
package servletdebienvenida;

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

public class ServletDeBienvenida extends HttpServlet
{

    protected void doGet(HttpServletRequest peticion, HttpServletResponse respuesta) throws ServletException, IOException
    {
		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("<title>Un ejemplo de Servlet simple</title>");
		salida.println("</head>");
		salida.println("<body>");
		salida.println("<h1>Bienvenido a los Servlets</h1>");
		salida.println("</body>");
		salida.println("</html>");
		salida.close();
    }
}
webapps\cpej5\servlets\ServletDeBienvenida.html

Código:
<?xml version = "1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
	
<!-- Fig. 24.6: ServletDeBienvenida.html -->

<html xmlns = "w3.org/1999/xhtml">
<head>
	<title>Manejo de una peticion Get de HTTP</title>
</head>

<body>
	<form action "cpej5/bienvenida1" method "get">
	
		<p><label>Haga Clic en el Boton para Invocar el Servlet
			<input type = "submit" value = "Obtener documento HTML" />
		</label></p>
	</form>
</body>
</html>
Ok alli estan las rutas de los archivos y sus contenidos, por favor decirme que esta mal porque he hecho varias cosas y nada...

PS: He tenido que borrar los http y www para poder publicar el mensaje ya que no me dejaba publicar direcciones webs...
  #7 (permalink)  
Antiguo 23/06/2009, 03:08
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

Y si tu haces la llamda http://localhost:puerto/cpej5/bienvenida1, te saca el servlet?? te da error??
  #8 (permalink)  
Antiguo 23/06/2009, 03:52
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Es que asi precisamente es que me da el error, porque si la hago asi:

localhost:puerto/cpej5/servlets/ServletDeBienvenida.html

Me carga el documento html, pero al enviar el formulario de dicho documento pidiendo el servlet no hace nada y me devuelve la direccion:

localhost:puerto/cpej5/servlets/ServletDeBienvenida.html?

Es decir con el ? al final, pero me deja la misma pagina... Nose que pasa...
  #9 (permalink)  
Antiguo 23/06/2009, 04:27
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

Código:
<form action "/cpej5/bienvenida1" method "get">

Te falta la primera /. Saludos.
  #10 (permalink)  
Antiguo 23/06/2009, 04:53
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Igual ya la he colocado y sigue sin responder... Yo nose si es que el web.xml esta mal o si me falta hacer algo en el server para que me lo reconozca o que!! :-\\
  #11 (permalink)  
Antiguo 23/06/2009, 05:10
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

En tu web.xml

Código:
<servlet>
      <servlet-name>bienvenida1</servlet-name>
      <description>Servlet que Envia por Puerto Serial</description>
    <servlet-class>ServletDeBienvenida</servlet-class>
</servlet>
No tendria que ser??

Código:
<servlet>
      <servlet-name>bienvenida1</servlet-name>
      <description>Servlet que Envia por Puerto Serial</description>
    <servlet-class>servletdebienvenida.ServletDeBienvenida</servlet-class>
</servlet>
  #12 (permalink)  
Antiguo 23/06/2009, 05:31
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

No porque si te fijas el archivo ServletDeBienvenida.class lo tengo en la direccion webapps\cpej5\WEB-INF\classes\ServletDeBienvenida.class, es mas nose porque me da ese error...

Ahhh ahora pensando, sera por esto package servletdebienvenida;?? Sabes que es verdad?? Fijate en el archivo ServletDeBienvenida.java que te coloque arriba...

EDITO: Yo trabajo en netbeans y por eso me crea paquetes... Como hago para compilar una clase que escriba en el bloc de notas y que ademas deba compilarla usando un archivo .jar externo que es el servlet-api.jar??
  #13 (permalink)  
Antiguo 23/06/2009, 05:40
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Perfecto si era eso, estaba la clase pidiendo un paquete erroneo, ahora la cosa es que el formulario sigue sin darme el servlet, es decir, cuando mando la peticion del formulario para que me cargue el servlet, pues no me manda nada... Se queda en el mismo formulario y me coloca en la direccion un simbolo de onterrogacion...

Sol puedo acceder al servlet colocando en el navegador su direccion exacta...
  #14 (permalink)  
Antiguo 23/06/2009, 05:58
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

No creo que tenga nada que ver pero por si acaso

Código:
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, java.io.IOException {
		processRequest(request, response);
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, java.io.IOException {
		processRequest(request, response);
	}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
      LOQUESEA
}
Lo que le estamos diciendo es que tanto si le llega la peticion por get o por post haga lo mismo.

y cambia el formulario para que lo mande por post.

Saludos.
  #15 (permalink)  
Antiguo 23/06/2009, 06:01
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

Cita:
Iniciado por kaiser1313 Ver Mensaje
No porque si te fijas el archivo ServletDeBienvenida.class lo tengo en la direccion webapps\cpej5\WEB-INF\classes\ServletDeBienvenida.class, es mas nose porque me da ese error...

Ahhh ahora pensando, sera por esto package servletdebienvenida;?? Sabes que es verdad?? Fijate en el archivo ServletDeBienvenida.java que te coloque arriba...

EDITO: Yo trabajo en netbeans y por eso me crea paquetes... Como hago para compilar una clase que escriba en el bloc de notas y que ademas deba compilarla usando un archivo .jar externo que es el servlet-api.jar??
Claro como clase hay que ponerle su nombre 'completo'. paquete.paquete.clase

Trabajar con netbeans y usar despues el notepad para hacer el cocdigo es, sencillamente, absurdo.

Usa netbeans para todo.

Saludos.

PD. ni idea de netbeans.
  #16 (permalink)  
Antiguo 23/06/2009, 06:10
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Ya lo he hecho y sigue igual... :(

Alli si deberia ser el web.xml, hechale una revisadita a ver que tal porfa...

Aunque pensando bien no deberia de ser alli, porque si funciona con localhost/cpej5/bienvenida1, quiere decir que el web.xml esta bien, entonces lo que debe estar fallando es la peticion con el formulario o la recepcion en la clase, pero nose de que forma....
  #17 (permalink)  
Antiguo 23/06/2009, 07:02
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

Coloca un system.out dentro del servlet para ver si lo esta llamando.

De todos modos le colocaste la barra, verdad??

<form action "/cpej5/bienvenida1" method "post">
  #18 (permalink)  
Antiguo 23/06/2009, 14:41
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Si claro que la coloque, pero dime no te he entendido lo del system.out, donde lo coloco y para que??
  #19 (permalink)  
Antiguo 23/06/2009, 23:57
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

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... ;)

Última edición por kaiser1313; 24/06/2009 a las 01:10
  #20 (permalink)  
Antiguo 25/06/2009, 05:09
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Servlets y puerto serial...

Cita:
Iniciado por kaiser1313 Ver Mensaje
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,
Hasta aqui puedo leer. Lo siento pero no se que puede estar mal ahi.

Saludos y suerte.
  #21 (permalink)  
Antiguo 25/06/2009, 10:49
 
Fecha de Ingreso: abril-2009
Ubicación: Venezuela
Mensajes: 106
Antigüedad: 15 años
Puntos: 0
Respuesta: Servlets y puerto serial...

Bueno ok, gracias por haberme ayudado en todo el camino, me fue muy util tu colaboracion... El resto ya vere como lo soluciono pues lo que me falta es poquisimo...

Saludos y de nuevo un millon de gracias...
  #22 (permalink)  
Antiguo 09/11/2010, 07:27
 
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Servlets y puerto serial...

Cita:
Iniciado por kaiser1313 Ver Mensaje
Bueno ok, gracias por haberme ayudado en todo el camino, me fue muy util tu colaboracion... El resto ya vere como lo soluciono pues lo que me falta es poquisimo...

Saludos y de nuevo un millon de gracias...
Hola kaiser1313

Como te termino de ir con la aplicación, justamente ahora soy yo el que tengo que hacer algo parecido, lo he probado stand alone y me funciona bastante bien, pero tengo el temor de que cuando lo coloque en una aplicación web, va a empezar a fallar.., como lo solucionaste? que librerias utilizaste?

Saludos
  #23 (permalink)  
Antiguo 22/05/2014, 15:06
 
Fecha de Ingreso: agosto-2005
Mensajes: 9
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Servlets y puerto serial...

Hola, estoy estudiando ingenieria de sistemas y estoy trabajando en el mismo ejercicio, y al ejecutar el boton me envia a una pagina vacia. me gustaria saber si me puedes ayudar de que sera lo que esta pasando el por que no muestra la pagina.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:07.