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

Proble con nullPointerException

Estas en el tema de Proble con nullPointerException en el foro de Java en Foros del Web. Hola buenas no se que pasa que cuando le doy a grabar siempre me dice el mismo error, es decir, javaNullPointerException. Si me ayudan me ...
  #1 (permalink)  
Antiguo 22/11/2010, 10:15
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 8 meses
Puntos: 0
Proble con nullPointerException

Hola buenas no se que pasa que cuando le doy a grabar siempre me dice el mismo error, es decir, javaNullPointerException. Si me ayudan me harian un gran favor gracias:

Este es el codigo
Código HTML:
<%@page import= "backend.TablaKiosco" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Alta de un kiosco</title>
    </head>
    <body>
        <form id= "formu" method="get">
            <%!int estado=0;%>
            <%!String error=null;%>
            <%if(estado==0){%>
                <h3>Alta de un kiosco</h3>
                Escriba el nombre del kiosco*: <INPUT type='text' size='100' maxlength="100" name='nombre_kiosco'><BR>
                <br>
                Escriba los &uacute;ltimos tres d&iacute;gitos tanto de IP como de la puerta de enlace
                <br>
                IP*: <INPUT type='text' size='3' maxlength="3" name='ip'><BR>
                Puerta de enlace*: <INPUT type='text' size='3' maxlength="3" name='p_enlace'><BR>
                <br>
                <INPUT type='submit' value='Grabar'>
                <br>
                <br>
                <a HREF="index.jsp">Volver a pantalla principal</a>
                <%estado=1;
           }else{
                String nombre_kiosco=request.getParameter("nombre_kiosco");
                String ip=request.getParameter("ip");
                String p_enlace=request.getParameter("p_enlace");
                String respuesta="Kiosco no insertado.";
                if(ip.equals(null)||p_enlace.equals(null)||nombre_kiosco.equals(null)){
                    respuesta="Ningun campo puede ser nulo";
                }else{
                    boolean correcto =true;
                    int ip_n =0, p_enlace_n = 0;
                    try{
                        ip_n=Integer.getInteger(ip.trim());
                        try{
                            p_enlace_n=Integer.getInteger(p_enlace.trim());
                        }catch(NumberFormatException ex){
                            respuesta="El p_enlace solo permite numeros enteros y has escrito: "+p_enlace;
                            correcto=false;
                        }
                    }catch(NumberFormatException e){
                        respuesta="La ip solo permite numeros enteros y has escrito: "+ip;
                        correcto=false;
                    }
                    if(correcto){%>
                        <jsp:useBean id="k" class="backend.Kiosco" scope="session"/>
                        <jsp:setProperty name="k" property="nombre_kiosco" value="<%=nombre_kiosco%>"/>
                        <jsp:setProperty name="k" property="ip" value="<%=ip_n%>"/>
                        <jsp:setProperty name="k" property="p_enlace" value="<%=p_enlace_n%>"/>
                        <jsp:setProperty name="k" property="inserta" value=""/>
                        <%respuesta="Kiosco insertado. Gracias";%>
                    <%}%>
                    <br>
                    <h1><%=respuesta%></h1>
                    <br>
                    <a HREF="altaKiosco.jsp">Alta kiosco</a>
                    <br>
                    <br>
                    <a HREF="index.jsp">Volver a pantalla principal</a>
                <%}%>
            <%}%>
        </form>
    </body>
</html> 
  #2 (permalink)  
Antiguo 22/11/2010, 10:17
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Proble con nullPointerException

