JavaEE三层架构

news2024/10/6 16:31:03

一. JavaEE三层架构

客户端:发送请求【http://ip:port/工程路径/资源路径】给服务器。

服务器:处理客户端的请求,把结果响应给客户端,由以下三部分组成

              1.Web层(SpringMVC)包括:①使用Servlet程序接收客户端的请求参数,封装成为Bean对象;②调用Service层处理业务;③响应数据给客户端,请求转发,请求重定向。

              2.Service业务层(Spring)包括:①处理业务;②调用DAO持久层将数据保存到数据库。

              3.Dao持久层(JDBC):只负责跟数据库交互。

流程如下 客户端发送请求 → Web层(Servlet程序) → Service业务层 → Dao层(JDBC) → 数据库

                  客户端发送请求

                  ② 服务器的Web层使用Servlet程序接收请求,其中Servlet程序调用Service层执行请求

                  ③ 服务器的Service层编写处理请求的具体算法,如果需要操作数据库,则调用DAO层

                  ④ 服务器的Dao层通过JDBC连接并操作数据库     

                  ⑤ 执行完请求后,服务器的Web层将响应的数据返回给客户端

二. 在开发时需要创建的常见包

Web层:web/servlet/controller

Service层:service(Service接口)、service.impl(Service接口实现类)

Dao持久层:dao(Dao接口)、dao.impl(Dao接口实现类)

实体bean对象:pojo/entity/domain/bean (JavaBean类)

工具类:utils

测试:test

三. HTTP协议

①HTTP协议是指客户端和服务器之间通信时(发送数据)需要遵守的规则,HTTP协议中的数据又叫报文。

②客户端给服务器发送数据叫请求,服务器给客户端发送数据叫响应。

③查看请求和响应内容(打开页面控制器):CTRL+SHIFT+I

1. 请求的HTTP协议格式

请求分为:GET请求和POST请求

①GET请求包括:请求行、请求头

GET请求有:form标签 method=get;a标签;link标签引入css;Srcipt标签引入js文件;img标签引入图片;iframe标签引入html页面;在浏览器地址栏中输入地址后敲回车

②POST请求包括:请求行、请求头、请求体(发送给服务器的数据)

POST请求有:form标签 method=post

2. 响应的HTTP协议格式

①响应包括:响应行、响应头、响应体

②常见的响应码:200(表示请求成功)、302(表示请求重定向)、404(表示服务器已经收到请求,但是请求的数据不存在,例如请求地址错误)、500(表示服务器已经收到请求,但是服务器内部错误)

③MIME是HTTP协议中的数据类型

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

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

相关文章

微服务架构统一异常监控Sentry

Sentry 基本介绍简单使用Java项目应用代码侵入(不建议,耦合性大)全局拦截器捕获(建议)Lockback.xml 配置(建议) 基本介绍 Sentry 是一个开源的实时错误报告工具,支持 web 前后端、移…

《从零开始读懂Web3》读后感 之 Web 3.0的前世今生

介绍什么是 Web 3.0 (Web3)?网络的演变为什么 Web 3.0 很重要?Web 3.0 将如何运作?Web 3.0 的主要功能和技术Web 3.0 用例和应用程序Web 3.0 的潜在好处是什么?Web 3.0 的潜在挑战是什么?Web 3.…

【3】使用YOLOv8训练自己的目标检测数据集-【收集数据集】-【标注数据集】-【划分数据集】-【配置训练环境】-【训练模型】-【评估模型】-【导出模型】

在自定义数据上训练 YOLOv8 目标检测模型的步骤可以总结如下 6 步: 🌟收集数据集🌟标注数据集🌟划分数据集🌟配置训练环境🌟训练模型🌟评估模型 1. 收集数据集 随着深度学习技术在计算机视觉领…

Windows安装mysql详细步骤(通俗易懂,简单上手)

文章目录 【确认本地是否安装mysql】【下载mysql安装包】【添加配置文件并安装mysql】【修改mysql密码】【配置环境变量】【总结】 前期在windows电脑尝试安装mysql,经历诸多不顺,特把安装详细步骤以及遇见的问题记录下来,提供给有需者使用。…

Java-Web前后端交互实现登陆注册(附源码)

1.完成用户登录功能。 2.完成注册功能。 3.主体利用Maven导入java中的jar包,使用Servlet实现前后端交互,使用mybatis以及注解,mysql进行数据保存,Tomcat服务器进行开发。 效果图 项目结构 代码 mapper(相对应注解) package com.it…

