Estou desenvolvendo um aplicação web utilizando jsp e servlet e quero mostrar todos os meus registros do meu banco de dados e a quantidade de registros em uma table, criei um DAO em que realizei as consultas em que retornam os dados corretamente e coloquei em uma sessão em uma servlet dando o nome de sessaoListaMotoristasTodos e totalMotorista mas ao passar os valores recuperados com request.getSession().getAttribute("") e atribuir as variaveis, os valores não são atribuidos, as variaveis estão com nome de List listaMotoristas e Integer totalRegistros dando um erro de java.lang.NullPointerException.
JSP
<%--
Document : listaMotoristas
Created on : 10/09/2017, 14:15:17
Author : Tulio
--%>
<%@page import="java.util.Iterator"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="Classes.MotoristasDAO"%>
<%@page import="java.util.List"%>
<%@page import="Classes.Motoristas"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="css/css.css" type="text/css">
<title>JSP Page</title>
</head>
<body>
<div class="conteudo2">
<img src="imagens/imagens.jpg" alt="motorista" id="motorista">
</div>
<nav id="menu">
<div class="conteudo"> <a href="index.jsp">Controle Motoristas</a></div>
<div class="conteudo"> <a href="passageiros.jsp">Controle Passageiros</a></div>
<div class="conteudo"><a href="#">Controle Corridas</a></li></div>
</nav>
<h1>Lista de Motoristas Cadastrados</h1>
<%
int limite=3;
String numPagina=request.getParameter("numeroPagina");
if(numPagina==null){
numPagina="1";
int offset=(Integer.parseInt(numPagina)*limite)-limite;
}
List listaMotoristas=(List) request.getSession().getAttribute("sessaoListaMotoristasTodos");
Integer totalRegistros= (Integer) request.getSession().getAttribute("totalMotorista");
int totalPaginas=totalRegistros/limite;
if(totalRegistros%limite!=0){
totalPaginas++;
}
else{
totalPaginas=0;
}
String ordenacao=request.getParameter("ordenacao");
if(ordenacao==null){
ordenacao="mo_nome";
}
else{
ordenacao="";
}
out.println("<table>");
out.println("<form action='ListaMotoristasPaginada' method='get'>");
out.println("<tr><td colspan='6'>Localizar <input type='text' name='pesquisa'/>");
out.println("<input type='hiden' name='acao' value='listaMotorista'/></td></tr>");
out.println("</form>");
out.println("</table>");
for(Iterator iterator=listaMotoristas.iterator();iterator.hasNext();){
Motoristas mot=(Motoristas) iterator.next();
%>
<table border="1">
<tr>
<th>Nome</th>
<th>Data</th>
<th>CPF</th>
<th>Modelo</th>
<th>Status</th>
<th>Sexo</th>
<th>Ação</th>
<th>Ação</th>
</tr>
<input type="checkbox" href=""
<tr>
<td><%=mot.getMo_nome()%></td>
<td><%=mot.getMo_data()%></td>
<td><%=mot.getMo_cpf()%></td>
<td><%=mot.getMo_modelo()%></td>
<td><%=mot.getMo_status()%></td>
<td><%=mot.getMo_sexo()%></td>
<td><a href="exclusãoMotorista.jsp?nome=<%=mot.getMo_nome()%>">Excluir</a></td>
<td><a href="alterarMotorista.jsp?nome=<%=mot.getMo_nome()%>&cpf=
<%=mot.getMo_cpf()%>&data=<%=mot.getMo_data()%>&status=<%=mot.getMo_status()%>&sexo=<%=mot.getMo_sexo()%>&modelo=<%=mot.getMo_modelo()%>">Alterar</a></td>
</tr>
<%
}
out.println("<tr><td colspan='6'>");
int pagAnterior;
if(Integer.parseInt(numPagina)>1){
pagAnterior=Integer.parseInt(numPagina)-1;
out.println("<a href=listaMotoristas2.jsp?
numeroPagina="+pagAnterior+"&ordenacao"+ordenacao+">Anterior</a>");
}
else{
}
for(int i=1;i<=totalPaginas;i++){
if(i==Integer.parseInt(numPagina)){
out.println("<b>"+i+"</b>");
}
out.println("<a href=listaMotoristas2.jsp?numPagina="+i+">"+i+"</a>");
}
int proximaPag;
if((totalRegistros-(Integer.parseInt(numPagina)*limite))>0){
proximaPag=Integer.parseInt(numPagina)+1;
out.println("<a href=listaMotoristas2.jsp?
numPagina="+proximaPag+"&ordenacao"+ordenacao+">Proxima</a>");
}
out.println("</td></tr>");
%>
</table>
<footer>
Felipe Patrocinio felipe.massa10@hotmail.com
</footer>
</body>
</html>
ClasseDAO e Servlet
public Integer totalRegistros(String pesquisa){
try {
con = Conecta.conexao();
String sql="Select count(*) as contaRegistros from tb_motorista where mo_nome like '%"+pesquisa+"%'";
Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery(sql);
rs.next();
JOptionPane.showMessageDialog(null,rs.getString("contaRegistros"));
System.out.println(rs.getString("contaRegistros"));
Integer
totalRegistros=Integer.parseInt(rs.getString("contaRegistros"));
return totalRegistros;
} catch (Exception e) {
JOptionPane.showConfirmDialog(null,e);
}
return 0;
}
public List<Motoristas> mostrarMotoristas(){
try {
con = Conecta.conexao();
String sql="Select * from tb_motorista ";
Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery(sql);
List lista = new ArrayList();
while(rs.next()){
Motoristas mo= new Motoristas();
mo.setMo_nome((rs.getString("mo_nome")));
mo.setMo_data(rs.getString("mo_data"));
mo.setMo_cpf(rs.getString("mo_cpf"));
mo.setMo_modelo(rs.getString("mo_modelo"));
mo.setMo_status(rs.getString("mo_status"));
mo.setMo_sexo(rs.getString("mo_sexo"));
lista.add(mo);
}
return lista;
} catch (Exception e) {
JOptionPane.showConfirmDialog(null,e);
return null;
}
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
MotoristasDAO dao= new MotoristasDAO();
MotoristasDAO dao2= new MotoristasDAO();
String pesquisa=request.getParameter("pesquisa");
try {
if(pesquisa==null){
pesquisa="";
}
Integer totalMotorista=dao.totalRegistros(pesquisa);
request.setAttribute("totalMotoristas", totalMotorista);
List listaMotoristas2=dao2.mostrarMotoristas();
request.setAttribute("sessaoListaMotoristasTodos", dao2);
RequestDispatcher rd=
request.getRequestDispatcher("/listaMotoristas2.jsp");
rd.forward(request, response);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro na servelet"+e);
}
}