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

Reply via email to