Este é um outro erro mais nao vou abrir outro topico para ele nao.
Sequinte o cadastro de admin funciona beleza mais quando vou fazer login ele da o sequinte erro.
AVISO: StandardWrapperValve[default]: PWC1406: Servlet.service() for servlet default threw exception
br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.NullPointerException
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.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.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.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: java.lang.NullPointerException
at br.com.caelum.goodbuy.dao.AdminDao.carrega(AdminDao.java:37)
at br.com.caelum.goodbuy.controller.AdminController.login(AdminController.java:57)
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
Chamo a atencao para as seguintes linhas
Caused by: java.lang.NullPointerException
at br.com.caelum.goodbuy.dao.AdminDao.carrega(AdminDao.java:37)
at br.com.caelum.goodbuy.controller.AdminController.login(AdminController.java:57)
bom segue ai minha dao e minha controler
Primeiro a dao
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.caelum.goodbuy.dao;
import br.com.caelum.goodbuy.infra.CriadorDeSession;
import br.com.caelum.goodbuy.modelo.Useradmin;
import br.com.caelum.vraptor.ioc.Component;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
/**
*
* @author Fred
*/
@Component
public class AdminDao {
private final Session session;
public AdminDao() {
this.session = CriadorDeSession.getSession();
}
public boolean existeAdmin(Useradmin useradmin) {
Useradmin encontrado = (Useradmin) session.createCriteria(Useradmin.class).add(Restrictions.eq("login", useradmin.getLogin())).uniqueResult();
return encontrado != null;
}
public void adiciona(Useradmin useradmin) {
Transaction tx = this.session.beginTransaction();
this.session.save(useradmin);
tx.commit();
}
public Useradmin carrega(Useradmin useradmin) {
return (Useradmin) session.createCriteria(Useradmin.class).add(Restrictions.eq("login", useradmin.getLogin())).add(Restrictions.eq("senha", useradmin.getSenha())).uniqueResult();
}
}
O erro aparentemente e neste metodo carrega
public Useradmin carrega(Useradmin useradmin) {
return (Useradmin) session.createCriteria(Useradmin.class).add(Restrictions.eq("login", useradmin.getLogin())).add(Restrictions.eq("senha", useradmin.getSenha())).uniqueResult();
Agora meu controller
/*
* 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.AdminDao;
import br.com.caelum.goodbuy.modelo.AdminWeb;
import br.com.caelum.goodbuy.modelo.Useradmin;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
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;
/**
*
* @author Fred
*/
@Resource
public class AdminController {
private final AdminDao dao;
private final Result result;
private final Validator validator;
private final AdminWeb adminWeb;
public AdminController(AdminDao dao, Result result, Validator validator, AdminWeb AdminWeb) {
this.dao = dao;
this.result = result;
this.validator = validator;
this.adminWeb = AdminWeb;
}
@Post @Path("/admin/novoadmin")
public void adiciona(Useradmin useradmin) {
if (dao.existeAdmin(useradmin)) {
validator.add(new ValidationMessage("Login já existe", "usuario.login"));
}
validator.onErrorUsePageOf(AdminController.class).novo();
dao.adiciona(useradmin);
result.redirectTo(ProdutosController.class).lista1();
}
@Get("/admin/novoadmin")
public void novo() {
}
@Get @Path("/admin/login")
public void login() {
}
@Post @Path("/admin/login")
public void login(Useradmin useradmin) {
Useradmin carregado = dao.carrega(useradmin);
if (carregado == null) {
validator.add(new ValidationMessage("Login e/ou senha inválidos", "useradmin.login"));
}
validator.onErrorUsePageOf(AdminController.class).login();
adminWeb.login(carregado);
result.redirectTo(ProdutosController.class).formulario();
}
@Path("/logout")
public void logout() {
adminWeb.logout();
result.redirectTo(ProdutosController.class).lista();
}
}
No controle o erro é no:
[/code]
public void login(Useradmin useradmin) {
Useradmin carregado = dao.carrega(useradmin);
if (carregado == null) {
validator.add(new ValidationMessage(“Login e/ou senha inválidos”, “useradmin.login”));
}
validator.onErrorUsePageOf(AdminController.class).login();
adminWeb.login(carregado);
result.redirectTo(ProdutosController.class).formulario();
[/code]
Eu ja fundi meus neuronios estou desde quarta a noite mechendo nisso alguem pode me ajudar?
Lucas?