今天是刘自学Java的第106天。
谢谢观看,谢谢。

事不宜迟,开始今天的学习吧:
很多网站在首页都有导航栏,对应不同的模块,让用户快速找到想要的内容。
它具有以下特点:
一旦网站被加载,你需要阅读导航栏中的内容。导航栏会存在于多个页面中,这在购物网站中很常见。导航栏数据是固定的,很少变化,不比用户注册登录的数据好多少。造成了MySQL数据库需要频繁查询的问题。
为了提高查询效率,引入了缓存技术,也就是前几天刚学的redis数据库。
今天的核心点是对redis数据库的学习和回顾。
一、代码编写
1个前端发送请求
首先,第一步必须是先有请求,然后服务器会根据请求做出相应的处理:
使用jQuery的页面加载事件,网站页面一刷新,就从数据库中查询导航栏数据。
请求路径为:categoryServlet,其methodName为queryAll。
也就是说,服务器中应该有一个CategoryServlet来接受请求,相应的处理应该在queryAll方法中完成。
2web层代码
创建CategoryServlet以接受请求:
因为请求中没有数据,所以只需要响应数据。
响应要求的数据格式是json,前两天写的代码在web层转换成json。
其实也可以放到服务层完成数据转换,返回给web层。
这样,web层代码就非常简洁了。
2服务第2层代码
服务处理特定的业务逻辑,这涉及到缓存的处理:
①redis数据库
可以直接使用工具类jedisUtils来完成redis数据库的操作。
用起来很方便,包装过程就不细说了。

通过jedis的get方法创建一个键值为Category_List的数据。
②初始化数据
第一次查询数据,需要从MySQL查询数据。
查询的数据是一个列表集,也就是很多类别对象,其数据格式转换成json。
③将数据存储在redis中
json数据通过set方法存储在redis中。
这样设置后就不用每次都在mysql中查询数据了,可以直接在redis中查询数据。
4道层代码
通过jdbcTemplate查询tab_category表中的所有数据。
一行数据对应一个Category对象,所以查询整个表就是多个Category对象的集合。
二、前端渲染
1数据格式
后台响应数据发送到前端后,通过console.log输出结果,可以在控制台上查看。
在浏览器中按F12打开控制台:
这三者是相互关联的:
前端对应的数据格式是json。数据库中对应的数据是数据表。在Java中,对应的数据是一个实体类,准确的说是多个实体类的集合。2前端页面呈现
得到后台响应的数据后,前端需要动态渲染到页面中:
①导线数据
使用jQuery中的每个方法来遍历响应数据,其中:
Index是数据的索引。元素是对应于当前索引位的元素。Element.cname是与当前元素中的关键字cname相对应的值。②页面拼接
前端页面布局如下:
但是,静态页面会杀死数据,所以需要将遍历的数据动态拼接到首页。
其中首页和收藏列表是固定的,所以只有中间8行是动态拼接的。

③通过选择器将内容渲染到相应的标签上。
可以通过使用jQuery中的html方法来完成,这里使用的选择器就是类选择器。
最后
感谢您的观看。
如果可以,请给我一个赞。谢谢你。


