Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Autowired
- private LoginDAO loginDAO;
- @Repository("loginDAO")
- DEBUG - Returning handler method [public java.lang.String com.accademics.web.controllers.LoginController.checkCredentials(com.accademics.web.models.LoginModel,org.springframework.validation.BindingResult)]
- DEBUG - Returning cached instance of singleton bean 'loginController'
- inside controller checkCredentials
- LoginModel [username=admin, password=password]
- service checking login of admin and password
- DEBUG - Resolving exception from handler [public java.lang.String com.accademics.web.controllers.LoginController.checkCredentials(com.accademics.web.models.LoginModel,org.springframework.validation.BindingResult)]: java.lang.NullPointerException
- DEBUG - Resolving exception from handler [public java.lang.String com.accademics.web.controllers.LoginController.checkCredentials(com.accademics.web.models.LoginModel,org.springframework.validation.BindingResult)]: java.lang.NullPointerException
- DEBUG - Resolving exception from handler [public java.lang.String com.accademics.web.controllers.LoginController.checkCredentials(com.accademics.web.models.LoginModel,org.springframework.validation.BindingResult)]: java.lang.NullPointerException
- DEBUG - Could not complete request
- java.lang.NullPointerException
- at com.accademics.data.services.LoginServiceImpl.checkCredentials(LoginServiceImpl.java:18)
- at com.accademics.web.controllers.LoginController.checkCredentials(LoginController.java:39)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
- at java.lang.reflect.Method.invoke(Unknown Source)
- at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
- at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
- at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
- at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
- at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
- at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
- at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
- at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
- at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
- at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
- at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
- at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
- at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
- at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
- at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
- at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
- at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
- at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
- at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
- at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
- at java.lang.Thread.run(Unknown Source)
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
- <bean id="loginService" class="com.accademics.data.services.LoginServiceImpl"/>
- </beans>
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
- <mvc:annotation-driven />
- <context:component-scan base-package="com.accademics.web.controllers"></context:component-scan>
- <bean id="viewResolver"
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/views/" />
- <property name="suffix" value=".jsp" />
- </bean>
- <bean id="messageSource"
- class="org.springframework.context.support.ResourceBundleMessageSource">
- <property name="basename" value="messages"></property>
- </bean>
- <mvc:resources location="/resources/" mapping="/resources/**"></mvc:resources>
- </beans>
- <form action='<spring:url value="/student/login"></spring:url>' method="post" autocomplete="on">
- <h1>Log in</h1>
- <p>
- <label for></label>
- </p>
- <p>
- <label for="username" class="uname" > Username </label>
- <input id="username" name="username" required="required" type="text" placeholder="Username"/>
- </p>
- <p>
- <label for="password" class="passwd"> Password </label>
- <input id="password" name="password" required="required" type="password" placeholder="Password" />
- </p>
- <p class="keeplogin">
- <input type="checkbox" name="saveLogin" id="saveLogin" value="saveLogin" />
- <label for="saveLogin">Keep me logged in</label>
- </p>
- <p class="login button">
- <input type="submit" value="Login" />
- </p>
- </form>
- package com.accademics.web.controllers;
- import javax.validation.Valid;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.MessageSource;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import com.accademics.data.services.LoginService;
- import com.accademics.web.models.LoginModel;
- @Controller
- @RequestMapping("/student")
- public class LoginController {
- @Autowired
- public LoginService loginService;
- @Autowired
- MessageSource messagesource;
- @RequestMapping(value="/login", method=RequestMethod.GET)
- public String displayLogin(Model model){
- return "student_login";
- }
- @RequestMapping(value="/login", method=RequestMethod.POST)
- public String checkCredentials(@Valid @ModelAttribute LoginModel loginModel, BindingResult result){
- System.out.println("inside controller checkCredentials");
- if(result.hasErrors()){
- return "student_login";
- }
- System.out.println(loginModel);
- boolean userExists = loginService.checkCredentials(loginModel.getUsername(), loginModel.getPassword());
- if(userExists){
- System.out.println("valid");
- return "dashboard";
- }else{
- System.out.println("invalid");
- result.rejectValue("userName", "NotNull.login.invalidUser");
- return "student_login";
- }
- }
- }
- package com.accademics.data.services;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.accademics.web.DAO.LoginDAO;
- @Service("loginService")
- public class LoginServiceImpl implements LoginService {
- @Autowired
- private LoginDAO loginDAO;
- @Override
- public boolean checkCredentials(String username, String password) {
- // TODO Auto-generated method stub
- System.out.println("service checking login of "+username+" and "+password);
- return loginDAO.checkCredentials(username, password);
- }
- }
- package com.accademics.web.DAO;
- public interface LoginDAO {
- public boolean checkCredentials(String username, String password);
- }
- package com.accademics.web.DAO;
- import java.util.List;
- import org.hibernate.Query;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.stereotype.Repository;
- @Repository("loginDAO")
- public class LoginDAOImpl implements LoginDAO {
- @Autowired
- private SessionFactory sessionFactory;
- protected Session getSession(){
- return sessionFactory.getCurrentSession();
- }
- @Override
- public boolean checkCredentials(String username, String password) {
- System.out.println("Checking login");
- //HQL
- String hquery = "from student_credentials where student_credentials.username=? and student_credentials.password=?";
- boolean userFound = false;
- Session session = getSession();
- Query query = session.createSQLQuery(hquery);
- query.setParameter(0, username);
- query.setParameter(1, password);
- List list = query.list();
- if(!list.isEmpty()){
- userFound = true;
- }
- session.close();
- return userFound;
- }
- }
- NotNull.login.invalidUser = Invalid Username/Password
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement