Maven - Por que não está dando certo?

12 respostas
C

Bom dia, a todos,

Sou iniciante em Maven, e num exercicio, o resultado que estou tendo é esse, conforme mostra a imagem:

Desde ontem, que quebro a minha cabeça tentando descobrir o que está errado e não consigo! :frowning:

O meu código é:

index.xhtml

<?xml version="1.0" encoding="UTF-8"?> Sistema 1
<strong>Produtos.xhtml</strong>

<?xml version="1.0" encoding="UTF-8"?>







TODO supply a title







<h:form>

<h:commandButton value=“Novo Produto”

action="#{produtoController.novoProduto()}"/>
<h:dataTable value="#{produtoController.getProdutoList}" 
                             var="produto" border="1" > 
                    <f:facet name="header"> Produtos cadastrados</f:facet> 
                    
                    <h:column> 
                        <f:facet name="header">Codigo</f:facet> 
                        <h:outputText value="#{produto.codigo}" /> 
                    </h:column> 
                    
                    <h:column> 
                        <f:facet name="header">Descricao</f:facet> 
                        <h:outputText value="#{produto.descricao}" /> 
                    </h:column> 
                    
                    <h:column> 
                        <f:facet name="header">Preco</f:facet> 
                        <h:outputText value="#{produto.preco}" /> 
                    </h:column> 
                    
                    <h:column> 
                        <f:facet name="header">Quantidade</f:facet> 
                        <h:outputText value="#{produto.quantidade}" /> 
                    </h:column> 
                    
                    <h:column> 
                        <f:facet name="header">Data de cadastro</f:facet> 
                        <h:outputText value="#{produto.dataCadastro}" /> 
                    </h:column> 
                    
                    <h:column> 
                        <f:facet name="header">ação</f:facet>                        
                        <h:commandLink value = "Alterar"
                                       action = "#{produtoController.inicioAlterarProduto}">                        
                            <f:setPropertyActionListener
                                target = "#{produtoController.produto}" value = "#{produto}"/>                          
                        </h:commandLink>
                        
                        <h:commandLink value = " / Excluir"
                                       action = "#{produtoController.excluirProduto}">                        
                            <f:setPropertyActionListener
                                target = "#{produtoController.produto}" value = "#{produto}"/>                          
                        </h:commandLink>                            
                    </h:column>   
                         
                </h:dataTable> 
        </h:form>     
    </body>
</html>

package br.com.fuctura.controller;
import br.com.fuctura.model.Produto;
import br.com.fuctura.dao.ProdutoDAO;
import java.sql.SQLException;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class ProdutoController 
{
    private Produto produto;
    private ProdutoDAO produtoDAO;
    private List<Produto> produtoList;

    public ProdutoController() throws SQLException 
    {
        produtoDAO = new ProdutoDAO();
    }
  
    public List<Produto> getProdutoList() 
    {
        if (produtoList == null) 
        {
            produtoList = produtoDAO.pesquisarTodos();
        }
        return produtoList;
    }

    public ProdutoDAO getProdutoDAO() 
    {
        return produtoDAO;
    }

    public void setProdutoDAO(ProdutoDAO produtoDAO) 
    {
        this.produtoDAO = produtoDAO;
    }
    
    public String paginaProdutos()
    {
        return "Produtos";
    }
    
    public String novoProduto()
    {
        produto = new Produto();
        return "addProduto";
    }
    
    public Produto getProduto() 
    {
        return produto;
    }

    public void setProduto(Produto produto) 
    {
        this.produto = produto;
    }
    
    public String inicioAlterarProduto() 
    {
        return "";
        //return "alterarProduto";
    }

    public String fimAlterarProduto() 
    {
        produtoDAO.atualizar(produto);
        produtoList = null;
        return "produtos";
    }

    public void excluirProduto() 
    {
        
    }
}

package br.com.fuctura.model;

import java.util.Date;

public class Produto 
{
    private int codigo;
    private String descricao;
    private double preco;
    private int quantidade;
    private Date dataCadastro;

    public int getCodigo() 
    {
        return codigo;
    }

    public void setCodigo(int codigo) 
    {
        this.codigo = codigo;
    }

    public String getDescricao() 
    {
        return descricao;
    }

    public void setDescricao(String descricao) 
    {
        this.descricao = descricao;
    }
    
    public double getPreco() 
    {
        return preco;
    }

    public void setPreco(double preco) 
    {
        this.preco = preco;
    }

    public int getQuantidade() 
    {
        return quantidade;
    }

    public void setQuantidade(int quantidade) 
    {
        this.quantidade = quantidade;
    }

    public Date getDataCadastro() 
    {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) 
    {
        this.dataCadastro = dataCadastro;
    }        
}

package br.com.fuctura.dao;

