JavaWeb服务器详解和后端分层解耦

news2024/12/24 18:34:12

JavaWeb

    • HTTP协议
      • 请求数据格式
      • 响应数据格式
      • 协议解析
    • Web服务器
    • 请求响应
      • 请求参数的接收
      • 响应
    • 分层解耦
      • IOC&DI入门
      • IOC详解


HTTP协议

超文本传输协议,规定了浏览器和服务器之间数据传输的规则

特点:
基于TCP协议:面向连接,安全
基于请求-响应模型:一次请求对应一次响应
HTTP是无状态协议,对于事物处理没有记忆能力。每次请求-响应都是独立的

优点:速度快
缺点:多次请求间不能共享数据

请求数据格式

在这里插入图片描述

在这里插入图片描述

响应数据格式

在这里插入图片描述

协议解析

Web服务器

一个软件程序,对HTTP协议的操作进行封装,让Web开发更加快捷。

主要功能:提供网上信息的浏览服务

请求响应

在这里插入图片描述

在这里插入图片描述

请求参数的接收

简单参数

实体参数

数组集合

json
在这里插入图片描述

路径参数

响应

在这里插入图片描述

分层解耦

三层架构:
复用性强、便与维护、利于扩展
在这里插入图片描述

在这里插入图片描述

内聚:软件中各个功能模块内部的功能关系
耦合:衡量软件中各个层/模块之间的依赖、关联的程度
软件设计原则:高内聚低耦合

控制反转(IOC):对象的创建控制权由程序自身转移到外部(容器)
依赖注入(DI):容器为应用程序提供运行时,所依赖的资源,称之为依赖注入
Bean对象:IOC容器中创建、管理的对象

IOC&DI入门

1.Service层及Dao层的实现类,交给IOC容器管理。
加@Component注解

2.为Controller及Service注入运行时,依赖对象。
加@Autowired注解

3.运行测试。
在这里插入图片描述

IOC详解

在这里插入图片描述

Bean组件扫描
默认扫描范围是启动类所在包及其子包,
通过在启动类中加@ComponentScan({“dao”,“com.itheima”})可以修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1274189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三方实验室LIMS管理系统源码,asp.net LIMS源码

LIMS实验室信息管理系统源码 LIMS系统的功能根据实验室的规模和任务而有所不同,其系统主要功能包括:系统维护、基础数据编码管理,样品管理、数据管理、报告管理、报表打印、实验材料管理、设备管理等。它可以取代传统的手工管理模式而给检测实验室带来巨…

aspera传输方案怎么样,需要选择aspera替代方案吗

Aspera传输方案是一种高速、可靠的文件传输解决方案,适用于需要大规模传输大文件或数据集的企业和组织。Aspera采用UDP协议及自己开发的FASP协议进行加速传输,能够在高延迟、高丢包网络环境下实现稳定快速的传输。 Aspera传输方案具有以下优点&#xff1…

【【带Micro Blaze的 AXI GPIO 控制LED实验】】

带Micro Blaze的 AXI GPIO 控制LED实验 AXI GPIO IP 核为 AXI 接口提供了一个通用的输入/输出接口。AXI GPIO 是一个软核(Soft IP),是由用户通过配置芯片的逻辑资源来实现的一个功能模块。 实验任务 : 本章的实验任务是通过调用…

颠覆性语音识别:单词级时间戳和说话人分离

vbenjs/vue-vben-admin[1] Stars: 19.7k License: MIT Vue Vben Admin 是一个免费开源的中后台模板,使用最新的 vue3、vite4 和 TypeScript 等主流技术进行开发。该项目提供了现成的中后台前端解决方案,并可用于学习参考。 使用先进的前端技术如 Vue3/…

11 款顶级的免费 iPhone 数据恢复软件

iPhone 拥有巨大的存储容量。您可以在 iPhone 设备上存储图像、文档和视频等数据。有时,您的 iPhone 会发生许多意外事件,例如意外删除,从而导致数据丢失。这里有 11 个最好的免费 iPhone 数据恢复软件,您可以免费下载&#xff0c…

基于社区电商的Redis缓存架构-用户分享内容的分页列表缓存延迟构建以及异步通知缓存重建

分页列表缓存的延迟构建 首先,先来讲一下业务场景,用户会在 APP 中去分享内容,那么假如用户分享的是美食菜谱内容,在用户分享之后,先将这个美食菜谱的内容作为 k-v 进行缓存,但是呢,其实对于用…

Microsoft Remote Desktop高效、安全、稳定的远程办公解决方案

在今天的数字化时代,Remote Desktop远程办公已成为许多人的日常生活。无论你是因为工作需要,还是因为在家中需要访问公司服务器,微软远程连接软件都是一个理想的选择。 微软远程连接软件Remote Desktop是一款高效、安全、稳定的远程办公解决…

Clickhouse Join

