Exibir resultado de consulta - Java Web

11 respostas
C

Olá, é o seguinte, eu consigo pegar o parametro da consulta, mais na hora que passa para uma outra pagina, para mostrar uma lista com o resultado está dando erro, a lista nao está mostrando, gostaria do auxilo de vocÊs, grato desde já.

public List<Cliente> listaConClientes()throws Exception{ OpenDatabase(); String SQL= "SELECT * " + "from cliente" + "where nome like ?"; pstmt = con.prepareStatement(SQL); pstmt.setString(1,'%'+nomeBusca+'%'); rs = pstmt.executeQuery(); Cliente c= null; List <Cliente> listaConClientes= new ArrayList <Cliente>(); while(rs.next()){ c=new Cliente(); c.setCod_cliente(rs.getInt("cod_cliente")); c.setNome(rs.getString("nome")); c.setCpf(rs.getString("cpf")); c.setRg(rs.getString("rg")); c.setRua(rs.getString("rua")); c.setBairro(rs.getString("bairro")); c.setCidade(rs.getString("cidade")); c.setNumero_casa(rs.getString("numero_casa")); c.setTelefone(rs.getString("telefone")); listaConClientes.add(c); } return listaConClientes; }

11 Respostas

C

Alguem?

F

Boa noite,

Este código parece estar ok… qual o erro aparece? Como está o código da página ou servlet do erro?

abs

C

então felipe, ele passa para a outra pagina… da esse erro.

Erro
[list]Código Cliente Nome Cpf Rg Atualizar Excluir[/list]

C

Teria que puxar o METODO POST, mais como eu faria isso ?

C

ALGUEM?

F

coyotegt:
então felipe, ele passa para a outra pagina… da esse erro.

Erro
[list]Código Cliente Nome Cpf Rg Atualizar Excluir[/list]

Olá, este erro não ajudou muito :frowning:

C

felipe é o seguinte vou postar os codigos e vou explicar oque to tentando fazer...

FORMULARIO
<form action="controleCliente.jsp?action=busca" method="post">
         <label for="nome">Digite o nome:</label><br />
         <input type="text" name="nomeBusca" id="nomeBusca" value="" />
         <input type="submit" value="Buscar" /><br /><br />
         </form>
PAGINA DE CONTROLE
else if(action.equalsIgnoreCase("busca")){           
              try{
            String nome=request.getParameter("nomeBusca");
            ClienteBD cb = new ClienteBD();
            Cliente c = cb.buscaporNome(nome);  
            
            if(c.getNome()!= null){
                cb.buscaporNome(nome);   
                request.getRequestDispatcher("clientesConsulta.jsp").forward(request, response);
            } else { 
                request.setAttribute("msg", "Cliente não encontrado");
                request.getRequestDispatcher("clientes.jsp").forward(request, response); 
            }
        
        }catch(Exception e){
            out.print("Erro:"+e.getMessage());          
        }[code]

PAGINA DE METODOS(METODO BUSCAR)
[code]public Cliente buscaporNome(String nome)throws Exception{
        OpenDatabase();
        String SQL= "select * "
                + "from cliente "
                + "where nome like ?";
        pstmt=con.prepareStatement(SQL);
        pstmt.setString(1,'%'+nome+'%');
        rs=pstmt.executeQuery();
        Cliente c= new Cliente();
        while(rs.next()){
          c.setCod_cliente(rs.getInt("cod_cliente"));
          c.setNome(rs.getString("nome"));
          c.setCpf(rs.getString("cpf"));
          c.setRg(rs.getString("rg"));
          c.setRua(rs.getString("rua"));
          c.setBairro(rs.getString("bairro"));
          c.setCidade(rs.getString("cidade"));
          c.setNumero_casa(rs.getString("numero_casa"));
          c.setTelefone(rs.getString("telefone"));
        }
        
            return c;
    }
ATÉ AI TA TUDO BELEZA, QUANDO EU CLICO EM BUSCAR Na pagina ele redireciona para uma outra pagina, ai nessa outra pagina eu gostaria de mostrar o resultado dessa pesquisa por meio de uma lista .. que eu estava tentando fazer assim
public List<Cliente> listaConClientes(String nome)throws Exception{
        OpenDatabase();
        String SQL= "SELECT * "
                + "from cliente"
                + "where nome like ?";
        pstmt = con.prepareStatement(SQL);
        pstmt.setString(1,'%'+nome+'%');
        rs = pstmt.executeQuery();
        Cliente c= null;
        List <Cliente> listaConClientes= new ArrayList <Cliente>();
        while(rs.next()){
          c=new Cliente();
          c.setCod_cliente(rs.getInt("cod_cliente"));
          c.setNome(rs.getString("nome"));
          c.setCpf(rs.getString("cpf"));
          c.setRg(rs.getString("rg"));
          c.setRua(rs.getString("rua"));
          c.setBairro(rs.getString("bairro"));
          c.setCidade(rs.getString("cidade"));
          c.setNumero_casa(rs.getString("numero_casa"));
          c.setTelefone(rs.getString("telefone"));
            listaConClientes.add(c);
    }
            return listaConClientes;                  
  
    }
e NA PAGINA PRA MOSTRAR A LISTA, ESTÁ CHAMANDO ELA ASSIM ..
<%
            try{
             
            ClienteBD cb = new ClienteBD();
            List<Cliente> lista= cb.listaConClientes();
            for(Cliente c : lista ){
                %>  
                <tr>
                    <td><%= c.getCod_cliente()%></td>
                    <td><%= c.getNome() %></td>
                    <td><%= c.getCpf() %></td>
                    <td><%= c.getRg() %></td>
<td><% out.print("<a href=clientesAtualizar.jsp?cod_cliente="+c.getCod_cliente()+">Atualizar</a>");%></td>            
<td><% out.print("<a href=controleCliente.jsp?action=excluir&cod_cliente="+c.getCod_cliente()+">Excluir</a>");%></td>                </tr>
       
            <%        
            }
            }catch(Exception e){
            out.print("Erro");
            }           
            %>

mais na hora que vai mostrar a lista da erro, conseguiu compreender? .. OBRIGADO PELA ATENÇÃO

F

coyotegt,

Algumas sugestões:

  1. No catch, em vez de fazer out.println(“Erro”), faça e.printstacktrace() isso deverá mostrar o erro de uma melhor forma e depois você posta aqui pra gente analisar.

  2. Crie uma classe teste para o método “listaConClientes(String nome)” passe o nome que está usando e veja se está retornando algo.

[]s

C

alguem?

J

Olá coyotegt,

Olha, primeiro que não é muito elegante ficar pedindo toda hora pra alguém ajudar. O povo daqui não trabalha pra você, a maioria está aqui pra compartilhar conhecimento e dar conselhos quando pode. E isso é um.

Mas vamos ao seu problema

Código Cliente Nome Cpf Rg Atualizar ExcluirIsso não é erro nem aqui nem na China. Procure melhor onde está o erro. Ele costuma ser grande, tipo assim:

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [arquivo.xml]; nested exception is java.io.FileNotFoundException: class path resource [arquivo.xml] cannot be opened because it does not exist at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:527) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:441) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 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.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74) at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451) at java.lang.Thread.run(Thread.java:619) Caused by: java.io.FileNotFoundException: class path resource [IMWSContext.xml;] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:157) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328) ... 56 more Onde você vai conseguir isso? Provavelmente nos logs do seu servidor web (está utilizando o Tomcat?).

Espero que eu tenha ajudado.

J

Perfeito.

Criado 14 de janeiro de 2013
Ultima resposta 16 de jan. de 2013
Respostas 11
Participantes 3