bug之路(持续更新)

1.java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

mysql-connector-java-5.1.37-bin.jar已导入,还出现这种情况……
原来是我把lib目录放到了web目录下 (错误)
web项目必须把lib目录放在web/WEB-INF目录下。(正确)


2.页面显示不出数据库的数据

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

在这里插入图片描述
在这里插入图片描述
然后愣是没取出数据。

经老师解答,原来是登录成功后,是跳转到服务器对应的路径,而不是直接跳转页面。跳转到服务器对应的路径后,服务器查询的结果再转发到页面。

在这里插入图片描述
然后就成功地显示数据了!

3.获取当前登录的用户名+积分累加

在这里插入图片描述
用户名和积分是怎么显示的呢?
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
然后怎么知道当前登录的用户名并给他积分充值呢?
在这里插入图片描述

在这里插入图片描述
遇到的问题及解决方法:

  • 登录后显示的积分为0,和数据中的积分不一致

    int oldPoint = userDao.findPoint(username).getPoint();
    session.setAttribute("point",oldPoint);
    
  • 数据库中更新不了积分,但是SQL语句没错,原来是我并没有获取当前用户的用户名

    String username = (String) session.getAttribute("username");
    
  • 给用户充值积分,数据库中的积分更新了,但是浏览器页面上的积分显示的是充值后的积分,并没有累加积分

    //获取之前的积分
    int oldPoint = userDao.findPoint(username).getPoint();
    //充值后的积分
    int allPoint = Integer.parseInt(point)+oldPoint;
    
    //向数据库中更新总积分
    userDao.updatePoint(username,allPoint);
    //更新当前页面显示的积分
    session.setAttribute("point",allPoint);
    

4.重定向时,request中的数据会丢失

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
虽然使用转发后,会有相应的提示。但是登陆成功跳转到首页,提示语为null;而且充值积分时,提示语为null。
这时就想到给登陆的Servlet和充值积分的Servlet,设置提示语为空,但是结果还是null。
然后又将request改为session,登陆成功和积分充值时,提示语就为空了。成功了!
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

效果图:
在这里插入图片描述

5.JavaWeb之删除

在列表的删除那里,发送一个"deleteStudent?sno=$ {stu.sno}“的请求,映射到DeleteStudentServlet类中,该类根据URL请求里面的参数sno获取到该学生的sno,通过studentService.deleteStudent(sno)删除数据库中的该学生的信息,最后重定向到"/gotostudentlist"请求中,通过该请求回到学生的列表页面。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.JavaWeb之修改

在列表的修改那里,发送一个"findStudentBySno?sno=$ {stu.sno}“的请求,映射到FindStudentBySnoServlet类中,该类根据URL请求里面的参数sno获取到该学生的sno,然后根据sno查找到该学生的全部信息,再将查询到的数据设置到request中,进行页面的转发,让studentUpdate.jsp展示查到的数据。studentUpdate.jsp页面中是用EL表达式获取到request设置的值,比如获取学号${student.sno},这时输入框就能保留学生的信息。然后我们可以在原信息的基础上进行修改,修改完毕提交表单,请求的地址是"updateStudent”,映射到UpdateStudentServlet类,该类能获取修改后输入框的值,然后创建了student对象,通过studentService.updateStudent(student)修改数据库中的数据,最后重定向到"/gotostudentlist"请求中,通过该请求回到学生的列表页面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.JavaWeb项目引入jQuery无效,报404

在这里插入图片描述
原来是我把js包放到了web/WEB-INF目录下 (错误)
静态资源(css/js/img)应放到web目录下。(正确)
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43771998/article/details/114878919