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

Mostrara Datos

Estas en el tema de Mostrara Datos en el foro de Java en Foros del Web. Bien: tengo un proyecto en netbeans 7,4 con un formulario jsp donde registro los nombres y datos de una persona en una base de datos ...
  #1 (permalink)  
Antiguo 09/10/2014, 11:40
 
Fecha de Ingreso: septiembre-2014
Ubicación: guanare edo portuguesa
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Mostrara Datos

Bien: tengo un proyecto en netbeans 7,4 con un formulario jsp donde registro los nombres y datos de una persona en una base de datos con una tabla, en esto no hay problema, pero cuando quiero mostrar los nombres y datos en una página jsp de los datos me aparece la página web con los HTML programados pero los datos no, agradeseria mucho su ayuda. Gracias

Codig Mostrar.java

/**
*
* @author Damaso Montilla
*/
@WebServlet(name = "Mostrar", urlPatterns = {"/Mostrar"})
//@SuppressWarnings("serial")
public class Mostrar extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
EntityManager em = Persistence.createEntityManagerFactory("ejemplosPU ").createEntityManager();
List datos = em.createNamedQuery("Usuarios.findAll").getResultL ist();
request.setAttribute("datos", datos);
RequestDispatcher rd = request.getRequestDispatcher("Mostrar.jsp");
rd.forward(request, response);


Código de Mostrar.jsp
<%--
Document : Mostrar
Created on : 05/10/2014, 01:18:31 PM
Author : Damaso Montilla
--%>

<%@taglib prefix="core" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h2>Lista de Usuarios Registrados!</h2>

<c:forEach items="${datos}" var="dato">
${dato.nombre} ${dato.direccion}<br>
${dato.cedula} ${dato.edad}<br>
${dato.profecion} ${dato.botas}<br>
${dato.pantalon} ${dato.camisa}<br>
${dato.apellido}<br>
</c:forEach>
<a href="index.jsp">ir a Inicio<br>
</body>
</html>
  #2 (permalink)  
Antiguo 10/10/2014, 01:09
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Mostrara Datos

Buenas,

En apariencia, el codigo es correcto, aunque no veo el doPost ni el doGet por ninguna parte.
http://en.wikibooks.org/wiki/J2EE_Programming/Servlet

Ese metodo processRequest()... lo llamas desde el doPost y/o desde el doGet? Si no es asi, ese es el problema.


Código Java:
Ver original
  1. /**
  2. * Handles the HTTP <code>GET</code> method.
  3. * @param request servlet request
  4. * @param response servlet response
  5. * @throws ServletException if a servlet-specific error occurs
  6. * @throws IOException if an I/O error occurs
  7. */
  8. @Override
  9. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  10. throws ServletException, IOException {
  11. processRequest(request, response);
  12. }
  13.  
  14. /**
  15. * Handles the HTTP <code>POST</code> method.
  16. * @param request servlet request
  17. * @param response servlet response
  18. * @throws ServletException if a servlet-specific error occurs
  19. * @throws IOException if an I/O error occurs
  20. */
  21. @Override
  22. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  23. throws ServletException, IOException {
  24. processRequest(request, response);
  25. }


Si no es eso...
Como haces la peticion?Apuntas al servlet? http://midireccion/micontexto/Mostrar
O accedes a la jsp directamente? http://midireccion/micontexto/mostrar.jsp


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 11/10/2014, 10:02
 
Fecha de Ingreso: septiembre-2014
Ubicación: guanare edo portuguesa
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Mostrara Datos

Buenas, accedo directamente a Mostrar.jsp gracias
  #4 (permalink)  
Antiguo 11/10/2014, 11:22
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Mostrara Datos

Buenas,

Entonces ese es el problema (o al menos uno de ellos). Si accedes directamente a mostrar.jsp el servlet no se va a invocar nunca y por eso los datos no se recuperan.

El flujo de ejecucion debería ser:

Llamo a /Mostrar --> Se ejecuta el método service(), doGet() o doPost() del servlet y este llama a su vez a processRequest --> processRequest ejecuta la lógica, recupera los datos y, a través del dispatcher, hace un forward a la jsp --> Se presenta la jsp en el navegador y muestra los datos que le había enviado el servlet.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #5 (permalink)  
Antiguo 12/10/2014, 10:15
 
Fecha de Ingreso: septiembre-2014
Ubicación: guanare edo portuguesa
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Mostrara Datos

Buen dia: problema resuelto, si profesor_falken era como usted decia, el vinculo dirigido a el servlet mostrar. java que es donde esta el llamado a la base de datos, estaba dirigido a mostrar.jsp, un error tonto sin embargo de importancia grande. gracias profesor_falken
  #6 (permalink)  
Antiguo 12/10/2014, 10:39
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Mostrara Datos

Genial. Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: formulario, jsp, netbeans, programa, servlet
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 11:44.