自学内容网 自学内容网

谷粒商城-商城业务-首页

整合thymeleaf渲染首页

先引入依赖:

再把页面复制进来:

配置关闭thymeleaf的缓存,这样可以在开发中实时看的渲染效果

新建web包:

把专门进行页面跳转的controller放在这个包里

重启product服务,如果访问不了css,js的,配置文件加spring.mvc.static-path-pattern=/static/**

整合dev-tools渲染一级分类数据

dev-tools类似与热部署,我没实现.....

查出所有parent_cid是0的就是一级分类

渲染二级三级分类

先写一个VO:

我们来到controller来写方法

方法体:

    @Override
    public Map<String, List<Catelog2Vo>> getCatalogJson() {
        //1.查出所有1级分类
        List<CategoryEntity> level1Categorys = getLevel1Categorys();
        //2.封装数据
        Map<String, List<Catelog2Vo>> collect = level1Categorys.stream().collect(Collectors.toMap(k -> k.getCatId().toString(), v -> {
            //1.遍历每一个一级分类,查到这个一级分类里的所有二级分类
            List<CategoryEntity> categoryEntities = baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid", v.getCatId()));
            //2.封装上面的结果
            List<Catelog2Vo> catelog2Vos = null;
            if (categoryEntities != null) {
                catelog2Vos = categoryEntities.stream().map(l2 -> {
                    Catelog2Vo catelog2Vo = new Catelog2Vo(v.getCatId().toString(), null, l2.getCatId().toString(), l2.getName());
                    //1.找三级分类
                    List<CategoryEntity> level3Catelog = baseMapper.selectList(new QueryWrapper<CategoryEntity>().eq("parent_cid", l2.getCatId()));
                    if (level3Catelog!=null){
                        List<Catelog2Vo.Catelog3Vo> catelog3Vos = level3Catelog.stream().map(l3 -> {
                            //2.封装成指定格式
                            Catelog2Vo.Catelog3Vo catelog3Vo = new Catelog2Vo.Catelog3Vo(l2.getCatId().toString(), l3.getCatId().toString(), l3.getName());
                            return catelog3Vo;
                        }).collect(Collectors.toList());
                        catelog2Vo.setCatalog3List(catelog3Vos);
                    }
                    return catelog2Vo;
                }).collect(Collectors.toList());
            }
            return catelog2Vos;
        }));
        return collect;
    }

ps:有时候有页面缓存(应该是因为没解决热部署的问题,Alt+F5清除页面缓存)

Nginx搭建域名访问环境:

域名访问:(输入网址点击回车后,我们的请求会被网络的DNS(域名服务器)进行解析,解析处理我们请求的ip地址到底在哪,然后浏览器访问IP地址)

DNS解析顺序:浏览器DNS缓存 -> 本地DNS缓存 ->Host -> 路由器DNS缓存-> 递归解析DNS服务器

常规流程:买一台服务器,有一个公网IP地址,再为公网IP地址绑定上域名

开发环境:我们虽然没买域名,可以在windows的hosts文件里配置上gulimall.com对应的ip地址

1.反向代理配置

使用 SwitchHosts! 0.2.2.1785 软件编写一个新的本地方案:(把gulimall.com域名绑定到虚拟机的ip)

然后来到nginx的配置文件

重新启动nginx,至此,当我们访问gulimall.com时会被nginx反向代理给192.168.56.1:10000端口

但是这样修改conf文件太麻烦,我们直接用nginx代理给网关由网关来负责负载均衡

Tips:动静分离

静:图片,js,css等静态资源(以实际文件存在)

动:服务器需要处理的请求

Tips:正向代理与反向代理

正向代理:服务器帮我们访问网络(梯子)

反向代理:搭建集群时帮集群屏蔽外界请求(外界请求发给反向代理服务器,反向代理服务器通过内网找到我们的集群服务)


原文地址:https://blog.csdn.net/weixin_62485485/article/details/140539406

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!