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
<%@ 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ía Individual", "PsicoPedagogía", "Platica con Director", "Platica en Secretaria Académica"};
String tCaso[] = {
"Indisciplina", "Asistencia Irregular",
"Falta Administrativa",
"Bajo Aprovechamiento Escolar",
"Incumplimiento de Tareas, trabajos, prácticas",
"Diferencia en la detección de asimilacion de conocimientos y habilidades",
"Deficiencia en la informació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> </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ó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ó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á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!!!!