elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Java / Problema a recoger variables pasadas de servlet a JPS en: 23 Enero 2017, 11:49 am
Muy buenas,


estoy tratando de pasar las variables recogidas en una consulta MySql en un servlet a un JSP. Pero probando de dos formas en ambas acaba dandome un error java.lang.NullPointerException.

Lo que trato de hacer es cuando dan al boton modificar cargue una servlet donde recojera la fila a modificar segun su Id (hasta aqui no hay problema). Despues esa servlet se encargara de enviar los datos de esa fila en un fomulario a un JSP para que el usuario pueda modificar sobre cada campo que quiera modificar. Y cuando pulse el boton actualizar del JSP cargara otra servlet donde finalmente actualizara los registros.

Utilizando en el primer servlet un response.sendRedirect(url+variable)--->al pasar al JSP da el error que recibe un valor null al recoger en request.getParameter(). (aqui veo como en la url por get se lee perfectamente la variable ..)


Y si utilizo la otra forma con request.getRequestDispatcher("update.jsp"); ya me da erro de valor null al entrar en la misma primera servlet. (aqui declaro setAttribute() y finalizo con un forward())


Agredeceria ideas  porque le he dado muchas vueltas a ver donde envia un valor null

Pego el codigo, gracias:


Código
  1. SERVLET:
  2.  
  3.  
  4. package Imagenes;
  5.  
  6. import java.io.IOException;
  7. import java.io.PrintWriter;
  8. import java.sql.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.ResultSet;
  11. import java.sql.SQLException;
  12. import java.sql.Statement;
  13. import javax.servlet.ServletException;
  14. import javax.servlet.annotation.WebServlet;
  15. import javax.servlet.http.HttpServlet;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. import javax.servlet.RequestDispatcher;
  19.  
  20. /**
  21. *
  22. * @author Raul
  23. */
  24. @WebServlet(name = "update", urlPatterns = {"/update"})
  25. public class update extends HttpServlet {
  26.  
  27. @Override
  28. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  29. throws ServletException, IOException {
  30.  
  31. int Id = Integer.parseInt(request.getParameter("Id"));
  32.  
  33. PrintWriter out = response.getWriter();
  34.  
  35. try {
  36. String d = "com.mysql.jdbc.Driver";
  37. Class.forName(d);
  38. String sURL = "jdbc:mysql://localhost:3306/imagenes";
  39. Connection Conexion;
  40. Conexion = DriverManager.getConnection(sURL, "root", "oldViews17");
  41. Statement misentencia;
  42. misentencia = Conexion.createStatement();
  43.  
  44. rs = misentencia.executeQuery("SELECT * FROM imagenes where Id=" + Id);
  45. while (rs.next()) {
  46. String nombre = rs.getString("Nombre");
  47. String descripcion = rs.getString("descripcion");
  48.  
  49. /*request.setAttribute("nombre", nombre);
  50. RequestDispatcher rd = request.getRequestDispatcher("update.jsp");
  51. rd.forward(request, response);*/
  52. response.sendRedirect("http://localhost:8080/SubirImagenes/update.jsp?nombre=" + nombre);
  53.  
  54. }
  55. Conexion.close();
  56. } catch (SQLException ex) {
  57.  
  58. } catch (ClassNotFoundException ex) {
  59.  
  60. }
  61.  
  62. }
  63. }
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71. JSP:
  72.  
  73.  
  74.  
  75.  
  76. <%@page import="Imagenes.*" %>
  77. <%@page import="java.sql.*" %>
  78. <%@page import="java.io.*" %>
  79. <%@page import="javax.servlet.http.*" %>
  80. <%@page import="javax.imageio.ImageIO" %>
  81. <%@page import="javax.servlet.ServletOutputStream" %>
  82. <%@page import="java.awt.image.BufferedImage" %>
  83.  
  84. <jsp:setProperty name="imagen" property="*" />
  85.  
  86. <!DOCTYPE html>
  87. <html>
  88. <head>
  89. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  90. <title>JSP Page</title>
  91. </head>
  92. <body>
  93. <HTML ><HEAD><TITLE>oldViews</TITLE><META charset='utf-8'/><link rel='stylesheet' type='text/css' href='http://192.168.4.144/Styles/style.css'/></HEAD><BODY><HEADER><H1>Mostrar Imagenes</H1></HEADER><H2>Imagenes</H2><SECTION id='content'>
  94.  
  95. <form action="http://localhost:8080/SubirImagenes/updateOk" method="Post">
  96. <TABLE><TR><TH >Nombre</TH><TH >Descripcion</TH><TH colspan='3'>FOTO</TH></TR>
  97.  
  98.  
  99. <%
  100. // String nombre = (String) request.getAttribute("nombre") ;
  101.  
  102. String nombre=request.getParameter("nombre");
  103.  
  104. %>
  105. <tr>
  106.  
  107. <td ><input type="text" value="<%=nombre %>"</td>
  108.  
  109. <td ><img src="http://localhost:8080/SubirImagenes/select?Id=<%=nombre%>" width="190px" height="100px" align="right"></td></tr>
  110.  
  111. </table>
  112. <input type="submit" value='Modificar'>
  113. </form>
  114.  
  115. </body>
  116. </html>


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex
12  Programación / PHP / Problemas al recoger de un ckeckbox el id recogido de la base de datos en: 23 Enero 2016, 11:28 am
Buenas!

