JavaWeb从入门到精通
文章平均质量分 95
一直做大数据开发,现在想一边学习一边整理一套JavaWeb相关的知识,希望有了这些知识,后续遇到JavaWeb相关的开发项目,可以很快入手。内容主要来源于网络资源。
SunnyRivers
在通信、游戏、互联网、新能源等不同行业从事过多年大数据开发相关工作,想通过博客和大家一起分享大数据技术带来的经验和乐趣。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
接口地址后加/引发的问题
同事用FastApi封装了一个接口:http://xxx.xxx:33001/test/由于算法工程师对web开发规范不甚了解,因此接口末尾加了一个/。他把这个接口给了网关测的同事,网关同事进行了转发处理,转发的地址写为:http://xxx.xxx:33001/test,并没有加/。网关暴露的接口为:https://域名/test。用户访问的时候出现了:这里竟然暴露出来的是算法接口地址(多么恐怖的一件事)。所以接口后面能不能加上/呢?原创 2025-07-01 10:58:52 · 822 阅读 · 0 评论 -
MybatisPlus多租户插件实战
TenantLineInnerInterceptor 的关键属性是 tenantLineHandler,它是一个 TenantLineHandler 接口的实例,用于处理租户相关的逻辑。属性名类型描述租户处理器( TenantId 行级 )原创 2025-03-10 10:46:25 · 1163 阅读 · 0 评论 -
大白话实战docker
举个例子,在一台机器用docker启动了些应用:如果app1想要访问app2获取数据,我们想到的方案就算每个容器都会在机器上暴露访问端口,这样别人使用当前机器的ip加上暴露的端口,就能访问到某个应用,那同样的容器访问容器,也可以这么做。curl http://ip地址:99。原创 2025-03-02 11:52:32 · 1354 阅读 · 4 评论 -
大白话实战Seata
每个微服务连的都是自己的数据库,如果我们做一个购买业务,我要做的就是创建一个订单,并且把这个商品的库存扣了,然后去账户扣减余额,所以这个购买业务会调用三个微服务。上面是一段jdbc完成事务的代码,第一步是从数据源里获取连接,这个连接就是连向了某个数据库,第二步给这个连接设置非自动提交,也就是进入手动提交模式,接下来写我们的业务逻辑,写完后调用提交方法,如果业务执行期间出现异常,可以统一回滚,通过这段代码发现,我们以前的事务是在一条连接里面做的所有事情,它才可以一起提交和一起回滚,这个是我们本地事务的根源。原创 2025-02-22 16:36:06 · 735 阅读 · 0 评论 -
MybatisPlus教程-从入门到进阶
首先它是国产的,所以直接用官网的简介。MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。好了,上面的都来自于官网,我们要做的就是把官网中各种零散的教程,整合成一个个通俗易懂的案例。拢共就两步定义Mapper接口并继承BaseMapper快速入门-入门案例需求:基于课前资料提供的项目,实现下列功能:详情参考SpringBootWeb快速入门。创建对应的实体类创建数据库配置文件为了可以在控制台日志原创 2025-02-21 14:39:37 · 1386 阅读 · 0 评论 -
大白话实战Gateway
虽然SpringCloud里面内置了非常多的断言规则,但是它也不能囊括我们业务的所有规则,这个时候我们可以自己写一个断言工厂,通过配置的方式使用起来。假设我们有个需求,只有vip的用户才能转到必应去搜索,那怎么判断vip呢,我希望它自己从请求参数中拿到user并且user=aaa,它才是vip。q=haha?} };} };import org。原创 2025-02-20 23:29:55 · 1508 阅读 · 0 评论 -
大白话实战Sentinel
Sentinel是SpringCloudAlibaba提供的用来做服务保护的框架,而服务保护的常见手段就是限流和熔断降级。原创 2025-02-18 21:05:42 · 1096 阅读 · 0 评论 -
大白话实战OpenFeign
避免这种问题的最简单的处理方式就是加入限时等待,比如只等待商品服务10s,如果没有超过,自然就返回正确结果,否则就中断调用。可以看出默认是从不进行重试。响应拦截器用的不多,我们就用请求拦截器为例进行测试,我们希望订单服务给商品服务发送请求之前,用请求拦截器给这次请求里面放一个业务扩展字段,比如X-Token,在业务上代表一个一次性令牌,后边的值可以是一个uuid,把这组k-v放到本次请求的请求头上,最后商品服务收到这个请求,就可以从请求头上拿到X-Token的数据,接下来我们来实现这个需求。原创 2025-02-15 21:48:06 · 1058 阅读 · 0 评论 -
大白话实战Nacos(保姆级教程)
上一篇博客我们创建好了微服务项目,本篇博客来体验一下Nacos作为注册中心和配置中心的功能。原创 2025-02-10 22:01:46 · 1873 阅读 · 0 评论 -
大白话演绎SpringCloud架构进化过程
同理,数据库服务器也可以复制多台副本。以前的架构我们在每一台服务器上部署了商城的完整应用,这样每一处代码的更新都得需要把应用重新打包部署,现在可以把整个应用,按照功能模块进行拆分,把一个大的应用,拆分成一个个小应用,比如商品、订单、支付等等,拆分出的每一个小应用,我们把它称为微服务,每个微服务都可以独立部署,不仅应用可以拆分,数据库也可以,以前商城所有的数据都在一个库里面,并发高的情况,所有增删改查都要经过这个库,可能同样扛不住,进一步拆分,把商品的数据放到商品数据库、订单数据放到订单数据库里,依次类推。原创 2025-02-07 22:12:08 · 1253 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day12
苍穹外卖-day12课程内容工作台Apache POI导出运营数据Excel报表功能实现:工作台、数据导出工作台效果图:数据导出效果图:在数据统计页面点击数据导出:生成Excel报表1. 工作台1.1 需求分析和设计1.1.1 产品原型工作台是系统运营的数据看板,并提供快捷操作入口,可以有效提高商家的工作效率。工作台展示的数据:今日数据订单管理菜品总览套餐总览订单信息原型图:名词解释:营业额:已完成订单的总金额有效订单:已完成订单的数量订单完成原创 2024-12-08 23:33:21 · 1966 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day11
Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。官网地址:https://echarts.apache.org/zh/index.html1). 柱形图2). 饼形图3). 折线图**总结:**不管是哪种形式的图形,最本质的东西实际上是数据,它其实是对数据的一种可视化展示。原创 2024-12-08 23:23:33 · 1147 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day10
是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。**定位:**定时任务框架**作用:**定时自动执行某段Java代码为什么要在Java程序中使用Spring Task?1). 信用卡每月还款提醒2). 银行贷款每月还款提醒3). 火车票售票系统处理未支付订单4). 入职纪念日为用户发送通知**强调:**只要是需要定时处理的场景都可以使用Spring TaskWebSocket 是基于 TCP 的一种新的网络协议。原创 2024-12-08 23:01:03 · 1116 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day09
产品原型:业务规则接口设计:参见接口文档。原创 2024-12-08 22:44:24 · 1174 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day08
前面的课程已经实现了用户下单,那接下来就是订单支付,就是完成付款功能。支付大家应该都不陌生了,在现实生活中经常购买商品并且使用支付功能来付款,在付款的时候可能使用比较多的就是微信支付和支付宝支付了。在苍穹外卖项目中,选择的就是微信支付这种支付方式。要实现微信支付就需要注册微信支付的一个商户号,这个商户号是必须要有一家企业并且有正规的营业执照。只有具备了这些资质之后,才可以去注册商户号,才能开通支付权限。原创 2024-12-04 23:13:47 · 1151 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day07
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。EHCacheCaffeineRedis(常用)</</</</原创 2024-12-04 21:47:34 · 818 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day06
苍穹外卖-day06课程内容HttpClient微信小程序开发微信登录导入商品浏览功能代码功能实现:微信登录、商品浏览微信登录效果图:商品浏览效果图:1. HttpClient1.1 介绍HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient作用:发送HTTP请求接收响应数据为什么要在Java程原创 2024-12-02 23:54:16 · 1685 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day05
Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。**官网:**https://redis.io**中文网:**https://www.redis.net.cn/key-value结构存储:基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。原创 2024-12-02 23:20:34 · 1116 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day04
setmeal_dish表为套餐菜品关系表,用于存储套餐和菜品的关联关系。setmeal表为套餐表,用于存储套餐的信息。原创 2024-12-02 22:12:55 · 802 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day03
进入到sky-server模块,创建com.sky.annotation包。原创 2024-12-02 22:01:30 · 878 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day02
ThreadLocal 并不是一个Thread,而是Thread的局部变量。ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。原创 2024-11-28 22:48:15 · 1615 阅读 · 0 评论 -
黑马程序员Java项目实战《苍穹外卖》Day01
作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从 软件开发流程、角色分工、软件环境 三个方面整体介绍一下软件开发。在开发苍穹外卖这个项目之前,我们需要全方位的来介绍一下当前我们学习的这个项目。接下来,我们将从项目简介、产品原型、技术选型三个方面来介绍苍穹外卖这个项目。原创 2024-11-27 22:30:59 · 3939 阅读 · 0 评论 -
通俗易懂理解JavaWeb登录认证(记得收藏)
与开发接口比起来,登录认证功能对于新手来说理解起来更难,但是登录又是每个系统中必不可少的功能,很多系统中的功能,没有登录是无法使用的,比如商场中的购物车,你不用账号登录,根本不知道购物车中有啥。本篇博客主题就是登录认证。最终我们要实现的效果就是用户必须登录之后,才可以访问后台系统中的功能。什么是会话?在我们日常生活当中,会话指的就是谈话、交谈。在web开发当中,会话指的就是浏览器与服务器之间的一次连接,我们就称为一次会话。原创 2024-09-23 23:29:44 · 1204 阅读 · 0 评论 -
SpringBoot Web项目分页查询
如果数据库中的数据有很多(假设有十几万条)的时候,将数据全部展示出来肯定不现实,那如何解决这个问题呢?使用分页解决这个问题。每次只展示一页的数据,比如:一页展示10条数据,如果还想看其他的数据,可以通过点击页码进行查询。原创 2024-09-18 17:50:21 · 1739 阅读 · 0 评论 -
SpringBootWeb增删改查入门案例
为了快速入门一个SpringBootWeb项目,这里就将基础的增删改查的案例进行总结,作为对SpringBoot+Mybatis的基础用法的一个巩固。原创 2024-09-18 16:56:21 · 2022 阅读 · 0 评论 -
Mybatis基础操作教程
通过Mybatis入门我们可以在IDEA中进行基础的Mybatis查询操作,接下来我们进一步对Mybatis常用操作进行整理。Mybatis框架功能远不止于此,但是有了上面的这些基础操作,我们可以完成大部分的数据操作。原创 2024-08-20 22:39:37 · 596 阅读 · 0 评论 -
Mybatis入门指南
MyBatis是一个优秀的持久层框架,它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解来进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects)映射成数据库中的记录。MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。MyBatis本是 Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis。原创 2024-08-17 10:40:11 · 546 阅读 · 0 评论 -
通俗理解IOC和DI
先简单感受一下什么是IOC控制反转(Inversion of Control,简称 IoC)是一种设计思想,主要用于解耦软件组件之间的依赖关系。在Java开发中,IoC容器通常负责管理对象的生命周期和依赖关系。简单来说,IoC的核心思想就是将程序中的控制权“反转”给外部容器,让这个容器来管理各个组件之间的依赖关系,而不是由组件自己来管理这些依赖。IoC的核心思想就是将程序中的控制权“反转”给外部容器,让这个容器来管理各个组件之间的依赖关系,而不是由组件自己来管理这些依赖。原创 2024-08-16 23:59:18 · 176 阅读 · 0 评论 -
通俗理解JavaWeb三层架构
JavaWeb开发中经常说的Controller层、Service层、Dao层这三层架构,这三层分别做了什么事情,这么分又有什么意义呢?接下来我们用一个简单的案例来详细讲解。Java Web应用的三层架构通常指的是表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种架构模式有助于实现高内聚低耦合的设计原则,使得代码更加模块化,易于维护和扩展。原创 2024-08-16 22:16:47 · 322 阅读 · 0 评论 -
Postman入门指南
Postman是一款广泛使用的API开发工具,它可以用来构建、测试和修改API。它不仅支持常见的HTTP请求类型(GET、POST、PUT等),还提供了一系列高级功能,如环境变量管理、自动化测试、API文档生成等。Postman适用于多种操作系统,包括Windows、macOS和Linux,并且还有浏览器扩展版本。作用接口测试特征简单实用美观大方工欲善其事,必先利其器,学习javaweb之前需要把常用的软件熟练使用。原创 2024-08-15 22:38:02 · 915 阅读 · 1 评论 -
Tomcat下载安装文档
Tomcat服务器软件是一个免费的开源的web应用服务器。是Apache软件基金会的一个核心项目。由Apache,Sun和其他一些公司及个人共同开发而成。由于Tomcat只支持Servlet/JSP少量JavaEE规范,所以是一个开源免费的轻量级Web服务器。JavaEE规范: JavaEE => Java Enterprise Edition(Java企业版)JavaEE规范就是指Java企业级开发的技术规范总和。原创 2024-08-14 22:11:24 · 179 阅读 · 0 评论 -
SpringBootWeb快速入门
学习SpringBoot入门之前,先得了解一下什么是Spring。我们可以打开Spring的官网,去看一下Spring的简介:Spring 官网上的有四句话是对 Spring 框架及其生态系统的高度概括,旨在传达 Spring 如何帮助开发者在 Java 平台上构建应用程序。这句话强调了 Spring 框架的一个核心优势:简化 Java 开发。原创 2024-08-13 22:17:54 · 167 阅读 · 0 评论 -
VS Code安装文档
vscode不像IDE一样能够直接在浏览器中打开html,而该插件支持快捷键与鼠标右键快速在浏览器中打开html文件,支持自定义打开指定的浏览器,包括:Firefox,Chrome,Opera,IE以及Safari。Vue多功能集成插件,包括:语法高亮,智能提示,emmet,错误提示,格式化,自动补全,debugger。VS Code提供了非常丰富的插件功能,根据你的需要,安装对应的插件可以大大提高开发效率。给括号加上不同的颜色,便于区分不同的区块,使用者可以定义不同括号类型和不同颜色。原创 2024-08-12 21:53:21 · 115 阅读 · 0 评论
分享