私はwildfly 10.1.0を使用していますプロジェクトはうまく動作していますが、データベースからデータを取得して検証しようとすると、 。 データベースに接続しましたがデータの取得方法ができませんnullpointer例外を投げる
私は私のデータベースがあるのping
Caused by: java.lang.NullPointerException
\t at com.revguru.crs.web.user.controller.UserLoginController.authenticate(UserLoginController.java:86)
\t at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
\t at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
\t at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
\t at java.lang.reflect.Method.invoke(Method.java:498)
\t at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:181)
\t at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
\t at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
\t at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
\t at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
\t at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
\t at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
\t at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
\t at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
\t ... 50 more
UerLoginControllerクラス
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.TimeZone;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import com.revguru.crs.core.entity.ht.HotelDataObject;
import com.revguru.crs.core.service.exception.HSDServiceException;
import com.revguru.crs.core.service.sc.SecurityService;
import com.revguru.crs.core.util.HSDServiceConstants;
import com.revguru.crs.security.entity.FeatureDataObject;
import com.revguru.crs.security.entity.HotelUserDataObject;
import com.revguru.crs.security.entity.RoleDataObject;
import com.revguru.crs.security.entity.UserDataObject;
import com.revguru.crs.web.common.vo.CommonGlobalBean;
import com.revguru.crs.web.constants.HSDWebConstants;
import com.revguru.crs.web.hotel.controller.GeneralHotelController;
import com.revguru.crs.web.hotel.delegate.HotelDelegate;
import com.revguru.crs.web.user.delegate.UserDelegate;
import com.revguru.crs.web.user.vo.Menu;
import com.revguru.crs.web.user.vo.MenuItem;
import com.revguru.crs.web.user.vo.UserInformation;
import com.revguru.crs.web.user.vo.UserLogin;
import com.revguru.crs.web.utils.Util;
public class UserLoginController {
\t
\t private FacesContext facesContext = FacesContext.getCurrentInstance();
\t HttpSession session = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false);
\t private SecurityService securityService = new SecurityService() ;
\t
\t public void setSecurityService(SecurityService securityService) {
\t \t this.securityService = securityService;
\t }
\t
\t public SecurityService getSecurityService() {
\t \t return this.securityService;
\t }
\t
\t /**
\t * Authenticate the User
\t * @return
\t */
\t public String authenticate() {
\t \t
\t \t if(session.getAttribute("menus") != null) {
\t \t \t session.removeAttribute("menus");
\t \t }
\t \t
\t \t if (session.getAttribute("CommonGlobalBean") != null) {
\t \t \t session.removeAttribute("CommonGlobalBean");
\t \t }
\t \t
\t \t CommonGlobalBean commonGlobalBean = new CommonGlobalBean();
\t \t commonGlobalBean.setTimeZone(TimeZone.getDefault().getID());
\t \t UserLogin userLogin = new UserLogin();
\t \t userLogin = (UserLogin)session.getAttribute("UserLogin");
\t \t
\t \t String username = userLogin.getUserName();
\t \t String password = userLogin.getPassword();
\t \t
\t \t UserInformation userInformation = null; \t
\t \t
\t \t if (userLogin != null) {
\t \t \t if (securityService.authenticate(username,password)) {
\t \t \t \t Util.log("Get User Object by Email");
\t \t \t \t UserDataObject userDataObject = securityService.getUserObjectByEmail(userLogin.getUserName());
\t \t \t \t Util.log("User name : "+userDataObject.getUserFirstName());
\t \t \t \t userInformation = (UserInformation)session.getAttribute("UserObject");
\t \t \t \t if (userInformation != null) {
\t \t \t \t \t session.removeAttribute("UserObject");
\t \t \t \t }
\t \t \t \t userInformation = getUserInformation(userDataObject);
\t \t \t \t session.setAttribute("UserObject", userInformation);
\t \t \t \t \t \t
\t \t \t \t if(!checkUserAsHotelRole(userInformation)) {
\t \t \t \t \t Util.log("User does not have hotel role.");
\t \t \t \t \t Util.reportError(facesContext, "login_user_not_valid_password", null);
\t \t \t \t }
public boolean authenticate(String email, String password) {
\t \t log.info("Authenticating : " + email);
\t \t UserDataObject user = new UserDataObject();
\t \t \t user=getUserObjectByEmail(email);
\t \t if (user == null) {
\t \t \t log.info("User does not exist for email id :" + email);
\t \t \t return false;
\t \t }
\t \t return checkPassword(password, user.getPassword());
\t }
エラーが発生している行は何ですか? – mlg
この行で(securityService.authenticate(username、password)){ –