JavaWeb学习笔记
文章平均质量分 85
黑马程序员JavaWeb开发教程+黑马程序员Java项目实战《苍穹外卖》学习笔记
TOKI不吃海鲜
这个作者很懒,什么都没留下…
展开
-
【SpringBoot项目开发】查看购物车和清空购物车实现
需要查看登录用户购物车中所有的信息,但是请求参数中可以不包含用户id,原创 2024-05-24 14:49:30 · 313 阅读 · 0 评论 -
【SpringBoot项目开发】添加购物车实现
需要注意的细节:1、接口设计:请求数据有哪些?哪些是必须的,哪些不是?2、数据库表设计:需要哪些字段?1 需求分析和设计1.1 产品原型用户可以将菜品或者套餐添加到购物车。对于菜品来说,如果设置了口味信息,则需要选择规格后才能加入购物车;对于套餐来说,可以直接点击将当前套餐加入购物车。在购物车中可以修改菜品和套餐的数量,也可以清空购物车。3.1.2 接口设计通过上述原型图,设计出对应的添加购物车接口。请求数据是:套餐id、菜品id、口味,全是非必须的说原创 2024-05-24 14:39:35 · 1143 阅读 · 0 评论 -
Spring Cache框架与缓存套餐实现
Spring Cache 是一个,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如:EHCacheCaffeineRedis(常用)原创 2024-05-23 20:52:00 · 600 阅读 · 0 评论 -
SpringBoot微信登录实现
sky:wechat:sky:wechat:sky:jwt:# 设置jwt签名加密时使用的秘钥# 设置jwt过期时间# 设置前端传递过来的令牌名称authentication是和前端商量好的,之后请求会携带的部分。原创 2024-04-26 22:05:04 · 2459 阅读 · 0 评论 -
HttpClient工具类编写
HttpClient是Apache Jakarta Common下的一个子项目,它提供了一个高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包。它支持HTTP协议最新的版本和建议,并实现了Http1.0和Http1.1协议。HttpClient具有可扩展的面向对象的结构,。它支持HTTPS协议,并允许通过Http代理建立透明的连接,以及利用CONNECT方法建立隧道的https连接。原创 2024-04-26 21:11:13 · 1053 阅读 · 0 评论 -
Redis详解和Spring Data Redis应用
Redis是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是字符串(string)、哈希(Hash)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。速度快:Redis的读写速度非常快,因为它将数据存储在内存中,从而实现了高效的数据访问。数据类型丰富:Redis支持多种数据类型,使得开发者可以更加灵活地存储和操作数据。持久化。原创 2024-04-21 20:55:59 · 1020 阅读 · 0 评论 -
Java配置类详解
总结来说,配置类是用于Spring框架配置的特殊类,通过注解和编程方式实现Bean的定义和组装等功能;在Java中,配置类通常指的是使用注解和编程方式来代替传统的XML配置文件进行Spring框架配置的一种类。这种方式的引入极大地简化了Spring的配置,使得配置更加灵活和易于管理。然后,通过激活不同的环境配置来动态地选择使用哪个配置类。这些注解使得Java配置类能够灵活、动态地配置Spring应用,极大地提高了开发的效率和便利性。配置类和普通类在Java中的主要区别体现在其用途、定义方式和功能特性上。原创 2024-04-21 16:34:07 · 1776 阅读 · 0 评论 -
SpringBoot修改菜品模块开发
在菜品管理列表页面点击修改按钮,跳转到修改菜品页面,在修改页面并进行修改,最后点击保存按钮完成修改操作。原创 2024-04-11 20:10:00 · 304 阅读 · 0 评论 -
SpringBoot删除菜品模块开发(SpringMVC分割参数、事务管理、异常处理、批量删除)
在菜品列表页面,每个菜品后面对应的操作分别为,可通过删除功能完成对菜品及相关的数据进行删除。可以一次删除一个菜品,也可以批量删除菜品起售中的菜品不能删除被套餐关联的菜品不能删除删除菜品后,关联的口味数据也需要删除掉。原创 2024-04-10 21:29:23 · 1247 阅读 · 0 评论 -
SpringBoot菜品分页查询模块开发(多表连接查询)
需要注意的地方。原创 2024-04-10 20:42:05 · 583 阅读 · 0 评论 -
SpringBoot新增菜品模块开发(事务管理+批量插入+主键回填)
后台系统中可以管理菜品信息,通过来添加一个新的菜品,在添加菜品时需要选择当前菜品所属的菜品分类,并且需要上传菜品图片。当填写完表单信息, 点击"保存"按钮后, 会提交该表单的数据到服务端, 在服务端中需要接受数据, 然后将数据保存至数据库中。菜品名称必须是唯一的菜品必须属于某个分类下,不能单独存在新增菜品时可以根据情况选择菜品的口味每个菜品必须对应一张图片。原创 2024-04-10 19:18:07 · 1385 阅读 · 0 评论 -
SpringBoot通用模块--文件上传开发(阿里云OSS)
在sky-server模块注意冒号后面有空格!!!application-dev.yml(开发环境下的配置文件,yml可以引用该文件的值,这样就不用把值写死)sky:alioss:spring:profiles:active: dev #设置环境sky:alioss:细节:application-dev.yml是开发环境下的配置文件,yml可以引用该文件的值,这样就不用把值写死在sky-server模块中定义接口/*** 通用接口*/原创 2024-04-09 22:26:26 · 1416 阅读 · 0 评论 -
SpringBoot公共字段自动填充(反射+AOP+自定义注解)
*** 切入点*/* com.sky.mapper.*.*(..)从头到尾的解释是:任何修饰符、sky.mapper包、任意类、任意方法、(任意参数)但是我们只需要update和insert类型,于是加上一句声明,只需要定义了AutoFill注解的方法。原创 2024-04-08 20:26:10 · 1964 阅读 · 2 评论 -
SpringBoot启动禁用员工账号(动态sql通用修改)
在员工管理列表页面,可以对某个员工账号进行启用或者禁用操作。账号禁用的员工不能登录系统,启用后的员工可以正常登录。如果某个员工账号状态为正常,则按钮显示为 "禁用",如果员工账号状态为已禁用,则按钮显示为"启用"。可以对状态为“启用” 的员工账号进行“禁用”操作可以对状态为“禁用”的员工账号进行“启用”操作状态为“禁用”的员工账号不能登录系统。原创 2024-04-07 19:49:07 · 553 阅读 · 0 评论 -
SpringBoot员工分页查询
系统中的员工很多的时候,如果在一个页面中全部展示出来会显得比较乱,不便于查看,所以一般的系统中都会以分页的方式来展示列表数据。而在我们的分页查询页面中, 除了分页条件以外,还有一个查询条件 "员工姓名"。根据页码展示员工信息每页展示10条数据分页查询时可以根据需要,输入员工姓名进行查询。原创 2024-04-07 15:37:29 · 602 阅读 · 0 评论 -
SpringBoot新增员工模块开发
ThreadLocal 并不是一个Thread,而是Thread的局部变量。原创 2024-04-06 22:09:46 · 1127 阅读 · 0 评论 -
Swagger介绍与knife4j框架
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(它的主要作用是:使得前后端分离开发更加方便,有利于团队协作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。原创 2024-04-06 19:16:15 · 1253 阅读 · 0 评论 -
苍穹外卖学习笔记(一)开发环境搭建
后端工程基于 maven 进行项目构建,并且进行分模块开发。序号名称说明1maven父工程,统一管理依赖版本,聚合其他子模块2sky-common子模块,存放公共类,例如:工具类、常量类、异常类等3sky-pojo子模块,存放实体类、VO、DTO等4sky-server子模块,后端服务,存放配置文件、Controller、Service、Mapper等模块中存放的是一些公共类,可以供其他模块使用名称说明constant存放相关常量类context存放上下文类。原创 2024-04-05 18:59:13 · 985 阅读 · 0 评论 -
SpringBoot全局异常处理
当我们没有做任何的异常处理时,我们三层架构处理异常的方案:Mapper接口在操作数据库的时候出错了,此时异常会往上抛(谁调用Mapper就抛给谁),会抛给service。service 中也存在异常了,会抛给controller。而在controller当中,我们也没有做任何的异常处理,所以最终异常会再往上抛。最终抛给框架之后,框架就会返回一个JSON格式的数据,里面封装的就是错误的信息,但是框架返回的JSON格式的数据并不符合我们的开发规范。这时响应回来的数据是一个JSON格式的数据。原创 2024-04-03 16:55:09 · 423 阅读 · 0 评论 -
SpringBoot登录校验(五)拦截器Interceptor
实现HandlerInterceptor接口,并重写其所有方法。原创 2024-04-03 16:51:38 · 1261 阅读 · 0 评论 -
SpringBoot登录校验(四)过滤器Filter
什么是Filter?Filter表示过滤器,是 JavaWeb三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能使用了过滤器之后,要想访问web服务器上的资源,必须先经过滤器,过滤器处理完毕之后,才可以访问对应的资源。过滤器一般完成一些通用的操作,比如:登录校验、统一编码处理、敏感字符处理等。原创 2024-04-03 16:40:46 · 1147 阅读 · 0 评论 -
SpringBoot登录校验(三)JWT令牌
输出的结果就是生成的JWT令牌,,通过英文的点分割对三个部分进行分割,我们可以将生成的令牌复制一下,然后打开JWT的官网,将生成的令牌直接放在Encoded位置,此时就会自动的将令牌解析出来。用户登录成功后,系统会自动下发JWT令牌,然后在后续的每次请求中,都需要在请求头header中携带到服务端,请求头的名称为 token ,值为 登录时下发的JWT令牌。在浏览器发起请求来执行登录操作,此时会访问登录的接口,如果登录成功之后,我们需要生成一个jwt令牌,将生成的 jwt令牌返回给前端。原创 2024-03-29 20:40:28 · 822 阅读 · 3 评论 -
SpringBoot 登录认证(一)
本节实现基础的登录认证功能,只进行数据库的判断。这种方法有一个巨大的问题是用户如果访问系统的其他功能,系统不会识别出用户是未登录的,即界面并不会自动跳转到登录界面。原创 2024-03-24 21:15:09 · 619 阅读 · 1 评论 -
SpringBoot 登录认证(二)Cookie与Sesstion
登录校验的实现思路:会话跟踪技术以及统一拦截技术。并介绍两种传统的会话跟踪技术:cookie与sesstion,介绍跨域、集群的概念,为之后的令牌技术做铺垫原创 2024-03-29 19:42:09 · 1278 阅读 · 0 评论 -
SpringBoot 配置文件
本文主要解决两个问题:(一)参数配置化思想(二)用yml文件取代properties文件(三)外部配置属性注入的两种方式。原创 2024-03-24 19:42:40 · 864 阅读 · 0 评论 -
SpringBoot 文件上传(二)
上一节讲解了如何利用MultipartFile接收浏览器端上传的文件,这节讲解服务器端如何将文件保存到本地目录下,下节讲解服务端如何将文件保存在阿里云上。原创 2024-03-23 21:58:23 · 431 阅读 · 0 评论 -
SpringBoot 文件上传(一)
文件上传是指将本地图片、音频、视频等文件上传至服务器的过程,应用场景非常多。比如:更新头像、交作业上传作业文件、发微博微信时上传图片等。原创 2024-03-23 20:13:37 · 682 阅读 · 0 评论 -
Nginx详解
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。原创 2024-01-29 13:51:49 · 952 阅读 · 0 评论 -
IOC控制反转DI依赖注入详解
IOC:对象的创建控制权给容器了DI:容器自动为应用程序注入它所需的对象。原创 2024-01-28 20:23:59 · 960 阅读 · 1 评论 -
Springboot响应数据详解
Controller下每一个暴露在外的方法都是一个功能接口功能接口的请求路径是@RequestMapping定义的路径,浏览器需要请求该功能则需要发出该路径下的请求。原创 2024-01-27 11:42:46 · 587 阅读 · 1 评论 -
Springboot各种请求参数详解
简单参数变量名与参数名不一致时集合参数定义时(因为默认封装到数组)日期参数定义时(规定日期格式)json参数定义时路径参数定义时。原创 2024-01-26 18:01:05 · 1815 阅读 · 1 评论 -
Tomcat详解
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。原创 2024-01-25 21:35:25 · 1915 阅读 · 0 评论 -
HTTP协议详解
超文本传输协议,规定了浏览器和服务器之间数据传输的规则。HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0。原创 2024-01-25 21:04:31 · 823 阅读 · 0 评论 -
Spring是什么?Spring全家桶是什么?
只需在项目的依赖中添加相应的Spring Data模块,并进行适当的配置,Spring Boot将自动配置和管理数据源和实体管理器等。Spring MVC还提供了许多功能和特性,如数据绑定、表单验证、拦截器、国际化支持等,以及与其他Spring模块的集成,如Spring Security、Spring Data等。只需在项目的依赖中添加。总的来说,Spring MVC是一个强大的Java Web开发框架,通过采用MVC模式和提供丰富的功能和特性,帮助开发者构建灵活、可靠和高性能的Web应用程序。原创 2024-01-24 21:34:07 · 1351 阅读 · 0 评论 -
Maven
每套生命周期之间相互独立,然而每套生命周期内部包括一些阶段,这些阶段是有先后顺序的,比如运行package,idea会自动先运行compile–>test–>package.2.在target文件中查找:target文件–>右键–>open in–>explorer(文件夹)2.在target文件中查找:target文件–>右键–>open in–>explorer(文件夹)间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源。,完成相应的工作,并在target文件下生成相应的文件。原创 2024-01-24 18:35:18 · 1407 阅读 · 0 评论