Pessoal, gostaria de pedir ajuda a vocês mais uma vez!
Já procurei em vários tutoriais e tudo e sempre da erro e ainda não consegui descobrir o porque! Quero listar os dados do BD na JSP mais passando pela servlet.
Consigo fazer listar, mas só direto do DAO. Tem como me ajudarem?
ListarServlet.java:
[code]public class ListarServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public ListarServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doService(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doService(request, response);
}
protected void doService(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
UsuarioDAO usuarioDAO = new UsuarioDAO();
List<Usuario> listar = usuarioDAO.getLista();
request.setAttribute("listar", listar);
RequestDispatcher rd = request.getRequestDispatcher("listar.jsp");
rd.forward(request, response);
}
}[/code]
Listar.jsp
[code]<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>
<link rel=“stylesheet” type=“text/css” href=“css/style.css”>
<!-- INCLUSÃO DO TÍTULO DA PÁGINA -->
<title><%@ include file=“titulo.txt” %></title>
</head>
<body>
<%
List<Usuario> listar = (List<Usuario>)request.getAttribute("listar");
for (Usuario u : listar){
%>
<center>
<table>
<tr>
<td><%=u.getNome()%></td>
<td></td>
</tr>
</table>
</center>
<% } %>
</body>
</html>[/code]
Erro apresentado:
Jan 18, 2012 9:43:11 AM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.listar_jsp._jspService(listar_jsp.java:101)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:171)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Obs.: tirei os imports do codigo apenas para traze-lo para ca, para diminuir um pouco o codigo, mais caso queiram por favor me avisem.
O UsuarioDAO está certinho e se eu colocar para listar na servlet ou direto do dao ele lista sem problemas também.
Sei que java.lang.NullPointerException é erro de código e tals mais sou novo na área do java então me perdoem 
============== EDITADO || 11:23 ====================
Pessoal, consegui fazer funcionar da seguinte forma: mapeei no web.xml como página inicial o servlet ListarServlet e do servlet eu despachei para o index, acabando que ele só passa pelo ListarServet, carrega o mesmo e mostra o index.jsp (aonde tenho o listar.jsp incluido). Sendo assim, ele funciona normalmente, pois agora ele está sendo carregado.
Tem alguma forma de chamar ele obrigatoriamente no listar.jsp para que funcione sem essa “gambiarra”?