【Java】近期学习demo项目思路总结梳理

本文作者分享了从搭建纯maven Web项目到数据抓取、API模拟请求、分库分表等多个Java学习demo的实践心得,涵盖了Spring、JDBC、Jsoup、分页、数据操作、拦截器等内容,强调了安全性和异步处理的重要性。

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

【Java】近期学习demo项目思路总结梳理

【Java】近期学习demo项目思路总结梳理


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

记录博主 跨行程序员的成长历程。


心得学习总结

总结
第一题:
搭建纯maven的web项目,输出页面显示,打印日志到控制台
对此题的主要总结为:脱离框架的内置配置。自己手动配置Tomcat启动,springMVC的扫描注解,和视图解析,log4j的各种参数类型的选择配置,前端调用URL走控制层跳转JSP页面输出内容,通过logger开启日志打印。
第二题:
固定数据的展示
对此题的主要总结为:对JSTL的了解与使用,他是一个用于JSP页面的标准标签库,对css,bootstrap的了解与使用,搭配一些简单样式,利用jstl标签展示数据。
第三题:
固定数据分页的展示
对此题的主要总结为:对分页逻辑原理的分析,找到合适或者自己准备一个能用的分页插件或者自己写一个后端分页逻辑,准备前端页面展示后台写死的程序数据,并且进行后端或前端的分页操作(利用自己准备的分页插件)。
第四题:
动态数据分页展示:
对此题的主要总结为:远程连接数据库,根据公司项目的建表规范新建一个数据库表,并用sql语句添加表内数据,通过spring框架封装的jdbctemplate连接后端数据库,经过后端sql处理,再通过分页插件传向前端,展示分页后的数据。
第五题:
数据操作:
对此题的主要总结为:在配置好依赖springmvc数据源后创建一套crud的后端逻辑,我选择的是自下而上的创建准备po对象直接跟持久层数据库交互,dao接口面向数据库的接口定义要操作数据库的方法,再准备dao接口的实现类,实现dao接口中定义的 crud的方法,再准备service业接口务层写业务方法,再写service的实现类实现service接口的业务逻辑,调用dao层的数据,然后再准备控制层,进行对业务层的调用,之后拿到结果回显给前端页面,至此对数据操作的后端crud逻辑全部完成,前端就是准备几个页面写与后端交互的逻辑,用ajax来调用,modal弹层框来使用。
第六题:
数据抓取:
对此题的主要总结为:了解并运用jsoup,动态模拟请求的数据,通过浏览器请求头模拟浏览器浏览,提取html内容,获取整个页面的所有数据,之后根据对前端商品页面的结构选择抓取节点,通过节点利用jsoup方法获取指定数据,对待集合类的样式信息用遍历来拼接,放到map集合中在前端进行回显。
第七题:
模拟请求API,解析保存返回数据
对此题的主要总结为:首先获取返回的json格式数据,然后对json进行字符串的转换,在把字符串转为集合对象,在存入数据库时再转为字符串,此题难点的自增主键,在dao的实现类里通过keyholer方法获得直接封装在返回值里,然后控制层获取打印到控制台。
第八题:
页面漏洞问题
对此题的主要总结为:在抒写sql语句时尽量应用占位符的方法,不要用拼接的方法,占位符可以由jdbc本身的源码拦截sql注入的特殊符号,而拼接会被轻易的注释掉,从而执行恶意sql语句。在编写前端页面防止xss攻击时,尽量用以下c:out标签<c:out value="${str}" escasexml=“true” default=""/></c:out> 防止插入恶意弹窗代码。
第九题
用Spring异步请求实现批处理进度条
对此题的主要总结为:通过前端批量修改弹层,绑定修改事件,进入前端批量修改逻辑,初始化弹层数据,对里面的修改按钮绑定前端批量修改方法,获取每一行的数据,前端循环,取出id,调用后端批量修改方法,给予状态码,对id数组判断为空,返回错误信息,对长整数的ids数组进行for循环转型为直接用于数据库的数据类型,调用批量修改方法,通过封装对象给与前端进度条显示,把对象放进redis缓存里 key为uuid,value为封装的对象,for循环末尾再加一个放入缓存的操作达到进度条实时的效果,最后刷新进度条再通过放入缓存给前台轮询的操作。了解了Async注解的启动注意事项,启动类上添加注解@EnableAsync,用于开启异步;方法上加@Async注解 才可以使用;使用了@Async的方法,会被当成是一个子线程,所有整个@Async的方法,会在主线程执行完了之后执行; 同一个类中,一个方法调用另外一个有@Async的方法,注解是不会生效的。
第十题
拦截器控制台输出请求log
对此题的主要总结为:配置mvc中拦截器的参数,理解实现拦截器接口中的prehandle,posthandle方法,在此方法里根据自己想要的顺序实现拦截逻辑,在prehandle里进行最初的拦截与显示,在posthandle里对控制层执行后的modelandview对象进行操作。
第十一题
分库分表
对此题的主要理解为:首先是配置多数据源的问题,配置好多数据之后在dao层注入,根据题目规则的奇偶性对数据源进行if判断,返回名称。利用substring进行截串选择末位,进行分库后奇偶表的判断,判断思路 一是截串 二是取模,然后在dao实现类里执行查询sql,获得表名,转换拿到的数据格式便于前端回显。

版权声明

本文刊载的所有内容,均由个人在工作学习中整理 用于个人的工作或学习的复习之用,为原创文章
本文章不得用于各种商业用途
不得侵犯本文及相关权利人的合法权利。
使用本文章进行转载或刊登以及其他涉及文章著作版权时,必须经过此csdn博客博主账号人lsb543284593同意,违者必究

最后:写给读此文章的你

**
觉得文章对您有一定用处,请记得点赞评论支持博主,您的支持与互动是我最大的动力**

我是博桑 一个跨行程序员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值