Autor Tema: org.apache.jasper.JasperException: java.lang.NullPointerException GlassFish  (Leído 6310 veces)

Andrea Rivera

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Hola comunidad espero que alguien me pueda ayudar por favor me dieron a revisar un código de un sistema escolar pero a la hora de enlazar de una pagina a otra (exclusivamente en un solo modulo y antes si funcionaba)  me genera el siguiente error:

type Exception report

messageInternal Server Error

descriptionThe server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
root cause

java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 4.1 logs.

me podrían ayudar por favor el codigo es el siguiente

Código: [Seleccionar]
<%@ page import="java.io.*, java.util.*, saiiut.comun.*, saiiut.escolar.*, saiiut.base.*"%>
<%@include file="/jsp/verAccesos.jsp"%>
<%
//---------------------------------------------------------------
// Datos de las COOKIES -----------------------------------------
HtmlCookies hc = new HtmlCookies(request);
int cveUniversidad = Integer.parseInt(hc.getCookieValue(Cookies.UNIVERSIDAD,"0"));
int cveUnidadAcademica = Integer.parseInt(hc.getCookieValue(Cookies.UNIDAD,"0"));
int cveUsuario = Integer.parseInt(hc.getCookieValue(Cookies.USUARIO, "0"));


Resultados rs = null;
Resultados rsBus = null;
String tSolucion[] = { "Tutoria Individual", "Asesor&iacute;a Individual", "PsicoPedagog&iacute;a", "Platica con Director", "Platica en Secretaria Acad&eacute;mica"};
String tCaso[] = {
"Indisciplina", "Asistencia Irregular",
"Falta Administrativa",
"Bajo Aprovechamiento Escolar",
"Incumplimiento de Tareas, trabajos, pr&aacute;cticas",
"Diferencia en la detecci&oacute;n de asimilacion de conocimientos y habilidades",
"Deficiencia en la informaci&oacute;n de valores y actitudes"
};


String urlRegresa = "casos_criticos_seg_andrea.jsp";
String buscar = "";
String sql = "";
String accion = "", carrera = "";
boolean error = false;
boolean colocaDatos = false;
boolean modificaReg = false;
boolean mostrarAvance = false;
boolean modificaSeg = false;
String xFecha = "";

int idRegistro = 0;  // Identificamos el caso critico
int idSeg = 0;     // Identificamos el seguimiento



// Obtnemos los datos principales
if (request.getParameter("buscar") != null) { buscar = request.getParameter("buscar"); }
if (request.getParameter("accion") != null) { accion = request.getParameter("accion"); }
if(request.getParameter("idCaso") != null) {
idRegistro = Integer.parseInt( request.getParameter("idCaso") );
}

if(accion!="") { %>
<%@include file="caso_critico_sol_save.jsp"%>
<%
}
accion = "new";

if( idRegistro>0 ){
sql = "SELECT tbCas.idCasoCritico, a.matricula, (alum.nombre+' '+alum.apellido_pat+' '+alum.apellido_mat) as alumno, ";
sql += "(p.apellido_pat+' '+p.apellido_mat+' '+p.nombre) as profesor, fechaCaso, tipoCaso, periodo, tipoSolucion, ";
sql += "tbCaSeg.idCasoCriticoSeg, tbCas.observaciones caso, tbCaSeg.observaciones, tbCaSeg.fechaSol, tbCaSeg.seguimiento, ";
sql += "grupos.grado as mGrado, grupos.id_grupo as mGrupo FROM tbCasosCriticos tbCas ";
sql += "LEFT JOIN tbCasoCriticoSeg tbCaSeg ON tbCas.idCasoCritico = tbCaSeg.idCasoCritico ";
sql += "INNER JOIN alumnos a ON a.cve_alumno = tbCas.idAlumno ";
sql += "INNER JOIN personas alum ON alum.cve_persona = tbCas.idAlumno ";
sql += "INNER JOIN personas p ON p.cve_persona = tbCas.idPersona ";
sql += "INNER JOIN grupos ON grupos.cve_grupo = a.cve_grupo ";
sql += "WHERE tbCas.idCasoCritico = "+idRegistro;

// Realizamos la consulta
rsBus = UtilDB.ejecutaConsulta( sql );

//out.println( sql );
rsBus.next();
if( rsBus.recordCount()>0) {
colocaDatos = true;

idSeg =rsBus.getInt("idCasoCriticoSeg");
if( rsBus.getString("observaciones")=="" ) {
modificaSeg = true;
} else if( rsBus.getString("seguimiento").equals("") ) {
mostrarAvance = true;
}

sql = "SELECT (abreviatura) as carrera FROM alumnos a ";
sql += "INNER JOIN carreras_cgut cgut ON cgut.cve_carrera = a.cve_carrera ";
sql += "WHERE matricula = " + rsBus.getString("matricula");
rs = UtilDB.ejecutaConsulta( sql );
//out.println( sql );
rs.next();
if(rs.recordCount()>0) {
carrera = rs.getString("carrera");
}
rs.close();
rs=null;

// Verificamos si existen observaciones dentro de seguimientos
if ( rsBus.getString("observaciones")!="" ) {
accion = "update";
} else {
accion = "new";
}
}
}
%>