ClickHouse中的Hash Join, Parallel Hash Join, Grace Hash Join https://www.cnblogs.com/abclife/p/17579883.html https://clickhouse.com/blog/clickhouse-fully-supports-joins-full-sort-partial-merge-part3 总结 本文描述并比较了ClickHouse中基于内存哈希表的3种连接…

Nginx基线检查

扩展知识: Nginx主配置文件:/etc/nginx/nginx.conf 这是Nginx的主要配置文件,用于配置全局的设置、HTTP块、事件处理、邮件等内容。 打开并编辑配置文件 vim /etc/nginx/nginx.conf 一、关于禁止显示服务器版本号和操作系统版本信息: 简介: 在错误页面和响应头中显示…

2024年软考高级信息系统项目管理师备考攻略

软考高级信息系统项目管理师是一项合格性考试,考试内容相对有限,因此真题的重复率较高。下一次考试与上一次相比,重复率不高,但与之前所有年份的真题相比,重复率较高。在这几次考试中,我认为最重要的是务必…

SQL Sever 基础知识 - 数据筛选

SQL Sever 基础知识 - 四、数据筛选 四、筛选数据第1节 DISTINCT - 去除重复值1.1 SELECT DISTINCT 子句简介1.2 SELECT DISTINCT 示例1.2.1 DISTINCT 一列示例1.2.2 DISTINCT 多列示例 1.2.3 DISTINCT 具有 null 值示例1.2.4 DISTINCT 与 GROUP BY 对比 第2节 WHERE - 过滤查询…

Linux常用命令----history命令

文章目录 在Linux中,history命令是一个极其有用的工具,它可以帮助用户查看和管理之前执行过的命令历史。这个功能对于快速查找和重用之前的命令特别有帮助。下面,我们将通过一些实例,详细介绍history命令的使用方法。 1. 基本使用…

【机器视觉技术栈】- 机器视觉基础

1.1 为什么采用机器视觉 人眼与机器视觉对比 人眼机器视觉精确性差,64灰度级,不能分辨小于100微米的目标强,256灰度级,可检测微米级目标速度慢,无法看清间隔小于40毫秒的运动目标快,快门时间可达10微秒适…

计算机网络HTTP篇

目录 一、HTTP基本概念 二、GET 与 POST 2.1、GET 与 POST 有什么区别? 2.2、GET 和 POST 方法都是安全和幂等的吗? 三、HTTP 缓存 3.1、强制缓存: 3.2、协商缓存 四、HTTP 特性 4.1、HTTP/1.1 4.1.1、HTTP/1.1 的优点 4.1.2、HTT…

【新品上市】启扬储能管理平板,打造储能管理新模式,助力全场景储能数智化升级!

随着可再生能源的快速发展,储能技术的应用日益广泛,储能系统成为解决可再生能源波动性和不可控制性的关键环节。储能系统通过实时监测、数据分析、远程控制等智能化功能,实现能量的高效利用和系统的稳定运行。 启扬智能推出 工业级储能管理平…

Docker 安装部署 Sentinel Dashboard

1、下载 jar 包 官方 jar 包下载地址:https://github.com/alibaba/Sentinel/releases 或者点击 链接 直接跳转到下载页 进入链接下载你需要的版本 下载完毕(我这里统一放在一个sentinel目录内) 2、编写 Dockerfile 文件(这里我不…

OpenCV快速入门:彩蛋——小游戏制作

文章目录 前言一、游戏玩法1.1 核心玩法1.2 特殊事件 二、功能模块划分2.1 主游戏文件 (main.py)2.2 游戏对象 (game_objects.py)2.3 游戏逻辑 (game_logic.py)2.4 事件和奖励 (events_and_rewards.py)2.5. 游戏界面 (game_ui.py) 三、完整代码3.1 主游戏文件 (main.py)3.1.1 游…

仅仅通过提示词,GPT-4可以被引导成为多个领域的特定专家

The Power of Prompting:提示的力量,仅通过提示,GPT-4可以被引导成为多个领域的特定专家。微软研究院发布了一项研究,展示了在仅使用提策略的情况下让GPT 4在医学基准测试中表现得像一个专家。研究显示,GPT-4在相同的基…

浅聊代理(应用部署)

以前很少接触过项目的上线部署, 我对前后端交互的认知还停留在前端一个请求 对应后端一个API 比如后端提供: /api/backend/categories -GET 前端则通过使用ajax或者axios组件去构建http请求, 发送到: https://host:port/api/backend/categories -GET 一、…

11-22 SSM3

书城分页查询 使用mybatis分页插件: 请完成登陆注册 -> 跳转到首页 解决前端上架时间点击切换 以及侧边栏点击由背景颜色的改变 完成超链接的绑定点击时间 -> jquery $(document).ready(function() { // 初始化上架时间状态为 true(上架&…