Problemas Recuperar as informações da Hibernate

Deve problema a recuperar as informações da Hibernate. Já tentamos várias maneiras e não encontrei para resolver essa situação veja a mensagem de erro

Tela de erro

HTTP Status 404 - /HibernateComJSP/ServletLista

--------------------------------------------------------------------------------

type Status report

message /HibernateComJSP/ServletLista

description The requested resource (/HibernateComJSP/ServletLista) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.30

Lista.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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">
<title>Insert title here</title>
</head>
<body>


<h1>Lista do Produtos</h1><br>

<table border="2">
<tr><td>ID</td><td>PRODUTOS</td><td>CATEGORIA</td><td>PREÇO</td></tr>
<c: forEach var="lista" items="${lista}">
	<tr>
		<td><c:out value="${lista.id}" /></td>
		<td><c:out value="${lista.nomeProd}" /></td>
		<td><c:out value="${lista.categoria}" /></td>
		<td><c:out value="${lista.preco}" /></td>
	</tr>
</c:>
</table>
</body>
</html>

Controlador para listar a tela

	@SuppressWarnings("unchecked")
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		SessionFactory sf = (new AnnotationConfiguration().configure("/cfg/hibernate.cfg.xml")
				.buildSessionFactory());
		
		Session sessao = sf.openSession();
		
		SQLQuery questao = sessao.createSQLQuery("SELECT * FROM	produtos");
		
		List<Produtos> lista = questao.list();
		
		System.out.println("Teste lista: "+lista.size());
		
		request.setAttribute("lista", lista);
		RequestDispatcher rd = request.getRequestDispatcher("Lista.jsp");
		rd.forward(request, response);

		
	}

A classe do produtos funcionam corretamente que já foram testado para inserir as informações no BD.

Espero que vcs me ajudem… obrigado!!

Pra começar se tu tá usando hibernate não precisa usar select *

dá uma procurada no google e veja se acha um tutorial decente de hibernate…

[quote=Puka]Pra começar se tu tá usando hibernate não precisa usar select *

dá uma procurada no google e veja se acha um tutorial decente de hibernate…

[/quote]

Puka,

eu já tirei “select *” e testamos, mas mesma coisa não funciona e aparecendo a tela http - 400, não sei que tá acontecendo esse erro…

Pelo status do erro, não deve ter nada a ver com o hibernate e sim com o mapeamento deste servlet.

Verifique o mapeamento dele no web.xml

[quote=emanuelCruz]Pelo status do erro, não deve ter nada a ver com o hibernate e sim com o mapeamento deste servlet.

Verifique o mapeamento dele no web.xml[/quote]

eu tenho pouco conhecimento da sobre web.xml, copiei e postar aqui, veja em baixo para ver tem alguns problemas mapeamento da Servlet.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>HibernateComJSP</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>ServletIncluir</display-name>
    <servlet-name>ServletIncluir</servlet-name>
    <servlet-class>Controlador.ServletIncluir</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletIncluir</servlet-name>
    <url-pattern>/ServletIncluir</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>ServletLista</display-name>
    <servlet-name>ServletLista</servlet-name>
    <servlet-class>Controlador.ServletLista</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletLista</servlet-name>
    <url-pattern>/ServletLista</url-pattern>
  </servlet-mapping>
</web-app>

Não sei como você está chamando o teu servlet (no browser).
Mas pelo que vi o correto seria chamar assim:
http://localhost:8080/suaAplicacao/ServletIncluir
Acredito que você estava chamando assim:

http://localhost:8080/suaAplicacao/HibernateComJSP/ServletIncluir

Têm que ser como o /ServletLista

[quote=emanuelCruz]Não sei como você está chamando o teu servlet (no browser).
Mas pelo que vi o correto seria chamar assim:
http://localhost:8080/suaAplicacao/ServletIncluir
Acredito que você estava chamando assim:

http://localhost:8080/suaAplicacao/HibernateComJSP/ServletIncluir

Têm que ser como o /ServletLista [/quote]

Pois é! mas instalei Tomcast tudo certinho. abrir projeto da web também. não consegui descobrir alguma detalhe esse erro que ocorreu.

Então cara, acho que teu mapeamento tá certo. Ele deve estar entrando dentro do seu controlador.

Mas veja, ele está redirecionando para o Lista.jsp. Aonde está esse arquivo?

Tenta criar uma pasta chamada jsp dentro do seu web contents e coloca assim

Só para testar, para ver se dá certo

[quote=javablue]Então cara, acho que teu mapeamento tá certo. Ele deve estar entrando dentro do seu controlador.

Mas veja, ele está redirecionando para o Lista.jsp. Aonde está esse arquivo?

Tenta criar uma pasta chamada jsp dentro do seu web contents e coloca assim

Só para testar, para ver se dá certo[/quote]

Lista.jsp fica na pasta web contents.

Já criei e coloquei Lista.jsp na pasta e alterei esse código… mas não adianta, ainda ocorrendo a problemas http 400

tenta invocar a pagina “Lista.jsp” diretamente da url…
creio que o “/jsp”, possa estar colocando 2 barras no URL, ficando algo parecido como “http://localhost:8080/sistema//jsp/Lista.jsp”.
tente colocar apenas o “jsp/Lista.jsp”

