Conexion mysql con Struts2
Buen dia, disculpe alguien podria ayudarme a conectar una base de datos hecha en mysql con el framework strut2...me he basado en tutoriales para comenzar a realizar algunas aplicaciones sencillas...pero el detalle es que cuando llego al momento de la conexion, no logro conseguir realizarlo.....algun tutorial se agradece
- Inicie sesión o regístrese para enviar comentarios
No tiene nada de especial
Conectarse a un a base de datos es identico hacerlo en cualquier framework (si te conectas directamente por JDBC sin frameworks de persistencia o de conexion).
COn esto ultimo me refiero a que tienes que usar tu tradicional
Connection, Statement, ResulSet
y jalar tu driver de MySQL (que no es mas que una implementacion de conexion del contrato JDBC para MySQL) con el afamadoClass.forName("com.mysql.jdbc.Driver").newInstance();
(con sus respectivostry {} catch([Trhowable] ex) {}
para que obtengas una conexionconexion = DriverManager.getConnection("jdbc:mysql:...");
y a partir de la conexion puedas crear tus sentenciasstatement = conexion.createStatement();
y ahora si a trabajar con QueriesresultSet = st.executeQuery("SELECT * FROM cosa WHERE ...");
y de esa forma ya usas crudamente tu resultset para iterarlo y obtener los registros.Pero, y donde entra Struts?
Bueno, la verdad no me agrada mucho la idea de usar una conexion a DDBB de este tipo directamente con un framework (como struts en este caso) porque pierdes una bondad que hace tu OGNL que se encarga de asignar los valores automaticamente para el paso de parametros entre Request/Response (haciendo uso de los Getter/Setters de las propiedades. por lo que tendrias que hacerlo tu a mano. Me explico
Resulta que si tienes en Struts (v2) un action con una variable miembro:
// y tienes los metodos de acceso
public void setCosa ...
public Cosa getCosa...
y suponiendo que la clase Cosa sea esta:
private string
nombre,
correo,
algo;
private int
edad,
otroDato;
// agregar metodos de acceso Get/Set
}
para usar la bondad del OGNL y en tu JSP presentar el campo nombre solo harias:
porque struts pone automaticamente los parametros enviados en un valueStack y
<s:property />
se encarge de ir a recoger ese valor. Por lo que, en el ejemplo de obtener informacion desde MySQL que puse arriba pues tienes que llenar tu objeto de manera manual para que puedas usar esta caracteristica de Struts. Es decir que recorres tu ResultSet y llenas tu objetoCosa
para establecerlo en el action.Entiendo que esto podria ser una practrica escolar y sin embargo no dejes de usar DAO para la consulta de datos (no lo metas dentro del action), en el action harias
this.cosa = cosaDao.select([nombre = "pepito"]);
Gracias, Ayuda con tiles
Gracias por tomarse el tiempo y brindarme una solucion.
Seguimos en struts2
Buen dia, antes que nada gracias por darme la salucion a mis dudas.
De nuevo con ustedes, con una duda, esta ocacion se trata de los tiles..
A continuacion tratare de describir el problema, como sabeis estoy trabajando con struts2, realizando un pequeño sistema, en el cual se logea y compara con bd, tengo dos usuarios, administrador e investigador..Todo bien, cuando me logeo como invesstigador realizo las operaciones correspondientes, el problema surge que cuando me logeo como administrador..entra bien, muestra el menu principal, el problema biene a raiz de que pincho al ulgun vinculo. mas bien el vinculo Documentos y me envia este pequeño error:
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: java.lang.IllegalArgumentException: La Trayectoria gerci.administrador.{2} no comienza con carácter "/"
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
mx.inaoe.gerci.servlet.GerciServlet.service(GerciServlet.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
causa raíz
java.lang.IllegalArgumentException: La Trayectoria gerci.administrador.{2} no comienza con carácter "/"
org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:107)
org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
mx.inaoe.gerci.servlet.GerciServlet.service(GerciServlet.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
nota La traza completa de la causa de este error se encuentra en los archivos de diario de JBoss Web/2.1.2.GA.
JBoss Web/2.1.2.GA
hay que revisar tu configuracion
Hola podrias ser mas explicito para poder ayudarte podrias postear tus archivos de configuracion para poder revisar donde esta el error ese error generalmente sucede cuando no coninciden los nombres o dejas espacios en blanco revisa