webapp jsp invoca applet

Hola a todos, ¿Cómo están? ¿Ya echando teclazo? hahaha

Veo que se avientan buenas soluciones en el foro, los felicito; agradezco de antemano y les envío un saludo desde Tijuana.
A ver si me pueden recomendar algo. Sé programar en php y y junto con perl y javascript tengo corriendo varios procesos en la intranet de mi trabajo. Parte de mi reto es que las interfases visuales solo las he hecho con html – y uno que otro componente en javascript que la verdad me da pena pero los he usado y no sé como funcionan-. Ahora he decidido aprender java y realizar mi siguiente proyecto en Netbeans 7. Ya tengo todo y he hecho varias pruebas armando el esqueleto de mi webapp.
Lo que estoy haciendo es una GUI applet en Java (Swing), que se invoca desde un .jsp. La idea es conectarme a mysql desde .jsp, pasarle los datos al applet vía parámetros, que el usuario trabaje en la gui (el applet es Swing), y para hacer post, la gui le pasa los valores al jsp, quien graba lo lo que sea hacia mysql.
Soy nuevo en java y me voy aventar el clavado a la sintaxis una vez que arme el esqueleto de mi proyecto, para lo cual ocupo esa comunicación entre la GUI y .jsp conectado a mySql.
Lo estoy haciendo en Netbeans IDE 7 en Windows; finalmente correrá en unix (Fedora); lo más urgente en esta fase es contar con una interfase visual para los usuarios, y realizar read,write hacia mysql. (uso apache tomcat 7, no glassfish)
Para invocar el app quiero usar el tag plugin (se supone que el tal applet está descontinuado, y pasarle parámetros al applet, así como recibirlos de la misma. Actualmente tengo una prueba sin database y no logro comunicar el parámetro que viene de .jsp

En el applet:

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
         String strParameter = getParameter("specialparam");
        jTextField3.setText(strParameter);

En .jsp invoco al applet:

    <%@ page  language="java" errorPage="" %>
   <% String strVariable="String variable from index.jsp, which invokes CalculatorJap.jar"; %>
 
 
  <applet code="my.swJApp.swJAppFormCalc" archive="CalculatorJap.jar" width="600" height="480"
    <param name="specialparam" value="<%=strVariable%>">
    </applet>

Pero el valor no es transmitido.

Actualmente estoy atorado con esos dos puntos y no logro ‘figure them out’, no le agarro pues, hehehe. He seguido algunos tutoriales pero voy más lento de lo debido.
En el netbeans ide ya tengo registrada la base de datos y una conexión, pero no sé cómo usarla desde jsp de una manera sencilla apoyado en el IDE. Es ese problema y el de los params jsp-applet-jsp.

¿Creen que es un buen approach? ¿Será el camino a seguir? Aprecio lo que me puedan retroalimentar. De hecho acabo de instalar eclipse para ver si tengo más suerte con tutoriales para eclipse que para el netbeans.

Saludos.
Carlos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Todo el mundo te dirá que

Todo el mundo te dirá que consultar MySQL desde tu jsp es una mala, no no, malísima practica. Por lo que leo tu urgencia es conectar tu applet con base de datos no necesariamente tu jsp con tu fuente de datos

Quizás puedas mejor realizar servicios web para consultar información o mejor aun, por que no dejas a un lado los applet y lo haces bien como una aplicación web.

Imagen de cgarcia

Gracias java.daba.doo, ya me cambié a web app

Incluso me cambié a Eclipse, para poder seguir sus tutoriales principalmente (voy empezando asi que cualquiera de los dos).
Estoy jugando con GWT para construir la gui e invocarla desde jsp, supongo que eso es factible;

¿Qué opciones tengo para la conexión a mysql? En un tutorial que estoy siguiendo se indica que si en el context.xml de una Dynamic Web Application me conecto a un datasource de tomcat puedo usar esa conexión desde .jsp de esta manera:

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"%>

     <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
        <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

     <sql:setDataSource dataSource="jdbc/SampleDB" />

y dentro de mi html table recorro el dataset:

        <table border='1'>
          <tr><th>Worker</th><th>Comment</th></tr>

       <sql:query var="qryPosts" >
                  SELECT postname, comments FROM app.posts
          </sql:query>

       <c:forEach var="row" items="${qryPosts.rows}">
                <tr>
               <td><c:out value="${row.postname}" /></td>
                  <td><c:out value="${row.comments}" /></td>
                </tr>
          </c:forEach>
        </table>

Apenas lo estoy probando.
Me interesa mucho porqué no recomiendas conectarse al db desde jsp, y si me pudieras dar opciones please.
También si alguien me puede recomendar cómo integrar un formulario en GWT para mi data web app.

Gracias de veras !!!

Imagen de neko069

Gwt

Gwt tiene una filosofía distinta a una aplicación que funcione con JSP.
Ejemplo.
Tu construyes un módulo Gwt que consta de una ventana de login.
En tu estructura de proyecto se va a construir

org.ejemplo.estructura.login.Login.gwt.xml   // <-- descriptor del módulo GWT
org.ejemplo.estructura.login.client.Login.java // clase principal de tú módulo.
org.ejemplo.estructura.login.shared // <-- directorio donde colocas las interfaces asíncronas/síncronas de tu proyecto
org.ejemplo.estructura.login.server // <-- directorio donde colocas las implementaciones de tus interfaces

Y bueno, ésa es la idea.

El caso es que, Gwt convierte tu Login.java a Login.js ( digo, la estructura que te forma la puedes ver si consultas la documentación)
Y ése archivo Login.js se va a incrustar en un Login.html

El punto es, que con Gwt no tienes la necesidad (aparente) de usar un jsp, si TODO lo estás haciendo en tú código que se va a transformar
en el script de javascript..

Si lo que quieres es usar Gwt con algo que tengas en php, pues creo que hay un framework para éso (pregunta a google)
Si lo que quieres es usar Gwt con algo que vayas a empezar de cero, pues sí te recomiendo encarecidamente que le eches una leída a la doc, hagas unos ejemplos para que veas cómo se forma la estructura de proyecto, y si te convence, entonces ya checa el acceso a base de datos, y demás cosillas que necesites.

Orden

Hay algo mínimo que se debe hacer cuando se programa y eso se llama orden. Para ordenar tu código existe un patrón llamado MVC del cual se ha hablado mucho en este foro

El MVC dice que tienes tres tipos de componentes: los da acceso a datos, los de negocio y los de presentación en donde se define que un componente de negocios puede accesar a uno de datos pero uno de presentación jamas a uno de datos y esto tiene su justificación. Supon que estas en una aplicación que tiene firewalls y para cada capa tienes un servidor.

|Presentacion | Procesamiento | Datos
cada | significa un firewall. Ahí tendidas por ejemplo dos proyectos y una base de datos. El primer proyecto es el tu interface gráfica con la que interactua el usuario. Por ejemplo es una tienda en linea y pues ahí te muestra las imágenes, listas de catálogos, precios y blah blah pero cuando le das comprar algo entonces la parte de la presentación se comunica a la capa de procesamiento y por un momento la presentación se olvida de la petición; digamos que tienes unos web services, o EJB o DAO o lo que sea para accesar a tu fuente de datos. Ahora es turno de la capa de procesamiento. Es bien sabido que esta es la parte fuerte de tu sistema, porque aquí es donde dices que hacer, con que y como. La información de entrada puede ser de lo que recibas de la capa de presentación (como un formulario) pero también puedes invocar datos anteriormente guardados (persistidos) en cualquier repositorio de datos. Entonces ahí invocas componentes de la capa de datos, digamos que son DAO, bajo estos componentes ya debería estar toda la fiesta de conectividad, persistencia y transaccionalidad o lo que utilices para consultar/guardar información de tal suerte que usarías algo asi como Cosa cosa = cosaDao.select(345). Es claro que tienes que hacer tu clase DAO con un método select y que reciba por ejemplo el ID del registro que quieres obtener y eso te regresa un objeto de tipo cosa lo cual para ello puedes usar ORM o tu haces tu maleo a patita (pero eso ahorita no importa mucho)

Regresando a los sservidores. Supon que el primer firewall es para que a la capa de presentación solo le lleguen peticiones por el puerto 80, después entre presentación y procesamiento hay un firewall que le diga que solo puedes atender peticiones del servidor de presentación (para que nadie pueda accesarlo directamente y lo mismo para los servidores de procesamiento y datos. Entonces cuando quieras hacer un query desde tu JSP pos no debería de funcionar. EN este caso te expongo dos riesgos: El primero es que tendrías un código muy sucio y el otro que tendrías una aplicación que no podría distribuirse. Y ya mejor no hablemos de Clusters que ahí si es bien bien forzoso tener bien bien en claro como distribuir tu código en diversos componentes. Pero eso, ya es otra historia

Imagen de cgarcia

Gracias jaba.dada.doo. Creo

Gracias jaba.dada.doo. Creo que el concepto no es nuevo, verdad? Yo opino que es relativamente facil apegarse al modelo MVC. : -), Estoy en la fase en que debo armar (no tengo acentos de momento, disculpen) la insercion de un gui -invocar un formulario GWT desde mi .jsp (en una Web Dynamic Application en Eclipse JEE para developers.Creo que debo seguir una secuencia mas o menos asi en el desarrollo del esqueleto de mi webapp:
1.- Crear proyecto GWT donde diseñe el formulario,(primera fase, sin datos de db), de cierta manera listo para ser usado en mi webapp.
2.- Crear proyecto web dynamic en eclipse que haga uso de la gwt gui anterior. (Hasta aqui ya lo hice pero invocando un applet, y en netbeans, pero ya me movi a eclipse y deje las applets)
3.-Crear y probar un datasource en Tomcat 7 hacia mysql, para usar ese datasource desde mi .jsp y mandarle datos al gwt gui contenido en el .jsp (igualmente postearlos al servidor cuando se haga post o se use javax para ir y venir (ya tengo un codigo de jquery que voy a usar pero no me he logrado conectar satisfactoriamente desde jsp al datasource. Recibo el error de que el datasource no es valido; me gustaria saber como crear el dataosource y probarlo por fuera del ide para estar seguro de que es valido; y luego usarlo desde ,jsp en el webapp.

O tu punto es que desde .jsp no deberia invocar una gui? entonces desde donde la invoco? un webapp de eclipse lo primero que me ofrece es index .jsp como front-end.

Gracias por cualquier comentario orientador hacia el uso de GWT formulario desde jsp en webapp eclipse ee.

Saludos.
Carlos

Imagen de neko069

Dudas

-Porqué forzosamente tiene que ser un jsp? no puede ser el .html que te ofrece Gwt cuando creas tu formulario?
-Qué error te produce tu datasource? es decir, pega aquí la traza de errores.

Imagen de cgarcia

Ya le agarré más la onda,

y voy por partes hehe, estoy haciendo un web application en netbeans ide7, y tengo problemas con el deployment hacia tomcat, pero haré otro post, a ver si alguien me ayuda. Gracias !!. Caso cerrado :-)

Hola a todos, disculpen que

Hola a todos, disculpen que me salgo un poco te contexto, pero escribo porque trabajo en ITexico, una empresa ubicada en Guadalajara, nos dedicamos al desarrollo de aplicaciones web y móviles. Les digo esto porque estamos buscando desarrolladores de Java con experiencia con GWT. Si alguno de ustedes estuviera interesado o conoce a alguien a quien podría interesarle, por favor mándenme sus CV's en inglés a esta dirección: jobs@itexico.com. Les dejo la página de la empresa para que tengan más información: http://www.itexico.com/.