Olá, pessoal!

Acabei de descobrir e funcionou…

Antes estava coloquei código

Servlet incluindo

response.sendRedirect("Lista.jsp");

Servlet Consulta

	request.setAttribute("lista",list);
	RequestDispatcher rd = request.getRequestDispatcher("Lista.jsp");
	rd.forward(request, response);

Esse pode está ocorrendo problemas… porque envia direito da página Lista.jsp sem estar carregando os códigos.

Agora deu resolveu a problemas e segue as modificação

Quando fazer cadastro na página index.htm e clique envia os dados para IncluirServlet e vai redirecionar para ConsultaServlet para carregar os dados manda para listar na tela da página. veja em abaixo.

IncluirServlet

response.sendRedirect("ConsultaServlet"); // no servlet incluir para mandar outro servlet para carregar os dados vai para tela.

Servlet Consulta

	request.setAttribute("lista",list);
	RequestDispatcher rd = request.getRequestDispatcher("Lista.jsp");
	rd.forward(request, response);
        // Assim acaba carregar os dados para enviar as informações da tela.

Olá, pessoal!

Mil Desculpa! me confundi… mandei forum errado…

vou tentar que você me diz… valeu!!

Obrigado!

[quote=dxos]tenta invocar a pagina “Lista.jsp” diretamente da url…
creio que o “/jsp”, possa estar colocando 2 barras no URL, ficando algo parecido como “http://localhost:8080/sistema//jsp/Lista.jsp”.
tente colocar apenas o “jsp/Lista.jsp”
…[/quote]

Dxos,

Acabei de testar e ocorreu outro tipo de problemas. veja ai baixo. fiz mesmo que você disse.

Mensagem de ero

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: Unable to compile class for JSP: 

An error occurred at line: 7 in the generated java file
Only a type can be imported. Persistencia.Produtos resolves to a package

An error occurred at line: 13 in the jsp file: /jsp/Lista.jsp
Produtos cannot be resolved to a type
10: &lt;title&gt;Insert title here&lt;/title&gt;
11: &lt;/head&gt;
12: &lt;body&gt;
13: &lt;% List&lt;Produtos&gt; lista = (List&lt;Produtos&gt;) request.getAttribute(&quot;lista&quot;);%&gt;
14: 
15: &lt;h1&gt;Lista do Produtos&lt;/h1&gt;<br>
16: 


An error occurred at line: 13 in the jsp file: /jsp/Lista.jsp
Produtos cannot be resolved to a type
10: &lt;title&gt;Insert title here&lt;/title&gt;
11: &lt;/head&gt;
12: &lt;body&gt;
13: &lt;% List&lt;Produtos&gt; lista = (List&lt;Produtos&gt;) request.getAttribute(&quot;lista&quot;);%&gt;
14: 
15: &lt;h1&gt;Lista do Produtos&lt;/h1&gt;<br>
16: 


Stacktrace:
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.30 logs.

Qual é situação essa ocorreu a falha?

Então…

você trocou o RequestDispatcher ?

colocou:

RequestDispatcher rd = request.getRequestDispatcher("jsp/Lista.jsp");  

como ele esta ?

[quote=dxos]Então…

você trocou o RequestDispatcher ?

colocou:

RequestDispatcher rd = request.getRequestDispatcher("jsp/Lista.jsp");  

como ele esta ?[/quote]

Já alterei uma parte e apareceu outro erro… veja

Mensagem de 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: org.apache.jasper.JasperException: Unable to load class for JSP
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:161)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

org.apache.jasper.JasperException: Unable to load class for JSP
	org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:630)
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:149)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

java.lang.ClassNotFoundException: org.apache.jsp.jsp.Lista_jsp
	java.net.URLClassLoader$1.run(Unknown Source)
	java.security.AccessController.doPrivileged(Native Method)
	java.net.URLClassLoader.findClass(Unknown Source)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
	org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:628)
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:149)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.30 logs.

E a agora?

Isso é erro de compilação do JSP, no outro post que você fez, você postou o erro. Ele diz que não reconheceu a classe Produtos do List que você tinha criado, precisa fazer o import dessa classe dentro do jsp.

Abraço

jsnpereira

No primeiro Exemplo que vc postou, vc utilizava JSTL, no erro que você colou vc esta usando scriptled, qual dos 2 vc esta realmente usando ?

se for scriptled concordo com o javablue, se não de uma olhada pois acho que você não declarou as taglibs do JSTL.

[quote=dxos]jsnpereira

No primeiro Exemplo que vc postou, vc utilizava JSTL, no erro que você colou vc esta usando scriptled, qual dos 2 vc esta realmente usando ?

se for scriptled concordo com o javablue, se não de uma olhada pois acho que você não declarou as taglibs do JSTL.[/quote]

Você diz é esse importação da classe List ou ArrayList no JSP, correto? mas dei uma olhada nas primeiras linhas da página da JSP, veja em baixo

&lt;%@page import="java.util.List"%&gt;
&lt;%@page import="Persistencia.Produtos"%&gt;
&lt;%@page import="java.util.ArrayList"%&gt;
&lt;%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;html&gt;
&lt;head&gt;

é esse?

To utilizando a programa Eclipse…