项目实战第天:导航栏业务

核心提示今天是刘小爱自学Java的第106天。感谢你的观看,谢谢你。话不多说,开始今天的学习:很多网站首页都会有一个导航栏,对应不同的模块,方便用户快速找到想要的内容。其有如下特点:网站一加载,需要读取导航栏中的内容。在多个页面中都会存在该导航栏

今天是刘自学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方法来完成,这里使用的选择器就是类选择器。

最后

感谢您的观看。

如果可以,请给我一个赞。谢谢你。

 
友情链接
鄂ICP备19019357号-22