Erro hibernate

17 respostas
fred_cbranco

Ola galera ao startar meu hibernate aparece o seguinte erro:

22/06/2011 12:46:29 org.apache.catalina.core.AprLifecycleListener init

INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0

22/06/2011 12:46:29 org.apache.tomcat.util.digester.SetPropertiesRule begin

AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:integrado did not find a matching property.

22/06/2011 12:46:29 org.apache.coyote.http11.Http11Protocol init

INFO: Initializing Coyote HTTP/1.1 on http-8081

22/06/2011 12:46:29 org.apache.catalina.startup.Catalina load

INFO: Initialization processed in 466 ms

22/06/2011 12:46:29 org.apache.catalina.core.StandardService start

INFO: Starting service Catalina

22/06/2011 12:46:29 org.apache.catalina.core.StandardEngine start

INFO: Starting Servlet Engine: Apache Tomcat/6.0.24

22/06/2011 12:46:29 org.apache.catalina.core.ApplicationContext log

INFO: Marking servlet Faces Servlet as unavailable

22/06/2011 12:46:29 org.apache.catalina.core.ApplicationContext log

GRAVE: Error loading WebappClassLoader

delegate: false

repositories:

/WEB-INF/classes/

----------> Parent Classloader:

org.apache.catalina.loader.StandardClassLoader@1004901

javax.faces.webapp.FacesServlet

java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)

at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)

at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4187)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4496)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:516)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:593)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

22/06/2011 12:46:29 org.apache.catalina.core.StandardContext loadOnStartup

GRAVE: Servlet /integrado threw load() exception

java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)

at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)

at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4187)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4496)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:516)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:593)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

22/06/2011 12:46:29 org.apache.coyote.http11.Http11Protocol start

INFO: Starting Coyote HTTP/1.1 on http-8081

22/06/2011 12:46:29 org.apache.jk.common.ChannelSocket init

INFO: JK: ajp13 listening on /0.0.0.0:8009

22/06/2011 12:46:29 org.apache.jk.server.JkMain start

INFO: Jk running ID=0 time=0/20  config=null

22/06/2011 12:46:29 org.apache.catalina.startup.Catalina start

INFO: Server startup in 421 ms

Alguem sabe oque é isto?

17 Respostas

caio_sope

Deve estar faltando alguma classe referenciada no seu WEB-INF/classes.

pedruhenrik
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

seu projeto utiliza JSF ?

acho q esta faltando algo.

att,

fred_cbranco

pedruhenrik:
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

seu projeto utiliza JSF ?

acho q esta faltando algo.

att,


nao usa lucas, nao usa

pedruhenrik

Lucas???

Posta seu web.xml acho q tem coisa a mais.

Att,

fred_cbranco

cara agora meu tomcat esta doido, eu to pra desistir do java.
O java nao é dificil o dificil é fazer a ide rodar legal affff
olha so o erro ele da tanto no netbeans quanto no eclipse:

