Well the problem is that this is my first example with spring and hibernate I have downloaded the example which should create a login application, now as I said the table have an id a user name and a password. Here is the line of the exception:
User usr = userService.getUser(username); Here is the user service interface and class: package service; import dao.UserDaoImpl; import po.User; /** * * @author ABIS1 */ public interface UserService { void addUser(String userName, String password, int admin) throws Exception; User getUser(long userId); User getUser(String userName); void setUserDao(UserDaoImpl userDao); } --------------------- package service; import po.User; /** * * @author ABIS1 */ public class UserServiceImp implements UserService { private dao.UserDao userDao; public void addUser(String userName, String password, int admin) throws Exception{ po.User user = new User(); user.setName(userName); user.setPassword(password); try { userDao.save(user); } catch(Exception err) { throw err; } } public User getUser(long userId) { return userDao.getUser(userId); } public void setUserDao(dao.UserDaoImpl userDao) { this.userDao = userDao; } public User getUser(String userName) { return this.userDao.getUser(userName); } } ----------------------- And the user dao interface and implementation: package dao; import po.User; /** * * @author ABIS1 */ public interface UserDao { void save(User user) throws Exception; User getUser(long userId); User getUser(String userName); } ------------- /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package dao; import po.*; import dao.UserDao; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * * @author ABIS1 */ public class UserDaoImpl extends HibernateDaoSupport implements UserDao { public void save(User user) throws Exception { try { getHibernateTemplate().save(user); } catch(Exception err) { throw err; } } public User getUser(long userId) { return (User)getHibernateTemplate().get(User.class, userId); } public User getUser(String userName) { return (User)getHibernateTemplate().find("from User as u where u.name = ?", userName).get(0); } } -----Original Message----- From: Nils-Helge Garli Hegvik [mailto:nil...@gmail.com] Sent: 19 August 2009 13:05 To: Struts Users Mailing List Subject: Re: Hibernate3+Spring2.5+Struts2 java.lang.NullPointerException at action.LoginAction.execute(LoginAction.java:31) Looks like you have a NPE at line 31 in LoginAction. What line is that? Which references could have been null? Nils-H On Wed, Aug 19, 2009 at 1:59 PM, Zied Bejaoui<bejaouiz...@hotmail.com> wrote: > Thanks for your help, I have fixed this problem by removing the admin property from the mapping file, now I am having another error, the login page display then as soon as I enter the login details I receive this exception: > > java.lang.NullPointerException > at action.LoginAction.execute(LoginAction.java:31) > 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 com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionIn vocation.java:404) > at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActi onInvocation.java:267) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:229) > at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(D efaultWorkflowInterceptor.java:221) > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(Validati onInterceptor.java:150) > at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.do Intercept(AnnotationValidationInterceptor.java:48) > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(Con versionErrorInterceptor.java:123) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame tersInterceptor.java:167) > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(St aticParametersInterceptor.java:105) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterce ptor.java:83) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInt erceptor.java:207) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDr ivenInterceptor.java:74) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(S copedModelDrivenInterceptor.java:127) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(Prof ilingActivationInterceptor.java:107) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(Debu ggingInterceptor.java:206) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingIn terceptor.java:115) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nIntercepto r.java:143) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareIn terceptor.java:121) > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:86) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletCon figInterceptor.java:170) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasIntercep tor.java:123) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(Ex ceptionMappingInterceptor.java:176) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionI nvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack .java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:221) > at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50) > at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504) > at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.jav a:419) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) > at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter .java:390) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:233) > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:175) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128 ) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102 ) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http 11Protocol.java:583) > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:619) > Here is my login Action: > > * @author ABIS1 > */ > > public class LoginAction extends ActionSupport { > > private UserServiceImp userService; > private String message; > private String username; > private String password; > private ResourceBundleMessageSource messageSource; > > public LoginAction() { > } > > �...@override > public String execute() throws Exception { > User usr = userService.getUser(username); > if(usr != null){ > if(usr.getPassword().equals(password)){ > message = messageSource.getMessage("loginSuccess", null,Locale.CHINA); > }else{ > message = messageSource.getMessage("pswError", null,Locale.CHINA); > } > }else{ > message = messageSource.getMessage("usrError", null,Locale.CHINA); > } > return SUCCESS; > } > > public void setUserService(UserServiceImp userService) { > this.userService = userService; > } > > public String getMessage() { > return message; > } > > public void setMessage(String message) { > this.message = message; > } > > public String getUsername() { > return username; > } > > public void setUsername(String username) { > this.username = username; > } > > public String getPassword() { > return password; > } > > public void setPassword(String password) { > this.password = password; > } > > public void setMessageSource(ResourceBundleMessageSource messageSource) { > this.messageSource = messageSource; > } > > } > > This is the userServiceImpl: > > package service; > import po.User; > > /** > * > * @author ABIS1 > */ > public class UserServiceImp implements UserService { > > private dao.UserDao userDao; > > public void addUser(String userName, String password, int admin) throws Exception{ > po.User user = new User(); > user.setId(12); > // user.setId(admin); > user.setName(userName); > user.setPassword(password); > try > { > userDao.save(user); > } > catch(Exception err) > { > throw err; > } > } > public User getUser(long userId) > { > return userDao.getUser(userId); > } > > public void setUserDao(dao.UserDaoImpl userDao) { > this.userDao = userDao; > } > > public User getUser(String userName) { > return this.userDao.getUser(userName); > } > > } > > > > -----Original Message----- > From: Lukasz Lenart [mailto:lukasz.len...@googlemail.com] > Sent: 19 August 2009 12:11 > To: Struts Users Mailing List > Subject: Re: Hibernate3+Spring2.5+Struts2 > > Hi, > > That the source of your problems: > Caused by: org.hibernate.PropertyNotFoundException: Could not find a > getter for admin in class po.User > > Check mapping files, you are trying to map admin property which > doesn't exist in User class. > > > Regards > -- > Lukasz > http://www.lenart.org.pl/ > http://dailylog.lenart.org.pl/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org