Por cierto aqui teneis el error que me da: ADVERTENCIA: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.altaKiosco_jsp._jspService(altaKios co_jsp.java from :90)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:847)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:406)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:483)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:373)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:847)
at org.apache.catalina.core.StandardWrapper.service(S tandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipel ine.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPip eline.invoke(PESessionLockingStandardPipeline.java :85)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doServ ice(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMappe r.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(P rocessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(Proce ssorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(Process orTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtoc olFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(Defau ltProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(Defau ltProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(Htt pProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(Pr otocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(Selec tionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:6 9)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doW ork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run (AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)

INFO: Loading application Incidencias at /Incidencias
INFO: Incidencias was successfully deployed in 2.844 milliseconds.
ADVERTENCIA: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.altaKiosco_jsp._jspService(altaKios co_jsp.java from :93)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:847)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:406)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:483)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:373)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:847)
at org.apache.catalina.core.StandardWrapper.service(S tandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipel ine.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPip eline.invoke(PESessionLockingStandardPipeline.java :85)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doServ ice(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMappe r.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(P rocessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(Proce ssorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(Process orTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtoc olFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(Defau ltProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(Defau ltProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(Htt pProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(Pr otocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(Selec tionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:6 9)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doW ork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run (AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)

ADVERTENCIA: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.altaKiosco_jsp._jspService(altaKios co_jsp.java from :93)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:109)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:847)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:406)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:483)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:373)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:847)
at org.apache.catalina.core.StandardWrapper.service(S tandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(S tandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipel ine.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPip eline.invoke(PESessionLockingStandardPipeline.java :85)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doServ ice(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMappe r.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(P rocessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(Proce ssorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(Process orTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute (DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtoc olFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(Defau ltProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(Defau ltProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(Htt pProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(Pr otocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(Selec tionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:6 9)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doW ork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run (AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)
  #3 (permalink)  
Antiguo 23/11/2010, 06:22
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Proble con nullPointerException

Nadie sabe lo que pasa?????? esque me urge un poco de prisa
  #4 (permalink)  
Antiguo 23/11/2010, 12:58
 
Fecha de Ingreso: noviembre-2008
Mensajes: 59
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Proble con nullPointerException

Comprueba que las rutas de los jsp's que pones son las correctas y que todos los objetos a los que accedes se encuentran inicializados. Los parámetros que pasas en el request también los tienes que comprobar, no sea que estés intentando acceder a un parámetro cuyo nombre no existe...
  #5 (permalink)  
Antiguo 24/11/2010, 03:34
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Proble con nullPointerException

El problema del nullpointer, es en general que estás intentando llamar a un método que actúa sobre un objeto null;

Ejemplo:

Vector vectorPrueba = null;
int longitudVector = vectorPrueba.lenght(); // null.length() devolverá nullPointerException

Para controlar esto tienes la siguiente opción
Vector vectorPrueba = null;
int longitudVector = 0; // Se inicializa en 0
if (vectorPrueba != null) {
longitudVector = vectorPrueba.lenght();
} // YA NO SALTA EL NULLPOINTER

En tu caso tienes que copiar el codigo fuente de la jsp en un editor de texto decente, por ejemplo el notepad++, encontrar la linea que te sale en el stacktrace (90) y mirar que código java se está ejecutando en esa linea. A veces no es tan claro y está dentro de un código que se inicia en esa linea, pero debes tratar de identificar qué objeto es null para evitarlo.

Para evitar valores null, puedes hacer cosas como estas:
Imaginate que quieres recuperar la variable nombre_kiosko de un servlet para mostrarlo en algún input.

Al inicio de la jsp, antes del form, abres código java y haces:
<%
String nombre_kiosko = request.getAttribute("nombreKiosko"); // Siempre que el atributo en el servlet se haya seteado como "nombreKiosko".
if (nombre_kiosko == null) nombre_kiosko = ""; // YA NO ES NULL
%>
  #6 (permalink)  
Antiguo 25/11/2010, 04:26
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Proble con nullPointerException

Si os fijais ya compruebo que si es null pero no se porque es como si no hiciese ese paso. Bufff hacia tanto que no programaba en java se me ha olvidado todo.
  #7 (permalink)  
Antiguo 25/11/2010, 05:18
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Proble con nullPointerException

De momento lo unico que se me ocurre es que tus input no estan enviando los datos depronto porque no tienen una identificacion. Te recomiendo intentes ponerles identificacion asi:
Código HTML:
Ver original
  1. <input type='text' name='ip' id='ip'>
  #8 (permalink)  
Antiguo 25/11/2010, 10:45
 
Fecha de Ingreso: agosto-2010
Mensajes: 40
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Proble con nullPointerException

No funciona y parte conel name ya lo habia hecho es que no entiendo el porque me da fallo de null esque si fuese null no deberia ni entrar. Madre mia con la tonteria que debe ser
  #9 (permalink)  
Antiguo 25/11/2010, 13:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Proble con nullPointerException

Hola,
La linea 90 o 93 que te marca no es de la JPS sino del fichero java en el que el Tomcat convierte el JSP, así que deberías buscar la clase java que el te ha creado (org/apache/jsp/altaKiosco_jsp.java) en el directorio work de tu contexto del Tomcat y en ese fichero mirar cuales son la linea 90 y la 93.

De todas formas, esta manera de comprobar si un objeto en Java es null no es correcta:
[quote]
if(ip.equals(null)||p_enlace.equals(null)||nombre_ kiosco.equals(null)){
respuesta="Ningun campo puede ser nulo";
}
[quote]
Si un objeto es null no se le puede llamar ningún método y eso incluye el método equals. Así que hay que hacerlo con ==. Así que este trozo de código se lleva muchos tickets para ser el culpable .

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #10 (permalink)  
Antiguo 26/11/2010, 03:06
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Proble con nullPointerException

GreenEyed va por buen camino. Yo te dije como evitarlo, pero no lo quería poner fácil porque tienes que darte cuenta tú de donde están los errores, ya que es la garantía de que no los repetirás.

Además revisa estas cosas.

<%!String error=null;%> ¿¿ ??

El se usa solo para cambiar el estado del boolean resultado en los if, pero no vale para =, sino para métodos. if (!stringPalabra.equals("")) (por ejemplo).

Etiquetas: Ninguno
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 16:50.