Vereis estoy creando un backend, y mi intención es crear en cada fila de una tabla un checkbox que si lo selecciona el usuario y confirma en borrar se elimine esa fila. Para identificar que fila se selecciono a traves del checkbox se me ha ocurrido indicar en el atributo name el ID que tiene asignado cada fila en la BBDD.

EL problema lo tengo al comprobar dentro de un if que reciba que ID ha sido seleccionado. SI lo hago con un isset me da error de que el index is offset. Y si lo ejecuto como muestro en el codigo que adjunto en el mensaje, eliga el checkbox que eliga empieza siempre eliminando la última fila:

Código
  1. $registros=mysqli_query($conexion,"select * from usuarios")or
  2. die("Problemas en el select:".mysqli_error($conexion));
  3. while($reg=mysqli_fetch_array($registros))
  4. { $ID=$reg['ID'];
  5. echo $ID;
  6. $login=$reg['NombreUsuario'];
  7.  
  8.  
  9. echo "<form method='post' action='BBDD_usuarios.php' enctype='multipart/form-data'>";
  10. echo "<input type='checkbox' name='$ID' >&nbsp";
  11.  
  12.  
  13.  
  14.  
  15. mysqli_close($conexion);
  16. echo "<form method='post' action='BBDD_usuarios.php' enctype='multipart/form-data'>";
  17. echo "<input type='submit' name='borrar' value='borrar'>" ;
  18. echo "</form>";
  19. $borrar=$_REQUEST['borrar'];
  20.  
  21. if ($borrar){
  22. $conexion=mysqli_connect("localhost","root","","usuarios")or die("Problemas con la conexión");
  23.  
  24. $registros=mysqli_query($conexion,"select * from usuarios")or
  25. die("Problemas en el select:".mysqli_error($conexion));
  26.  
  27.  
  28. if($_POST[$ID]=true){
  29. echo "hola";
  30. $selecc=$_POST[$ID];
  31. echo $selecc;
  32.  
  33.  
  34. mysqli_query($conexion,"delete from usuarios where id='.$selecc.'") or
  35. die("Problemas en el delete:".mysqli_error($conexion));
  36. echo "<form method='post' action='BBDD_usuarios.php' enctype='multipart/form-data'>";
  37. }
  38.  
  39. mysqli_close($conexion);
  40. }
  41.  


Gracias de antemano por la ayuda!


Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines