Edgar后端学习--jsp电商后台项目小阶段总结(杂记开发日志)

本文是关于Java后端电商后台项目的小阶段总结,涉及了服务层重构、Controller层的引入,以及过滤器在格式转换和项目路径问题上的应用。详细讲述了分页逻辑,包括分页接口参数、导航栏实现,以及前端与后端的配合。还讨论了前端CSS路径问题、JSTL语法细节和分页功能的实现。最后,作者分享了在开发过程中遇到的错误及整体数据流的梳理,并探讨了性能问题和报错原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9.23 重构service层 新建control层 service层已经不再直接和jsp交互
这块我们开始引入control层–FC: 1.通过url的匹配,实现功能的分流 在里面再调用dao层–这块控制的都是后台系统-backSeverlet
2.实现与前端jsp交互–将前端的分页请求的参数pageNum扔到service层处理数据
3.service层处理好的数据再以分页实例化对象,传回给控制层,控制层,再绑定到requrest对象里面,传给前端(转发给前端)
所以我们控制层和service层之间传的是 分页的对象–主体内容是一个list集合,但是伴随着一些方法和属性

9.27 过滤器帮你减少代码冗余–每次我们与jsp交互的数据我们都得设置一下格式 我们就写一个过滤器 把格式转换格式 以及 项目路径问题
1.在过滤器初始化的时候,我们拿到当前项目的上下文实例化对象
2.过滤器的实体类里面,dofilter方法里面,格式问题-我们把通用的request和response格式设置放到一个统一过滤器里面
3.我们把当前路径绑定到上下文里面,这样我们项目全局都可以拿到这个路径(包括前端css、jsp的引入,也包括后端如果使用重定向时候的绝对路径)

9.28–开发日志开发–分页 面经 通过实践 熟悉分页底层逻辑

理解分页的主要几个接口参数:List list, int pageNum, int pageSize, int navigatePages
1.首先创建分页的基础是要有一个从后端扔过来的集合(包括我们要查询的所有数据)–list
2.然后是当前页,这块后期一定要注意第一次点击用户管理时在前端语句里面默认要写pageNum等于1 不能为空不然–500报错
3.我们控制每页返回几条数据
4.导航栏 1 2 3 一次显示几个数字
理解分页返回的东西:返回一个分页实例化对象 --list集合 和 判断是否是首页、末页等属性,首页、末页是多少页,上一页、下一页等方法。
实际功能的实现
与前端配合显示、使用
比如说 如果此页是首页那么前端将导航栏的首页设置成不可点击,同样末页也是
上一页、下一页的逻辑一般是使得当前页加、减1,然后这个当前页重新扔到控制层,再次刷新。但是要是首页的话,上一页的按钮应该小时,同理下一页消失。
所以上一页和下一页的按钮,在前端应该配合jstl表达式去做一个if的判断,看看有没有上下页,再去显示。
分页导航返回的是一个数组,根据总页数和当前页数自动调整的数组。

10.10
1.前端这块主要就是,css的引进路径问题,导致整个页面错乱

2.jsp这块就是 jstl -c大小写问题一定要注意,不然直接会不显示

3.然后前端逻辑第一次点击 首页展示的时候 pageNum 不会自动传参 所以第一次是爆500空指针异常的 这块的错误是通过直接手动输入url测试的
逻辑是–url肯定能达到request里面 如果这个不错 那么说明后端问题不大

4.还有一个错误,自己写的工具类包idea导入的时候总是加com 然后直接头文件引入的时候显示那个包里面是空的。。。后期我重新建立一个名字不同的东西解决的。。。暂时不清楚为什么

整体数据流的梳理:登陆、欢迎页面–>点击用户管理–>请求通过web.xml拦截–>处理两个事 -->1.格式、路径的加入 2.将此请求甩到backservlet类里面处理
–>3.将pageNum传到adminservice层–>4.将分页实例化对象生成,同时service层里面开始调用dao层的getall–>5.getall返回全部信息集合
6.将集合和pageNum组装成新的分页对象–>7.backservlet层获得分页实例化对象–>8.backserlet层把分页实例化对象绑定到request请求上面。–>转发至前端

性能问题
getall函数-getall这个方法-在大型场景中会锤爆内存–xw说,但是先拿到内存中确实效率很高。另外,直接使用limit分页数据库查询会降低性能-龙哥说。
报错总结
500 最常见的问题就是前端jsp里面写的名字后端没有对应上,然后就是没有传过来,这里面还有可能就是web.xml拦截路径有问题这个reques根本没进到这个控制层

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值