GRAVE: Context [/projeto2] startup failed due to previous errors
22/06/2011 21:32:03 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
GRAVE: A web application registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
22/06/2011 21:32:03 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Name of currently proxied bean]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
22/06/2011 21:32:03 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
GRAVE: A web application created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [null] (value [null]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.

pedruhenrik

o que vc esta tentando fazer?

qual o escopo do projeto?

qual IDE vc esta usando, eclipse ou netbeans?

vc esta usando vraptor ou jsf?

vc conhece legal orientação a objetos?

vc já usou java alguma vez? conhece o conceito de servlets?

desculpa kra mas acho q esta faltando um pouco de clareza e objetividade, de forma geral, no sistema q vc esta desenvolvendo para a faculdade.
sinto q vc esta tentando apagar pequenos incêndios enquanto o verdadeiro problema esta bem mais abaixo, dessa forma vc pode acabar trocando as mãos pelos pés e tudo pode virar uma desorganização só rsrs.

quanto a esse último erro tenta fazer o seguinte:

  1. shutdown tomcat manually
  2. go to webapps folder and remove .war and folder of your project
  3. startup tomcat, and try deploying the war again

http://www.coderanch.com/t/483092/Tomcat/running-tomcat-HTTP-Status
http://www.coderanch.com/t/490015/Tomcat/DBC-Driver-error
http://forum.springsource.org/showthread.php?87335-Failure-to-unregister-the-MySQL-JDBC-Driver

outra coisa eu aconselho vc a usar o tomcat 7.x , eclipse helios ou indigo e netbeans 7 tb.

boa sorte.

att,

fred_cbranco

pedruhenrik:
o que vc esta tentando fazer?

qual o escopo do projeto?

qual IDE vc esta usando, eclipse ou netbeans?

vc esta usando vraptor ou jsf?

vc conhece legal orientação a objetos?

vc já usou java alguma vez? conhece o conceito de servlets?

desculpa kra mas acho q esta faltando um pouco de clareza e objetividade, de forma geral, no sistema q vc esta desenvolvendo para a faculdade.
sinto q vc esta tentando apagar pequenos incêndios enquanto o verdadeiro problema esta bem mais abaixo, dessa forma vc pode acabar trocando as mãos pelos pés e tudo pode virar uma desorganização só rsrs.

quanto a esse último erro tenta fazer o seguinte:

  1. shutdown tomcat manually
  2. go to webapps folder and remove .war and folder of your project
  3. startup tomcat, and try deploying the war again

http://www.coderanch.com/t/483092/Tomcat/running-tomcat-HTTP-Status
http://www.coderanch.com/t/490015/Tomcat/DBC-Driver-error
http://forum.springsource.org/showthread.php?87335-Failure-to-unregister-the-MySQL-JDBC-Driver

outra coisa eu aconselho vc a usar o tomcat 7.x , eclipse helios ou indigo e netbeans 7 tb.

boa sorte.

att,

Pedro eu troquei o tomcat pelo glasfish e tambem esta adicionando no netbeans a biblioteca do jsf agora esta andando, respondendo sua pergunta não eu nao conheço bem o java estou estudando a apostila para aprender. pois aqui na minha cidade nao tem cursos de java.

fred_cbranco

Bom como te falei Pedro consegui progredi eu fiz o listar.jsp da apostila deu certinho mais agora eu estou com outro problema, quando faço o formulario.jsp ele so da erro 404, se eu pego o codigo dele e colo dentro do listar.jsp ele aparece. Ou seja nada que não seja o arquivo listar.jsp nao aparece.
Deve ser um erro bem bobo voce poderia me ajudar?
segue o codigo do meu jsp

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<html>
	<head>
		<title>Produtos</title>
		<link href="<c:url value="/goodbuy.css"/>" rel="stylesheet" type="text/css" media="screen" />
		<link href="<c:url value="/javascripts/jquery.autocomplete.css"/>" rel="stylesheet" type="text/css" media="screen" />
		<script type="text/javascript" src="<c:url value="/javascripts/jquery-1.3.2.min.js"/>"></script>
		<script type="text/javascript" src="<c:url value="/javascripts/jquery.validate.min.js"/>"></script>
		<script type="text/javascript" src="<c:url value="/javascripts/jquery.autocomplete.min.js"/>"></script>
		<script type="text/javascript" src="<c:url value="/javascripts/jquery.puts.js"/>"></script>
		<fmt:setLocale value="pt_br"/>
    </head>
    <body>
       <div id="body">
		<div id="menu">
                    <ul>
                        <li><a href="<c:url value="/produtos/lista"/>">Lista Produtos</a></li>
                    </ul>
                </div>
		<div id="content">

                </div>
        </div>
        <form action="adiciona">
            <fieldset>
                <legend>Adicionar Produto</legend>
                <label for="nome">Nome:</label>
                <input id="nome" type="text" name="produto.nome"/>
                <label for="descricao">Descrição:</label>
                <textarea id="descricao" cols="30" rows="10" name="produto.descricao"></textarea>
                <label for="preco">Preço:</label>
                <input id="preco" type="text" name="produto.preco"/>
                <button type="submit">Enviar</button>
            </fieldset>
        </form>
    </body>
</html>
pedruhenrik

hum deve ser algo com o seu controller, posta ele ai e tb como esta o diretório dos seus jsp’s.

att,

fred_cbranco

pedruhenrik:
hum deve ser algo com o seu controller, posta ele ai e tb como esta o diretório dos seus jsp’s.

att,

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.caelum.goodbuy.controller;

import br.com.caelum.goodbuy.dao.ProdutoDao;
import br.com.caelum.goodbuy.modelo.Produto;
import br.com.caelum.vraptor.Resource;
import java.util.List;

/**
 *
 * @author Fred
 */
@Resource
public class ProdutosController {
    private final ProdutoDao dao;
        public ProdutosController(ProdutoDao dao) {
        this.dao = dao;
       }
    public List<Produto> lista() {
        return dao.listaTudo();
}
    public void adiciona(Produto produto) {
        dao.salva(produto);
}

E os diretorios estao:
WEB_INF/JSP/PRODUTOS
Obrigado

pedruhenrik
ta faltado o metodo para chamar o formulario, por exemplo se seu jsp se chama formulario.jsp:
@Get
public void formulario() {  

}

cara, vc esta criando um monte de tópicos com a mesma dúvida.

não é melhor centralizar tudo isso?!

att,

fred_cbranco

vou fazer tudo aqui. desculpa ai é o desespero rss

fred_cbranco
pedruhenrik:
ta faltado o metodo para chamar o formulario, por exemplo se seu jsp se chama formulario.jsp:
@Get
public void formulario() {  

}

cara, vc esta criando um monte de tópicos com a mesma dúvida.

não é melhor centralizar tudo isso?!

att,


voce conhece a apostila da caelum sobre o vraptor?
nela nao pede para criar este metodo.

fred_cbranco

Pedro voce poderia me ensinar como ficaria este metodo no meu controler?

fred_cbranco

Consegui pedro obrigado!

fred_cbranco

Galera ao usar as anotacoes do hibernate para validacao ele esta dando os seguintes erros:

AVISO: StandardWrapperValve[default]: PWC1406: Servlet.service() for servlet default threw exception
br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: org.hibernate.validator.InvalidStateException: validation failed for: br.com.caelum.goodbuy.modelo.Produto
        at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:96)
        at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:89)
        at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
        at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
        at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
        at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
        at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
        at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
        at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:23)
        at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92)
        at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
        at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.hibernate.validator.InvalidStateException: validation failed for: br.com.caelum.goodbuy.modelo.Produto
        at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:148)
        at org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172)
        at org.hibernate.action.EntityIdentityInsertAction.preInsert(EntityIdentityInsertAction.java:142)
        at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:65)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
        at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
        at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
        at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
        at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
        at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:563)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:551)
        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:547)
        at br.com.caelum.goodbuy.dao.ProdutoDao.salva(ProdutoDao.java:35)
        at br.com.caelum.goodbuy.controller.ProdutosController.adiciona(ProdutosController.java:39)
        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 br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:61)
        ... 50 more

