0
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
\t xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
\t xmlns:aop="http://www.springframework.org/schema/aop"
\t xmlns:tx="http://www.springframework.org/schema/tx"
\t default-autowire="byName"
\t xmlns:oxm="http://www.springframework.org/schema/oxm"
\t xmlns:mvc="http://www.springframework.org/schema/mvc"
\t xsi:schemaLocation="http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-4.3.xsd
\t \t http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
\t \t http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
\t \t http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
\t \t http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
\t <bean id="userRoleDAOTarget"
\t \t class="com.revguru.crs.security.dao.UserRoleDAOImpl"
\t \t scope="prototype">
\t \t <property name="sessionFactory" ref="hsdSessionFactory" />
\t </bean>
\t <bean id="userAuthDAOTarget" class="com.revguru.crs.security.dao.AuthenticationDAOImpl" scope="prototype">
\t \t <property name="sessionFactory" ref="hsdSessionFactory" />
\t </bean>
\t <bean id="hotelUserDAOTarget" class="com.revguru.crs.security.dao.HotelUserDAOImpl" scope="prototype">
\t \t <property name="sessionFactory" ref="hsdSessionFactory" />
\t </bean>
\t <bean id="userRoleDataObjprocessor" class="com.revguru.crs.security.service.UserRoleProcessor" scope="prototype">
\t \t <property name="userRoleDAO" ref="hsdSecurityObjectDAO" />
\t </bean>
\t <bean id="userAuthDataObjprocessor" class="com.revguru.crs.security.service.AuthenticationProcessor" scope="prototype">
\t \t <property name="authenticationDAO" ref="hsdSecurityAuthObjectDAO" />
\t \t <property name="messages" ref="userSectionMessageSource"/> \t
\t </bean>
\t <bean id="hotelUserDataObjProcessor" class="com.revguru.crs.security.service.HotelUserProcessor" scope="prototype">
\t \t <property name="hotelUserDAO" ref="hsdHotelUserDAO" />
\t \t <property name="securitySectionLogger" ref="generalServiceLogger"/>
\t </bean>
\t <bean id="SECURITY_SERVICE" class="com.revguru.crs.core.service.sc.SecurityService" scope="prototype">
\t \t <property name="userRoleProcessor" ref="userRoleDataObjprocessor" />
\t \t <property name="userAuthProcessor" ref="userAuthDataObjprocessor" />
\t \t <property name="hotelUserProcessor" ref="hotelUserDataObjProcessor" />
\t </bean>
\t <bean id="hsdSecurityObjectDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
\t \t <property name="proxyInterfaces">
\t \t \t <value>com.revguru.crs.security.dao.UserRoleDAO
\t \t \t </value>
\t \t </property>
\t \t <property name="interceptorNames">
\t \t \t <list>
\t \t \t \t <value>hibernateInterceptor</value>
\t \t \t \t <value>userRoleDAOTarget</value>
\t \t \t </list>
\t \t </property>
\t </bean>
\t <bean id="hsdSecurityAuthObjectDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
\t \t <property name="proxyInterfaces">
\t \t \t <value>com.revguru.crs.security.dao.AuthenticationDAO
\t \t \t </value>
\t \t </property>
\t \t <property name="interceptorNames">
\t \t \t <list>
\t \t \t \t <value>hibernateInterceptor</value>
\t \t \t \t <value>userAuthDAOTarget</value>
\t \t \t </list>
\t \t </property>
\t </bean>
\t
\t <bean id="hsdHotelUserDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
\t \t <property name="proxyInterfaces">
\t \t \t <value>com.revguru.crs.security.dao.HotelUserDAO
\t \t \t </value>
\t \t </property>
\t \t <property name="interceptorNames">
\t \t \t <list>
\t \t \t \t <value>hibernateInterceptor</value>
\t \t \t \t <value>hotelUserDAOTarget</value>
\t \t \t </list>
\t \t </property>
\t </bean>
\t <bean id="userSectionMessageSource"
\t \t class="org.springframework.context.support.ResourceBundleMessageSource" scope="prototype">
\t \t <property name="alwaysUseMessageFormat" value="true"/>
\t \t <property name="basenames">
\t \t <list>
\t \t \t \t <value>userauthResources/hsd_user_msg</value> \t \t \t \t
\t \t \t </list>
\t \t </property>
\t </bean> \t
</beans>
這是我的豆文件,它越來越參照hsdsessionFsctory至極的定義如下:
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
\t \t <property name="driverClassName" value="com.mysql.jdbc.Driver" />
\t \t <property name="url" value="jdbc:mysql://127.0.0.1:3306/revguru"/>
\t \t <property name="username" value="root" />
\t \t <property name="password" value="decoder" />
\t </bean>
\t
\t <bean id="hsdSessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
\t \t <property name="dataSource" ref="dataSource" />
\t \t <property name="hibernateProperties">
當我運行我的項目我得到空指針異常
public class UserLoginController {
\t
\t private FacesContext facesContext = FacesContext.getCurrentInstance();
\t HttpSession session = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(true);
\t private SecurityService 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 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 =(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 System.out.println("security serv ice is ");
\t \t if(securityService==null){
\t \t \t System.out.println("security serv ice is null:");
\t \t \t securityService= new SecurityService();
\t \t }
\t \t if (userLogin != null) {
\t \t \t System.out.println("username is:"+username);
\t \t \t System.out.println("password is:"+password);
\t \t \t
\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 }
\t \t \t \t HotelDataObject hotelDataObject = getAssignedHotel(userInformation);
\t \t \t \t session.setAttribute("hotelDataObjectInSession", hotelDataObject);
\t \t \t \t
\t \t \t \t List<Menu> menus = new ArrayList<Menu>();
\t \t \t \t for (FeatureDataObject feature : userInformation.getFeatureDataObjects()) {
\t \t \t \t \t if (feature.getParentFeatureId() == null && feature.getFeatureTypeId().getId().intValue() == HSDServiceConstants.MENU && feature.getShowFeature() == 1) {
\t \t \t \t \t \t List<MenuItem> menuItems = getMenuItems(feature.getId(), userInformation.getFeatureDataObjects());
\t \t \t \t \t \t menus.add(new Menu(feature.getId(), feature.getFeatureName(), "", menuItems));
\t \t \t \t \t }
\t \t \t \t }
\t
\t \t \t \t String languageCode = userLogin.getLanguageCode();
\t \t \t \t \t \t
\t \t \t \t if (languageCode == null) {
\t \t \t \t \t userLogin.setLanguageCode("en");
\t \t \t \t \t facesContext.getViewRoot().setLocale(Locale.ENGLISH);
\t \t \t \t } else {
\t \t \t \t \t if(languageCode.equals("fr")) {
\t \t \t \t \t \t facesContext.getViewRoot().setLocale(Locale.FRENCH);
\t \t \t \t \t } else {
\t \t \t \t \t \t facesContext.getViewRoot().setLocale(Locale.ENGLISH);
\t \t \t \t \t }
\t \t \t \t }
\t \t \t \t
\t \t \t \t Util.log(":: languageCode :: " + userLogin.getLanguageCode());
\t \t \t \t
\t \t \t \t session.setAttribute("menus", menus);
\t \t \t \t session.setAttribute("CommonGlobalBean", commonGlobalBean);
\t \t \t \t /**
\t \t \t \t * get hotel general info details
\t \t \t \t */
\t \t \t \t GeneralHotelController generalHotelController = new GeneralHotelController();
\t \t \t \t generalHotelController.loadGeneralInformation();
\t \t \t \t /**
\t \t \t \t * return to hotel general info page
\t \t \t \t */
\t \t \t \t return "generalInfo";
\t \t \t } else {
\t \t \t \t Util.log("Invalid User.");
\t \t \t \t Util.reportError(facesContext, "login_user_not_valid_password", null);
\t \t \t }
\t \t }
\t \t return "";
\t }
它調用另一個方法,以班爲遵循
public boolean authenticate(String email, String password) { \t \t
\t \t log.info("Authenticating : " + email);
\t \t UserDataObject 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 }
當我在春天探險家看到它讓我看到豆裁判是未知
這是我的堆棧跟蹤
javax.servlet.ServletException: java.lang.NullPointerException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
什麼是紅色標記在我的春季探險
,而其他人沒有它
您能不能告訴你的錯誤代碼? –
表示哪個錯誤代碼 –
我在這一行得到了空指針異常if(securityService.authenticate(username,password)) –