Java.lang.NullPointerException - Funcao java no JSP

3 respostas
rollei

Ponteiro nulo, nao sei porque ... vou colocar o .jsp e a classe que ele ta chamando :/

<%@ page 	language="java"
			import="br.gov.ce.seplag.agenda.jdbc.DAO.*, br.gov.ce.seplag.agenda.businessLogic.*"
			pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"  lang="en">
	<head>
		<title>Index - Agenda</title>		
		<meta http-equiv="description" content="Index" />
		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
		
		<link 	rel="stylesheet"
				href="content/css/ui.datepicker.css"
				type="text/css"
				media="screen"
				title="core css file"
				charset="utf-8" />
		<link 	rel="stylesheet"
				href="content/css/cadastro.escala.css"
				type="text/css"
				media="screen"
				title="core css file"
				charset="utf-8" />
		
		<script type="text/javascript"
				src="content/js/jquery-1.2.3.js"			
				charset="utf-8">
		</script>
		<script type="text/javascript"
				src="content/js/ui.datepicker.js"			
				charset="utf-8">
		</script>
		<script type="text/javascript"
				src="content/js/ui.datepicker-pt-BR.js"			
				charset="utf-8">
		</script>
		<script type="text/javascript"
				src="content/js/functions.js"			
				charset="utf-8">
		</script>
		<script type="text/javascript"
			src="/agenda/dwr/engine.js">
		</script>
		<script type="text/javascript"
    		src="/agenda/dwr/util.js">
    	</script>
    	<script type="text/javascript"
			src="/agenda/dwr/interface/BusinessLogic.js">
		</script>
		<script type="text/javascript"
			src="/agenda/dwr/interface/AgendaManager.js">
		</script>
		<% 
			if (new AgendaManager().verificaSessao(request.getAttribute("usuario").toString(), request.getAttribute("senha").toString()) == false) {
				response.sendRedirect("http://sistemas4.seplag.ce.gov.br/agenda/");
			}
		%>
	</head>
	<body>
		<script type="text/javascript" src="content/js/menu_edicao.js"></script> 
		<script type="text/javascript" src="content/js/menu_construtor.js"></script>
		<br/>
		
		<table id="table1" width="30%" border="0" cellpadding="1" cellspacing="0" bgcolor="#d4d0c8">
			<tr align="left" bgcolor="#6b696b">
				<th colspan="6" class="fontwhite" scope="col">Cadastro de Escalas</th>
			</tr>
			<tr>
				<td>
					<table id="table2" width="%100" border="0" cellpadding="1" cellspacing="0">
						<tr bgcolor="#f7f7de">
							<td width="%10" class="fonttable">Data: </td>
							<td  width="%10">
	    						<input type="text" id="dateInput" value="Data" onchange="verificaEscalaData('dateInput')"></input>									
	    					</td>
	    					<td bgcolor="#f7f7de" class="fonttable" width="%10">Perito: </td>
	    					<td  width="%5">
			    				<select name="peritoSelect" id="peritoSelect">
									<option id="defaultSelect" value="defaultSelect">Selecione</option>
									<% request.setAttribute("peritos",new JuntaDAO().getLista()); %>
									<c:forEach var="peritos" items="${peritos}">
										<option id="${peritos.id}" value="${peritos.id}">
											${peritos.nome} 
										</option>
									</c:forEach>
								</select>
			    			</td>
			    			<td>
			    				<input 	id ="btPeritoSelect" type="button" 
									onclick="selecionaPerito('dateInput', 'peritoSelect', 'tabelaEscala');"
									value="Seleciona"></input>
			    			</td>
			    			<td>
			    				<input 	id ="btLimpaEscala" type="button"
									onclick="limpaEscala('tabelaEscala', '1', 'dateInput');"
									value="Limpa"></input>
			    			</td>
						</tr>
					</table>
				</td>
			</tr>
			<tr>
				<td>
					<form id="formEscala" name="formEscala" action="#">
						<table width="%100" bgcolor="#d4d0c8" id="tabelaEscala" border="0" cellpadding="1" cellspacing="1">
							<tr>
								<td bgcolor="#f7f7de" class="fonttable"><div align="center">Data</div></td>
								<td bgcolor="#f7f7de" class="fonttable"><div align="center">Perito</div></td>
								<td bgcolor="#f7f7de" class="fonttable"><div align="center">Turno</div></td>
								<td bgcolor="#f7f7de" class="fonttable"><div align="center">Hora (xx:xx)</div></td>
								<td bgcolor="#f7f7de" class="fonttable"><div align="center">Atendimentos</div></td>
								<td bgcolor="#f7f7de" width="1"></td>
							</tr>
							<tr>
								<td colspan="5" bgcolor="#f7f7de" class="fonttable" width="500"><div align="center">Insere dados de escala.</div></td>
								<td colspan="1" width="1">
									<div align="right">
										<input 	id ="btSalvaEscala" type="button" size="100" value="Salvar"
												onclick="salvaEscala('formEscala','1','dateInput')"></input>
									</div>
								</td>
							</tr>
						</table>
					</form>
				</td>
			</tr>
		</table>
					
		<script type="text/javascript" charset="utf-8">
			jQuery(function($){
				$("#dateInput").datepicker();
			});
		</script>
		
	</body>
</html>
public class AgendaManager {
	private Connection connection;
	
	public AgendaManager() throws SQLException, ClassNotFoundException {
		this.connection = ConnectionFactory.getConnectionMySQL();
	}
	
	public Boolean verificaSessao(String usuario, String senha) throws SQLException {
		Boolean boo = false;
		PreparedStatement stmt = (PreparedStatement) connection.prepareStatement(
				"SELECT *              " +
				"FROM TB_USUARIO_USR   " +
				"WHERE                 " +
				"MD5(NOM_LOGIN_USR) = '" + usuario + "' AND " +
				"MD5(TXT_SENHA_USR) = '" + senha + "'"
				);
		stmt.execute();
		ResultSet rs = stmt.executeQuery();
		boo = rs.first();
		rs.close();
		stmt.close();
		return boo;
	}
}

na verdade a classe eh maior, mas soh esse metodo que importa para esse caso

to recebendo esse erro
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /cadastroEscala.jsp at line 58

55: 			src="/agenda/dwr/interface/AgendaManager.js">
56: 		</script>
57: 		<% 
58: 			if (new AgendaManager().verificaSessao(request.getAttribute("usuario").toString(), request.getAttribute("senha").toString()) == false) {
59: 				response.sendRedirect("http://sistemas4.seplag.ce.gov.br/agenda/");
60: 			}
61: 		%>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.NullPointerException
	org.apache.jsp.cadastroEscala_jsp._jspService(cadastroEscala_jsp.java:115)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

**edit**
ahh ... esqueci de dizer to chamando a pagina usando essa url:"ENDERECODAPAGINA/cadastroEscala.jsp?usuario=13ceeda162e6ad2acce15d102a9ba00a&senha=827ccb0eea8a706c4c34a16891f84e7b"

3 Respostas

fiaux
request.getAttribute("usuario").toString()

Se request.getAttribute(“usuario”) não retornar nada (leia null) fazer request.getAttribute(“usuario”).toString() dá null pointer. O mesmo para request.getAttribute(“senha”).toString().

rollei

no caso eu to passando o endereco url da pagina com usuario e senha criptografados usando metodo get. o que preciso mudar para o codigo dar certo?

fiaux

Precisa assegurar que os parâmetros foram passados. Detalhe, verifique se o problema não foi lá dentro do verificaSessao().

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