Java.lang.NullPointerException

Galera!
To desenvolvento uma aplição para agendamento e controle de algumas salas de treinamento que existe aqui no serviço… O problema é que eu já revisei esse código mil vezes e não encontrei onde esta sendo lançado o erro java.lang.NullPointerException.
Andei dando uma olhadinha pelo FORUM e reparei que na maioria das vezes que essa exception é lançada é por causa de erro nos parametros, portanto, não encontrei o erro… Será que alguém pode me ajudar?

Segue abaixo a Root cause do Servlet Error e o código:

Root cause:
java.lang.NullPointerException
at salas_0005freuniao.c_00025asses._0002fsalas_0005freuniao_0002fclasses_0002flistaAgenda_0002ejsplistaAgenda_jsp_50._jspService(_0002fsalas_0005freuniao_0002fclasses_0002flistaAgenda_0002ejsplistaAgenda_jsp_50.java:99)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)

Código:

<%@ page import=“java.sql.*”%>
<%
response.setDateHeader(“Expires”, 0 );
response.setHeader(“Pragma”,“no-cache”);
if (request.getProtocol().equals(“HTTP/1.1”) ) { response.setHeader(“Cache-Control”, “no-cache”); }

String dt = request.getParameter(“dt”);
if (dt.length() == 7) { dt = “0”+dt.substring(0,1)+"/"+dt.substring(1,3)+"/"+dt.substring(3); }
if (dt.length() == 8) { dt = dt.substring(0,2)+"/"+dt.substring(2,4)+"/"+dt.substring(4); }

String c = “”;
String msg = “”;
String tv,video,som,inativo = “”;
String proj;
String bgcolor = “CCE2EE”;
int sl,reserva_extra;

Connection conn = null;
Statement stmt, stmt_ = null;
ResultSet rs, rs_ = null;

try {
Class.forName(“COM.ibm.db2.jdbc.app.DB2Driver”);
conn = DriverManager.getConnection(“jdbc:db2:D1EMC01”,“DB2EMCIT”,“23568923”);
stmt = conn.createStatement();
stmt_ = conn.createStatement();
rs = stmt.executeQuery("SELECT SALAS.SALAS.CODIGO, SALAS.SALAS.SALA, SALAS.SALAS.LOCALIZACAO, SALAS.SALAS.CAPACIDADE, "+
"SALAS.SALAS.TV, SALAS.SALAS.VIDEO, SALAS.SALAS.SOM, SALAS.CANHOES.UNIDADE, SALAS.CANHOES.CONTATO, SALAS.CANHOES.RAMAL "+
"FROM SALAS.CANHOES INNER JOIN SALAS.SALAS ON SALAS.CANHOES.CODIGO = SALAS.SALAS.RAMAL "+
“ORDER BY SALAS.SALAS.CODIGO”);
%>

<%
while(rs.next()) {
tv = rs.getString(5).trim();
video = rs.getString(6).trim();
som = rs.getString(7).trim();
proj = rs.getString(8).trim();
reserva_extra = rs.getString(9).trim().indexOf(dt);
inativo = rs.getString(10).trim();
%>

<%
sl = rs.getInt(1);
rs_ = stmt_.executeQuery(“SELECT * FROM SALAS.AGENDA WHERE SALA=”+sl+" AND DATA=’"+dt+"’ ORDER BY HORARIO");
while(rs_.next()) { c = rs_.getString(8).trim();
%>

<% if(bgcolor.equals("CCE2EE")) { bgcolor="E5F0F6"; } else { bgcolor="CCE2EE"; }}} %>
Utilize o calendário para navegar pela agenda Página inicial
Salas de reunião
Novo agendamento <%= rs.getString(2) %> - <%= rs.getString(3) %> <% if (tv.equals("S")) { %>Tv <% } %> <% if (video.equals("S")) { %>Videocassete <% } %> <% if (som.equals("S")) { %>Som <% } %> <% if (reserva_extra == -1 && inativo.equals("1")) { %><%= proj %> <% } %> Capacidade:<%= rs.getString(4) %> 
<%= rs_.getString(6) %> <%= rs_.getString(4) %>
<%= rs_.getString(3) %>
Excluir agendamento

<%
} catch (ClassNotFoundException e) { msg = "NÃO FOI POSSÍVEL LER O DRIVER DO BANCO DE DADOS. "+e; } catch (SQLException e) { msg = "NÃO FOI POSSÍVEL CONECTAR AO BANCO DE DADOS. "+e; %>

Erro de acesso.
Informe ocorrência abaixo
ao Administrador.

<%= msg %>

<% }finally { try { if (conn != null) { conn.close(); }} catch (SQLException e) {} } %>

colega dá uma lida aqui antes de tudo http://www.guj.com.br/posts/list/50115.java

esse erro é porque está usando uma referência nula…

depois de ler o tópico acima vai ficar mais fácil de te ajudar…

Provavelmente teu erro vai ta nessa linha pois vc deve tar tentando obter o tamanho de uma variável que é nula!

dt.lenght()

Logo um NullPointException é lançado.