前端搭建砸地鼠游戏(内附源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 功能介绍✨ 页面搭建✨ 样式设置✨ 逻辑部分✨ 完整代码 ✨ 写在前面 上周我们实通过前端基础实现了打字通,当然很多伙伴再评论区提出了想法,后续我们会考虑实现的,今天还是继续按照我…

微服务---Redis实用篇-黑马头条项目-优惠卷秒杀功能(使用redis的消息队列对秒杀进行异步优化)

微服务—Redis实用篇-黑马头条项目-优惠卷秒杀功能(使用redis的消息队列对秒杀进行异步优化) 1、Redis消息队列 1.1 Redis消息队列-认识消息队列 什么是消息队列:字面意思就是存放消息的队列。最简单的消息队列模型包括3个角色: 消息队列&#xff1a…

零基础学模拟电路--2.运算放大器的虚短和虚断

零基础学模拟电路–2.运算放大器的虚短和虚断 虚短: 虚短指在理想情况下,两个输入端的电位相等,就好像两个输入端短接在一起,但事实上并没有短接,称为“虚短”。 由虚短可得出正负输入端点位相等的结论。 虚断&…

如何在 VS Code 中编写、运行C语言程序 教程

本篇目录 前言 1.下载、安装VS Code 2.安装VS code中2个插件 3.下载minGW64 4.配置系统的环境变量 5.C语言配置 6.编写一个测试程序 7.可能存在的问题 总结 前言 折腾了好久,终于成功地实现了在VS Code中写C语言程序,于是发文分享一下我的经验。 要想…

FPGA实现AD采集

1 理论学习(废话篇) ADC 模拟数字转换器(额谈到这个,真的很荣幸在ADI实习的时光,打住不扯了),凡是涉及到模拟信号转数字信号的时候,都会用到ADC。   ADC的种类很多,有积…

解决el-checkbox点击文字也会选中

最近要做一个 多选框嵌套下拉框的一个功能,在点击下拉框时,多选框一直会被选中或者取消,这里做一下解决记录 首先展示一下要做的功能 出现原因: el 的checkbox的组件整个是由lable包裹的,所以重写el-checkbox就可以了…

〖大前端 - 基础入门三大核心之CSS篇㉓〗- 过渡的缓动效果

当前子专栏 基础入门三大核心篇 是免费开放阶段。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V!说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费开放,购买任意白宝书体系化专栏可加入TFS…

〖大前端 - 基础入门三大核心之CSS篇㉑〗- 3D变形 与空间移动

当前子专栏 基础入门三大核心篇 也是免费开放阶段。推荐他人订阅,可获取扣除平台费用后的35%收益。说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费开放,购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。福利&#xff1a…

Java去除字符串中空格、制表符、回车换行的方法

\t 是制表符\r\n 回车换行 注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果.操作系统的不同,换行符操也不同:\r: return 到当前行的最左边。\n: newline 向下移动一行,并不移…

Reddit NFT爆火,全球最大社区论坛成为Web3大规模应用前哨站

这是白话区块链的第1804期原创 作者 | 火火出品|白话区块链(ID:hellobtc) 据Dune Analytics最新数据显示,Reddit于Polygon网络发行的NFT系列Reddit Collectible Avatar销售总量已突破9万笔,在12月7日达到94…

火灾报警电路设计

火灾报警电路设计 设计一个火灾报警电路:有一火灾报警系统,设有烟感、温感和紫外线 光感3种类型的火灾探测器。为了防止误报警,只有当其中有两种或两种以 上类型的探测器发出火灾检测信号时,报警系统才产生报警控制信号。设计一个…

Linux驱动device_create创建字符设备文件

在Linux中有两种创建字符设备的方法,一种是通过mknod手动进行设备文件创建,第二种是通过device_create函数进行设备文件创建。在驱动开发中常用第二种方式进行设备文件的创建。 class_create和device_create 先来了解一下跟设备文件创建相关的两个函数。…

window 以zip的方式 安装mysql5.7或mysql8,或者两个一起安装Mysql5.7和Mysql8、或其他的版本也可以

window 以zip的方式 安装mysql5.7或mysql8,或者两个一起安装Mysql5.7和Mysql8、或其他的版本也可以 注意不能同一个端口。需要创建个my.ini ,配置内容在网上查下即可 比如说 mysql8的配置文件或mysql5.7的配置,当然内容差别不大,只是需要看自…

数据库系统课程设计(高校成绩管理数据库系统的设计与实现)

目录 1、需求分析 1 1.1 数据需求描述 1 1.2 系统功能需求 3 1.3 其他性能需求 4 2、概念结构设计 4 2.1 局部E-R图 4 2.2 全局E-R图 5 2.3 优化E-R图 6 3、逻辑结构设计 6 3.1 关系模式设计 6 3.2 数据类型定义 6 3.3 关系模式的优化 8 4、物理结构设计 9 4.1 聚…

【AIGC】论文阅读神器 SciSpace 注册与测试

欢迎关注【youcans的 AIGC 学习笔记】原创作品 【AIGC】论文阅读神器 SciSpace 注册与测试 1. 【SciSpace】网址与用户注册1.1 官网地址:[【SciSpace官网】https://typeset.io](https://typeset.io)1.2 官网注册 2. 【SciSpace】实战解说2.1 导入论文2.2 论文分析2.…