import br.com.fuctura.model.Produto;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class ProdutoDAO {

    private Connection con;

    public ProdutoDAO() throws SQLException {
        Conexao conexao = new Conexao();
        
        this.con = conexao.getConexao();
        //new Conexao().getConexao();
    }

    public void inserir(Produto produto) {
        try {
            String sql = "insert into produto"
                    + " (codigo, descricao, preco, quantidade, data_cadastro)"
                    + "values (?,?,?,?,?)";
            PreparedStatement stm = con.prepareStatement(sql);
         
            stm.setInt(1, produto.getCodigo());
            stm.setString(2, produto.getDescricao());
            stm.setDouble(3, produto.getPreco());
            stm.setInt(4, produto.getQuantidade());
            java.sql.Date dataBanco = new java.sql.Date(
                    produto.getDataCadastro().getTime()); 
            stm.setDate(5, dataBanco);
            stm.execute();
    //        con.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }

    public void atualizar(Produto produto) {
        try {
            String sql = "update produto set descricao = ?, preco = ?, "
                    + "quantidade = ? where codigo = ?";
            PreparedStatement stm = con.prepareStatement(sql);

            stm.setString(1, produto.getDescricao());
            stm.setDouble(2, produto.getPreco());
            stm.setInt(3, produto.getQuantidade());
            stm.setInt(4, produto.getCodigo());
            stm.execute();
//            con.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }

    public void excluir(Produto produto) {
        try {
            String sql = "delete from produto where codigo = ?";
            PreparedStatement stm = con.prepareStatement(sql);
            
            stm.setInt(1, produto.getCodigo());
            stm.execute();
 //           con.close();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
    
    public List<Produto> pesquisarTodos() {
        try {
            List<Produto> produtoList = new ArrayList<Produto>();
            String sql = "select * from produto";
            PreparedStatement stm = con.prepareStatement(sql);
            
            ResultSet rs = stm.executeQuery();
            while (rs.next()) {
                Produto produto = new Produto();
                produto.setCodigo(rs.getInt("codigo"));
                produto.setDescricao(rs.getString("descricao"));
                produto.setPreco(rs.getDouble("preco"));
                produto.setQuantidade(rs.getInt("quantidade"));
                produto.setDataCadastro(rs.getDate("data_cadastro"));
                produtoList.add(produto);
            }
          //  con.close();
            return produtoList;
        } catch (SQLException ex) {
            ex.printStackTrace();
            return null;
        }
    }
}

package br.com.fuctura.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conexao 
{

    public Connection getConexao() throws SQLException 
    {
        String url = "jdbc:derby://localhost:1527/bancodedados";
        String usuario = "root";
        String senha = "root";
        return DriverManager.getConnection(url, usuario, senha);      
    }
}

O bando de dados que estou usando é Java DB.

Se alguém puder me ajudar a desvendar este mistério, agradeceria muito…

12 Respostas

thiago_silva_develop

bom dia,

acredito que possa ser esse “P” maiusculo em ProdutoController:

action="#{ProdutoController.paginaProdutos()}"/>

tente mudar para:

action="#{produtoController.paginaProdutos()}"/>
C

Fiz a alteração sugerida, mas infelizmente, não resultou! :frowning:

Mas, agradeço na mesma, Thiago!

C

Em todo caso, eu coloco a pasta src para quem puder/quiser dar uma olhada.

src.rar (4.7 KB)

thiago_silva_develop

EIta… da o mesmo o erro?

Um outro teste que pode ser feito é retirar o “()”.

action="#{produtoController.paginaProdutos}"/>
lucciano01

@ManagedBean(name = "produtoController") @SessionScoped public class ProdutoController implements Serializable

C

Infelizmente, não resultou!

mas agradeço na mesma, Lucciano!

Lfbdsan

@MamagedBean (name = produtoController)
posta seu bean pra eu ver

Lfbdsan

posta tb o web.xml

C

O meu web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	 version="3.1">
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping> 
    
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

Onde eu acho o meu bean???

lucciano01

cancela a implantação do projeto e manda limpar e construir

C

Já aprendi o que é beans!

package br.com.fuctura.model;
import java.util.Date;

public class Produto 
{
    private int codigo;
    private String descricao;
    private double preco;
    private int quantidade;
    private Date dataCadastro;

    public int getCodigo() 
    {
        return codigo;
    }

    public void setCodigo(int codigo) 
    {
        this.codigo = codigo;
    }

    public String getDescricao() 
    {
        return descricao;
    }

    public void setDescricao(String descricao) 
    {
        this.descricao = descricao;
    }
    
    public double getPreco() 
    {
        return preco;
    }

    public void setPreco(double preco) 
    {
        this.preco = preco;
    }

    public int getQuantidade() 
    {
        return quantidade;
    }

    public void setQuantidade(int quantidade) 
    {
        this.quantidade = quantidade;
    }

    public Date getDataCadastro() 
    {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) 
    {
        this.dataCadastro = dataCadastro;
    }        
}
C

Fiz e infelizmente não resultou…

Mas valeu pela dica!!!

Criado 24 de março de 2016
Ultima resposta 25 de mar. de 2016
Respostas 12
Participantes 4