2016-07-12 8 views
0

Перед вызовом метода userAuth (String UserId) перед вызовом NullPointerException.Состояние HTTP 500 - обработка запроса не выполнена; Вложенное исключение - это java.lang.NullPointerException при вызове метода уровня сервиса

Ниже приведены файлы моего проекта вместе с моментальным снимком ошибки.

Error:

Directory Structure

LoginController.java

package com.skit.app.controller; 

import java.util.List; 

import javax.servlet.Servlet; 
import javax.servlet.ServletContext; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.context.ConfigurableApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.ModelMap; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.SessionAttributes; 
import org.springframework.web.context.WebApplicationContext; 
import org.springframework.web.context.support.WebApplicationContextUtils; 

import com.skit.app.dao.ProductDao; 
import com.skit.app.dao.UserDao; 
import com.skit.app.model.Product; 
import com.skit.app.model.User; 
import com.skit.app.services.LoginService; 
import com.skit.app.services.LoginServiceImpl; 

@Controller 
@SessionAttributes("name") 
public class LoginContoller { 

LoginService service; 
@RequestMapping("/login") 
public String login() { 
    return "login"; 
} 



@RequestMapping(value = "/userCheck", method = RequestMethod.POST) 
public String userCheck(javax.servlet.http.HttpServletRequest request, ModelMap model) { 
    String view="./"; 
    String name = request.getParameter("user"); 
    String pwd = request.getParameter("pass"); 
    String usertype = request.getParameter("radios"); 

     User user ; 
     user=service.userAuth(name); //This Line is causing the Exception 

     if (pwd.equals(user.getU_password()) && name.equals(user.getU_id())) { 

      if (usertype.equals("seller")) { 

       model.put("message", user.getU_name()); 
       model.put("name", name); 
       view= "seller"; 
      } else { 
       /*ProductDao productDao = (ProductDao) context.getBean("productDAO"); 
       List<Product> plist = productDao.viewProduct(); 
       model.put("name", name); 
       model.put("plist", plist);*/ 
       model.put("message", user.getU_name()); 
       model.put("cart", new Product()); 
       view= "User"; 

      } 
     } else { 
      // If password is incorrect 
      model.put("error", true); 
      view="login"; 
     } 

    return view; 
} 
} 

UserDao.java

package com.skit.app.dao; 

import com.skit.app.model.User; 

public interface UserDao { 

public User userAuth(String userId); 

public int userReg(User user); 

public int userUpdate(User user); 
} 

UserDaoImpl.java

package com.skit.app.dao.impl; 

import org.springframework.dao.EmptyResultDataAccessException; 
import org.springframework.jdbc.core.BeanPropertyRowMapper; 
import org.springframework.jdbc.core.support.JdbcDaoSupport; 

import com.skit.app.dao.UserDao; 
import com.skit.app.model.*; 



public class UserDaoImpl extends JdbcDaoSupport implements UserDao{ 


public User userAuth(String userId) throws EmptyResultDataAccessException 
{ 

    System.out.println(userId); 
    User user=new User(); 
    String sql = "SELECT * FROM user where u_id=?"; 
    Object[] inputs = new Object[] {userId}; 
    user=(User) getJdbcTemplate().queryForObject(sql, inputs, new      BeanPropertyRowMapper(User.class)); 
    return user; 

} 
public int userReg(User user) 
{ 
    String sql = "INSERT INTO USER VALUES(?, ?, ?, ?, ?, ?)"; 
    Object[] inputs = new Object[] {""+user.getU_id(), ""+user.getU_type(), ""+user.getU_name(), ""+user.getU_password(),""+user.getU_email(),""+user.getU_mobno()}; 
    return getJdbcTemplate().update(sql, inputs); 

} 

public int userUpdate(User user) 
{ 
    String sql = "update user set u_name=?, u_email=?, u_mobno=? where u_id=?;"; 
    Object[] inputs = new Object[] {""+user.getU_name(),""+user.getU_email(),""+user.getU_mobno(),""+user.getU_id()}; 
    return getJdbcTemplate().update(sql,inputs); 

} 

LoginService.java

package com.skit.app.services; 

import com.skit.app.model.User; 

public interface LoginService{ 

public User userAuth(String userId); 

public int userReg(User user); 

public int userUpdate(User user); 
} 

LoginServiceImpl.java

package com.skit.app.services; 


import org.springframework.stereotype.Service; 

import com.skit.app.dao.UserDao; 
import com.skit.app.model.User; 



public class LoginServiceImpl implements LoginService{ 


    UserDao dao; 
    User user; 
    public User userAuth(String userId) { 
     user= dao.userAuth(userId); 
     System.out.println(user); 
     return user; 
    } 

    public int userReg(User user) { 
     // TODO Auto-generated method stub 
     return 0; 
    } 

    public int userUpdate(User user) { 
     // TODO Auto-generated method stub 
     return 0; 
    } 


} 
+0

Возможные дубликат [Что такое NullPointerException, и как это исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) – Jens

ответ

1

Вы пропустите @Service аннотацию на вашем LoginServiceImpl.

@Service 
public class LoginServiceImpl implements LoginService{ 

Вы пропустите @Autowire аннотацию в вас контроллер, чтобы autowiering службы.

public class LoginContoller { 
@Autowire 
LoginService service; 

Также убедитесь, что компонент сканирования правильно настроен

+0

Добавлены аннотации, но все же существует ошибка. –

+0

@ChiragGangwal точно так же? – Jens

+0

да точно такой же. –