SQL Serve与Java连接后,在登录验证数据存入到数据库发生的错误

9 篇文章 0 订阅
4 篇文章 0 订阅

如果经常对数据库的表里的数据直接删除,经常性的直接删除,就会导致如下错误。

比如userId可能以前是从1开始递增的,但是你经常删除记录,导致上图这种变化,这种变化可能导致临时性的无法登录验证。

不过一般没问题。

还有经常报空指针错误如:java.lang.NullPointerException

像这种,比如如下这段代码

<%
TopicDao topicDao= new TopicDaoImpl();//得到主题Dao的实例
ReplyDao replyDao= new ReplyDaoImpl();//得到回复Dao的实例
UserDao userDao = new UserDaoImpl();  //得到用户Dao的实例
BoardDao boardDao = new BoardDaoImpl();
int boardId = Integer.parseInt(request.getParameter("boardId"));//板块id
int topicId = Integer.parseInt(request.getParameter("topicId"));
System.out.println(topicId);
int p = Integer.parseInt(request.getParameter("page"));
Board board = boardDao.findBoard(boardId);//取得该板块主题列表
Topic topic = topicDao.findTopic(topicId);//这里相当于用到了外键,做了查询功能
System.out.println(topic);//从控制台可以看出这里topic对象是空的
User topicUser = userDao.findUser(topic.getUserId());//这里有点问题,原因是ReplyDaoImpl.java的findListReply方法没有具体实现
List listReply = replyDao.findListReply(p, topicId);
System.out.println(listReply);

int prep = p;//页数
int nextp = p;
if(listReply.size()==20){
	nextp = p+1;
}
if(p>1){
	prep = p-1;
}
%>

页面反映的效果如下:

这里的listReply是空的,原因是我们可以设计很多关口,比如,在每个获取对象后面加上System.out.println(listReply);这样一句

就可以在控制台看到是否有数据

如上,可以看出listReply的值为空,所以List listReply = replyDao.findListReply(p, topicId);根本没有获取到

所以我们进一步看ReplyDao.java接口的实现类replyDaoImpl.java里面的findListReply()方法,可知,方法并未写方法体,或者方法体逻辑错误。

而我的就是没写方法体。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值