IDEA2017.3.7+Navicat for mysql ----主要任务:做登陆界面,成功跳转到“登陆成功”页面,失败则提示“用户名或密码错误”的消息。
遇到的问题:一摞摞。不过最后解决了,回过头一看是非常简单的。
解决过程:现在用到的技术要做上述的任务主要要建几个文件(文件夹):1.前端是.html页面(html标签语言+<script>中的Jquery异步请求)、2.服务器是servlet.java、为servlet服务的有3.service、4.dao、5.domain、6.utils(JDBC工具类)。
必备技能:IDEA中java代码debug、Html的调试、打印sql执行日志。IDEA-java代码调试:1.先把所有断点都删了,2.再单击debug,3.之后在想设断点的地方设断点,4.运行html网页、提交网页表单数据,5.即可逐步在IDEA中调试。Html调试:网页右键-开发者工具-sources,打上断点即可调试。打印sql执行日志:可以在navicat for mysql中新建查询,看影响结果。
关键点:下面这两个函数真是难为了我一点时间,JDBCUtils的使用学会了还是挺重要的。。
user = template.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), username,password);
BeanUtils.populate(user,map);//把map的两个值传给user
核心思想就是:把网页表单数据(序列化后)提交到后台,后台getParameter...得到参数,拿着参数查询数据库,查到数据后返回给BeanPropertyRowMapper(总之就是把查到的数据返回给一个...的形式),然后服务器再返回一个响应给网页,响应数据的格式是json,用ObjectMapper这个对象去转化,转化后.write...方法写到输出流里,网页端Jquery直接接收,处理响应数据。
不好理解的地方是:
1.拿到数据存成实体格式,然后再用实体.属性去判断,判断完了,把sql查到的数据再存成实体格式;
2.JDBCUtils想真正自己用熟可能费点劲,用到了.class.pro.....的方法,涉及到类加载器之类的东西;
3.servlet中request.getSession().setAttribute("user",u);//登录成功标记;涉及到session,还没看到视频的这一块;
4.http之类的网络知识真的不开窍。。。
【师兄说现在都用springboot+mybatis了,springmvc用的都很少了,那么问题来了,springboot和springmvc的区别和联系是???】