ai vai a minha classe

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.caelum.goodbuy.modelo;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.validator.Length;
import org.hibernate.validator.Min;
import org.hibernate.validator.NotNull;




/**
 *
 * @author Fred
 */
@Entity
public class Produto implements Serializable {
    @Id
    @GeneratedValue
    private Long id;
    @NotNull
    @Length(min=3)
    private String nome;
    @NotNull
    @Length(max=10)
    private String descricao;
    @Min(0)
    private Double preco;

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the descricao
     */
    public String getDescricao() {
        return descricao;
    }

    /**
     * @param descricao the descricao to set
     */
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    /**
     * @return the preco
     */
    public Double getPreco() {
        return preco;
    }

    /**
     * @param preco the preco to set
     */
    public void setPreco(Double preco) {
        this.preco = preco;
    }
}

ai vai meu controler

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.caelum.goodbuy.controller;

import br.com.caelum.goodbuy.dao.ProdutoDao;
import br.com.caelum.goodbuy.modelo.Produto;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.Validator;
import br.com.caelum.vraptor.validator.ValidationMessage;
import java.util.List;

/**
 *
 * @author Fred
 */
@Resource
public class ProdutosController {
    private final ProdutoDao dao;
    private final Result result;
    private final Validator validator;
        public ProdutosController(ProdutoDao dao, Result result, Validator validator) {
        this.dao = dao;
        this.result = result;
        this.validator = validator;
       }
       
    public List<Produto> lista() {
        return dao.listaTudo();
}
    public void adiciona(final Produto produto) {
        validator.validate(produto);
        validator.onErrorUsePageOf(ProdutosController.class).formulario();

         dao.salva(produto);
         result.redirectTo(this).lista();
            
}
     @Get
    public void formulario() {

        }
    public Produto edita(Long id) {
        return dao.carrega(id);
}
    public void altera(Produto produto) {
        dao.atualiza(produto);
        result.redirectTo(this).lista();
}
    public void remove(Long id) {
        Produto produto = dao.carrega(id);
        dao.remove(produto);
        result.redirectTo(this).lista();
}

}

Aparentemente esta correto ou nao?

miltonjr27

Galera, estou seguindo a apostila da caelum e me deparei com o mesmo problema que o colega acima estava, só que eu já criei o método void formulario dentro do controller e o erro 404 ainda aparece quando digito o link http://localhost:8080/goodbuy/produtos/formulario. O que pode ser?

P.S: o lista produtos está certo, retornando os produtos do banco e tudo. O que será?

Criado 22 de junho de 2011
Ultima resposta 11 de out. de 2011
Respostas 17
Participantes 4