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 reportmessage /HibernateComJSP/ServletListadescription The requested resource (/HibernateComJSP/ServletLista) is not available.--------------------------------------------------------------------------------Apache Tomcat/6.0.30
Lista.jsp
<%@pagelanguage="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><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><h1>Lista do Produtos</h1><br><tableborder="2"><tr><td>ID</td><td>PRODUTOS</td><td>CATEGORIA</td><td>PREÇO</td></tr><c:forEachvar="lista"items="${lista}"><tr><td><c:outvalue="${lista.id}"/></td><td><c:outvalue="${lista.nomeProd}"/></td><td><c:outvalue="${lista.categoria}"/></td><td><c:outvalue="${lista.preco}"/></td></tr></c:></table></body></html>
Controlador para listar a tela
@SuppressWarnings("unchecked")protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{SessionFactorysf=(newAnnotationConfiguration().configure("/cfg/hibernate.cfg.xml").buildSessionFactory());Sessionsessao=sf.openSession();SQLQueryquestao=sessao.createSQLQuery("SELECT * FROM produtos");List<Produtos>lista=questao.list();System.out.println("Teste lista: "+lista.size());request.setAttribute("lista",lista);RequestDispatcherrd=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.
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:
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:
Pois é! mas instalei Tomcast tudo certinho. abrir projeto da web também. não consegui descobrir alguma detalhe esse erro que ocorreu.
J
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
jsnpereira
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
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
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”
…
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);RequestDispatcherrd=request.getRequestDispatcher("Lista.jsp");rd.forward(request,response);// Assim acaba carregar os dados para enviar as informações da tela.
jsnpereira
Olá, pessoal!
Mil Desculpa! me confundi… mandei forum errado…
vou tentar que você me diz… valeu!!
Obrigado!
jsnpereira
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”
…
Dxos,
Acabei de testar e ocorreu outro tipo de problemas. veja ai baixo. fiz mesmo que você disse.
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
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.
jsnpereira
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.
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
<%@pageimport="java.util.List"%><%@pageimport="Persistencia.Produtos"%><%@pageimport="java.util.ArrayList"%><%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head>