一包烟一瓶酒一个bug改一天aaaaaaaaaaaaa改好了呜呜呜好多bug就是导入jar包的时候要注意和你自己下载的mysql的版本号要一致,6.0以上的要加com.mysql.cj.jdbc.Driver,反正就是很多的小细节,因为什么都不了解,所以很多地方都注意不到,最后test测试和数据库如下:
现在到第三步
登录功能:
思路:
1、接收客户端的请求(接收参数:姓名、密码)
2、参数的非空判断(ps:在这里说一下,虽然我们在前端的时候已经做过一次判断,但是在后端还是要做一次,因为在以后写代码时,当我们只负责项目的一部分,如果前端没有判断,后台找不到参数会报错)
当参数为空,不仅要提示用户信息错误,还要通过消息模型对象返回数据(设置成功状态,设置提示信息、设置回显数据(回显数据,信息错误时,前面填写好的信息还在显示中,不然前面的用户名、身份证号之类的又要重新填写)),将消息模型设置到request作用域中,请求转发跳转到登录页面,return
3、通过用户姓名查询用户对象(通过用户名查询)
4、判断用户对象是否为空
如果为空,通过信息模型对象返回结果,请求转发跳转到登录页面,return
5、将数据库中查询到的用户密码与前台传递的密码做比较
如果不相等,通过信息模型对象返回结果,请求转发跳转到登录页面
如果相等,表示登录成功,将用户信息设置到session作用域中,重定向转发到首页
分层思想:
controller层(接收请求、响应结果)
1、接收客户端的请求(接收参数:姓名、密码)
2、调用service层的方法,返回消息模型对象
3、判断消息模型的状态码
如果状态码是失败
将消息模型对象设置到request作用域中,请求转发跳转到login.jsp
如果状态码是成功
将消息模型中的用户消息设置到session中,重定向跳转到index.jsp中service层(业务逻辑)
1、参数的非空判断
如果参数为空 将状态码、提示信息、回显数据设置到消息模型对象中,返回消息模型对象
2、调用dao层的查询方法,通过用户名查询对象
3、判断用户对象是否为空
如果为空
将状态码、提示信息、回显数据设置到消息模型对象中,返回消息模型对象
4、判断数据库中查询到的用户密码与前台传递的密码作比较
如果不相等
将状态码、提示信息、回显数据设置到消息模型对象中,返回消息模型对象
5、将成功状态码、提示信息、用户对象设置消息模型对象,并return
mapper(dao层)
定义接口