<!Doctype html>
<html>
<head>
<script language="JavaScript"></script>
<title>Catalogo Indicadores</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script languaje="javascript" src="<%=request.getContextPath()%>/js/jquery-1.10.2.js"></script>
<script languaje="javascript" src="<%=request.getContextPath()%>/js/formulario.js"></script>
<link rel="stylesheet" href="<%=request.getContextPath()%>/css/vinculacion.css" type="text/css">
<style type="text/css">
.limpiar { clear: both; }
body,html{background-color:#eee;}
#boxSeccion { font-size: 11px; position:relative; top:-31px; right: 0px; text-align: right;}
.btnSeccion { text-decoration: none; padding: 10px; background-color: #FF8C00; border-radius: 5px 5px 0px 0px; color:#eee; font-weight: bold;}
.seleccionado { background-color: gray; color:#aaa; }
.btnSeccion:hover { background-color: orange; color: #fff;}
label { text-align: right;}
.txtBox { background-color: #eee; display: inline-block; width: 324px; padding-left: 5px; padding: 5px; border-radius: 3px; border:solid #aaa 1px; }
.txtObs { background-color: #fff; display: block; padding: 5px; height: 90px; overflow: scroll; overflow-x: hidden; }
#tipoSol { font-size: 14px;  font-weight: bold;}
</style>
<script type="text/javascript">
$('document').ready(function (){
$('.btnCloseMsg').on("click", function (e){
e.preventDefault();
noShow();
});

function noShow(){
$('.alerta').fadeOut();
}

$('#btnAgregar').on("click", function(e){
e.preventDefault();
$('#tipoCom').clone().insertAfter(this);
});

$(".btnEliminarCom").on("click", function(e){
e.preventDefault();
var obj = this;

var valor = $(this).attr("href");
var valores = valor.split("=");

$.post("../acciones/delRegistro.jsp", { tabla:"Comunicaciones", campo1:"Comunicacion", campo2:"datoCom", id:valores[0], valor:valores[1] }, function(data) {
$(obj).parent().parent().fadeOut();
});
});

$(".btnAccion").on("click", function(e){
if(this.name=="guardar") {
// Verificamos la opcion que ingreso el usuario
validar( $('#accion').val() );
}
});
});

function validar(opc) {
var correcto = false;
var obj="";
if(opc=="new") {
obj = $('#observacion').val();
correcto = (obj=="") ? alert('No ha ingresado sus observaciones de la situacion a resolver') : correcto= true;
} else if(opc=="update"){
obj = $('#seguimiento').val();
correcto = (obj=="") ? alert('No ha ingresado sus comentarios de la solucion a la situacion a resolver') : correcto= true;
}

// Determinamos el resultado de la confirmacion de datos
if(correcto) {
if(confirm("Desea guardar la informacion")) {
$("#mfrm").submit();
}
}
}
</script>
</head>

<body>
<% try { %>

<p>&nbsp;</p>
<form id="mfrm" name="mfrm" action="" method="post">
<fieldset style="width:550px;">
<div id="boxSeccion">
<a href="<%=urlRegresa%>" class="btnSeccion seleccionado">Regresar</a>
</div>
<input type="hidden" name="idRegistro" id="idRegistro" value="<%=idRegistro%>">
<input type="hidden" name="accion" id="accion" value="<%=accion%>">
<input type="hidden" name="idSeg" id="idSeg" value="<%=idSeg%>">
<p>
<fieldset style="width:96%;">
<legend>Datos Alumno:</legend>
<div style="float:left; width:20%; margin:10px;">
<label>Carrera:</label>
<span class="txtBox" style="font-weight: bold;width:100%; color:#00f; font-weight:bold; "><%=(colocaDatos) ? carrera : ""%></span>
</div>
<div style="float:left; width:20%; margin:10px;">
<label>Matricula:</label>
<span class="txtBox" style="font-weight: bold;width:100%; color:#00f; text-align:center;"><%=(colocaDatos) ? rsBus.getString("matricula") : ""%></span>
</div>

<div style="float:left; width:10%; margin:10px;">
<label>Grado:</label>
<span class="txtBox" style="font-weight: bold;width:100%; text-align:center;"><%=(colocaDatos) ? rsBus.getInt("mGrado") : ""%></span>
</div>
<div style="float:left; width:10%; margin:10px;">
<label>Grupo:</label>
<span class="txtBox" style="font-weight: bold; width:100%; text-align:center;"><%=(colocaDatos) ? rsBus.getString("mGrupo") : ""%></span>
</div>
<div class="limpiar"></div>
<p><br>
<label style="width:auto;">Alumno:</label>
<span class="txtBox" style="color:#00f; font-weight:bold; width:80%;"><%=(colocaDatos) ? rsBus.getString("alumno") : ""%></span>
</p>
</fieldset>
</p>

<p>
<label>Determino caso critico:</label>
<span class="txtBox" style="color:#2f2f2f; font-weight:bold;"><%=(colocaDatos) ? rsBus.getString("profesor") : ""%></span>
</p>
<fieldset style="width:96%;">
<legend>Caso:</legend>
<p>
<label>Tipo de Caso:</label>
<span class="txtBox"><%=(colocaDatos) ? tCaso[rsBus.getInt("tipoCaso")-1] : ""%></span>
</p>
<span class="txtObs"><%=(colocaDatos) ? rsBus.getString("caso") : ""%></span>
</fieldset>

<p>
<label>Tipo Soluci&oacute;n</label>
<% if( modificaSeg ) { %>
<select name="tipoSol" id="tipoSol">
<% for(int i=0; i< tSolucion.length; i++) { %>
<option value="<%=(i+1)%>"<%=((colocaDatos) ? ((rsBus.getInt("tipoSolucion")==(i+1)) ? " selected" : "") : "")%>>
<%=tSolucion[i]%></option>
<% } %>
</select>
<% } else { %>
<span class="txtBox">
<%=(colocaDatos) ? ((rsBus.getInt("tipoSolucion")==0) ? "" : tSolucion[rsBus.getInt("tipoSolucion")-1] ) : ""%>
</span>
<% } %>
</p>
<p>
<label style="text-align:left; font-weight:bold;">Observaciones:</label>
<% if( modificaSeg ) { %>
<textarea name="observacion" id="observacion" cols="10" rows="6"><%=(colocaDatos) ? rsBus.getString("observaciones") : ""%></textarea>
<% } else { %>
<span class="txtObs"><%=(colocaDatos) ? rsBus.getString("observaciones") : ""%></span>
<% } %>
</p>
<%
if (!modificaSeg) {
xFecha = rsBus.getCalendar("fechaSol").get(Calendar.DATE)+"/"+Utilerias.getMes(rsBus.getCalendar("fechaSol")).substring(0,3)+"/"+rsBus.getCalendar("fechaSol").get(1);
if(modificaReg==false) {
%>
<p>
<label style="text-align:left; font-weight:bold;">Fecha Soluci&oacute;n:</label>
<span class="txtBox"><%=xFecha%></span>
</p>
<%
}
}
%>
<hr>
<% if( !modificaSeg) { %>
<p>
<label style="text-align:left; display:block; width:100%; font-weight:bold;">Resultado del Seguimiento:</label>
<% if( mostrarAvance ) { %>
<textarea name="seguimiento" id="seguimiento" cols="10" rows="6"><%=(colocaDatos) ? rsBus.getString("seguimiento") : ""%></textarea>
<% } else {%>
<span class="txtObs"><%=(colocaDatos) ? rsBus.getString("seguimiento") : ""%></span>
<% } %>
</p>
<% } %>
<p>
<div class="separator"></div>
<% if( modificaSeg || mostrarAvance) { %>
<a href="#" class="btnAccion" name="guardar"><%=((colocaDatos && (accion=="update")) ? "Actualizar" : "Guardar")%></a>
<% } %>
<a href="<%=urlRegresa%>" class="btnAccion" name="regresar">Regresar</a>
</p>
</fieldset>
</form>

<p><br></p>
<div class="separator2"></div>
<div id="footerMsg">
<div class="separator1"></div>
<div class="sepInfo">
  Universidad Tecnologica de Xicotepec de Ju&aacute;rez Puebla
</div>
</div>

<% if(error) { %>
<div class="alerta">
Los datos han sido almacenados correctamente
<a href="#" class="btnCloseMsg">Cerrar</a>
</div>
<% }
if( idRegistro>0 ){
rsBus.close();
rsBus = null;
}
%>
<% } catch(Exception e) {

out.println( e.toString() );
}%>
</body>
</html>

por lo que he leido la variable idcaso viene con valor nulo como corrijo auxiliooooo!!!!
« Última modificación: 09 de Noviembre 2015, 08:24 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:org.apache.jasper.JasperException: java.lang.NullPointerException GlassFish
« Respuesta #1 en: 09 de Noviembre 2015, 08:25 »
Hola Andrea en el código tienes este fragmento

Código: [Seleccionar]
if(request.getParameter("idCaso") != null) {
idRegistro = Integer.parseInt( request.getParameter("idCaso") );
}

De modo que parece que si idCaso viene sin valor esto te puede generar otros errores derivados como que idRegistro se quede también sin contenido. La variable idCaso parece que pudiera venir desde un formulario anterior. Tendrías que revisar ese formulario anterior y ver qué problema hay para que en esta página no se reciba el valor de idCaso. Una cosa que te puede ayudar es mostrar un mensaje como "El contenido recibido para la variable idCaso es"+request.getParameter("idCaso")

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

Andrea Rivera

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:org.apache.jasper.JasperException: java.lang.NullPointerException GlassFish
« Respuesta #2 en: 13 de Noviembre 2015, 19:25 »
Fíjate que imprimo el idCaso en el formulario anterior y si tiene el valor no se porque no ejecuta nada del formulario del que te pase el código....

Andrea Rivera

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Re:org.apache.jasper.JasperException: java.lang.NullPointerException GlassFish
« Respuesta #3 en: 13 de Noviembre 2015, 19:31 »
Valor del idCaso!!!

Código: [Seleccionar]
Obtenemos los datos
while( rs.next()) {
idCaso = rs.getInt("idCasoCritico");
out.println(idCaso);
xFechaCaso = rs.getCalendar("fechaCaso").get(Calendar.DATE)+"/"+Utilerias.getMes(rs.getCalendar("fechaCaso")).substring(0,3)+"/"+rs.getCalendar("fechaCaso").get(1);
%>

<tr class="divRenglon numRen<%=(cont%2)%>">
<td style="width:<%=sizeTitulo[0]%>%;">
<a href="casos_criticos_sol_andrea.jsp?idCaso=<%=idCaso%>" class="btnModificar"></a>

</td>
<td style="width:<%=sizeTitulo[1]%>%;"><%=rs.getInt("periodo")%></td>
<td style="width:<%=sizeTitulo[2]%>%;"><%=rs.getString("abreviatura")%></td>
<td style="width:<%=sizeTitulo[3]%>%;"><%=rs.getString("matricula")%></td>
<td class="texto" style="width:<%=sizeTitulo[4]%>%;"><%=rs.getString("alumno")%></td>
<td class="texto" style="width:<%=sizeTitulo[5]%>%;"><%=rs.getString("profesor")%></td>
<td style="width:<%=sizeTitulo[6]%>%;"><%=xFechaCaso%></td>
<td class="texto" style="width:<%=sizeTitulo[7]%>%;">
<%
switch( rs.getInt("tipoCaso") ){
case 1: out.println("Indisciplina");break;
case 2: out.println("Asistencia Irregular");break;
case 3: out.println("Falta Administrativa");break;
case 4: out.println("Bajo Aprovechamiento Escolar");break;
case 5: out.println("Incumplimiento de Tareas, trabajos, pr&aacute;cticas");break;
case 6: out.println("Diferencia en la detecci&oacute;n de asimilacion de conocimientos y habilidades");break;
case 7: out.println("Deficiencia en la informaci&oacute;n de valores y actitudes");break;

}
%>
</td>
<td style="width:<%=sizeTitulo[8]%>%;">
<a href="casos_criticos_sol_andrea.jsp?idCaso=<%=idCaso%>">
<img src="<%=request.getContextPath()%>/images/<%=((rs.getString("observaciones").equals("")) ? "error.png" : "exito.png")%>">
</a>
</td>
<td style="width:<%=sizeTitulo[9]%>%;">
<a href="casos_criticos_sol_andrea.jsp?idCaso=<%=idCaso%>">
<img src="<%=request.getContextPath()%>/images/<%=((rs.getString("seguimiento").equals("")) ? "error.png" : "exito.png")%>">

</a>
</td>
</tr>
<%
cont++;
}
} else {

}
rs.close();
rs = null;
%>
« Última modificación: 13 de Noviembre 2015, 19:33 por Andrea Rivera »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".