Spring框架NullPointerException错误,求大神解决

qq_27217451 2016-03-05 03:47:24
LoginLogDAOImpl

package com.bbs.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import com.bbs.domain.LoginLog;
import com.bbs.domain.User;

import sun.print.resources.serviceui;
@Repository
public class LoginLogDAOImpl implements LoginLogDAO {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void insertLoginLog(LoginLog loginLog){
String sql = "insert into t_login_log values(?,null)";
jdbcTemplate.update(sql,loginLog.getUser_id());

}

}

UserLogDAOImpl 部分
	
public User findUserByName(String account,String password) {
String sql = "SELECT * FROM t_user WHERE account = ? AND password = ?";
final User user = new User();
jdbcTemplate.query( sql, new Object[] {account,password}, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
user.setId(rs.getInt("id"));
user.setAccount(rs.getString("account"));
user.setPassword(rs.getString("password"));
user.setCredits(rs.getInt("credits")+100);
}
});
return user;
}

UserServiceImpl
package com.bbs.service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDAO userDAO;
private LoginLogDAO loginLogDAO;
@Override
public boolean userRegist(User user) {
boolean flag = false;
if(user.getAccount().equals("")==false&&user.getPassword().equals("")==false){
int n = userDAO.insertUser(user);
if (n == 1) {
flag = true;
}
return flag;
} return flag;
}
@Override
public boolean userLogin(String account,String password){
boolean flag = false;
User user = userDAO.findUserByName(account,password);
LoginLog loginLog = new LoginLog(user.getId());
if(user.getId()!=null){
userDAO.updateUser(user);
loginLogDAO.insertLoginLog(loginLog);//就是这句加上会出错
flag = true;
}
return flag;

}

错误信息
HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException


type Exception report

message Request processing failed; nested exception is java.lang.NullPointerException

description The server encountered an internal error that prevented it from fulfilling this request.

exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:981)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)


root cause
java.lang.NullPointerException
com.bbs.service.UserServiceImpl.userLogin(UserServiceImpl.java:36)
com.bbs.web.UserController.logCheck(UserController.java:40)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:178)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:444)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:432)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)


note The full stack trace of the root cause is available in the Apache Tomcat/8.0.32 logs.
...全文
226 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27217451 2016-03-06
  • 打赏
  • 举报
回复
引用 3 楼 qq_27217451 的回复:
[quote=引用 2 楼 qq_27350929 的回复:] loginLogDAO没有加@Autowired 的原因吧? 为什么错误信息跟代码不匹配?
@Autowired private UserDAO userDAO; private LoginLogDAO loginLogDAO; 加了[/quote]我搞错了 谢谢 太有用了
qq_27217451 2016-03-06
  • 打赏
  • 举报
回复
引用 2 楼 qq_27350929 的回复:
loginLogDAO没有加@Autowired 的原因吧? 为什么错误信息跟代码不匹配?
@Autowired private UserDAO userDAO; private LoginLogDAO loginLogDAO; 加了
xiedacon 2016-03-05
  • 打赏
  • 举报
回复
loginLogDAO没有加@Autowired 的原因吧? 为什么错误信息跟代码不匹配?
jzq114 2016-03-05
  • 打赏
  • 举报
回复
String sql = "insert into t_login_log values(?,null)";这句sql有问题,你的values里面有两个参数,就要对应表里面的两个字段

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