Java.lang.NullPointerException

2 respostas
G

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, "+

"<a href="http://SALAS.SALAS.TV">SALAS.SALAS.TV</a>, 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) {} } %>

2 Respostas

Javabuntu

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…

anderson.bonavides

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.

Criado 15 de abril de 2008
Ultima resposta 15 de abr. de 2008
Respostas 2
Participantes 3