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
SERVLET: package Imagenes; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.RequestDispatcher; /** * * @author Raul */ @WebServlet(name = "update", urlPatterns = {"/update"}) public class update extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) try { Class.forName(d); Connection Conexion; Statement misentencia; ResultSet rs; misentencia = Conexion.createStatement(); rs = misentencia.executeQuery("SELECT * FROM imagenes where Id=" + Id); while (rs.next()) { /*request.setAttribute("nombre", nombre); RequestDispatcher rd = request.getRequestDispatcher("update.jsp"); rd.forward(request, response);*/ response.sendRedirect("http://localhost:8080/SubirImagenes/update.jsp?nombre=" + nombre); } Conexion.close(); } } } JSP: <%@page import="Imagenes.*" %> <%@page import="java.sql.*" %> <%@page import="java.io.*" %> <%@page import="javax.servlet.http.*" %> <%@page import="javax.imageio.ImageIO" %> <%@page import="javax.servlet.ServletOutputStream" %> <%@page import="java.awt.image.BufferedImage" %> <jsp:setProperty name="imagen" property="*" /> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <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'> <form action="http://localhost:8080/SubirImagenes/updateOk" method="Post"> <TABLE><TR><TH >Nombre</TH><TH >Descripcion</TH><TH colspan='3'>FOTO</TH></TR> <% // String nombre = (String) request.getAttribute("nombre") ; %> <tr> <td ><input type="text" value="<%=nombre %>"</td> <td ><img src="http://localhost:8080/SubirImagenes/select?Id=<%=nombre%>" width="190px" height="100px" align="right"></td></tr> </table> <input type="submit" value='Modificar'> </form> </body> </html>
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex