7/8 复盘

后端数据传输?

后端代码的耦合:打点调用、方法调用、接口、继承。

Dao、Service、servlet(controller)各层的作用?

Dao负责与数据库交互,执行SQL语句,例如简单的增删改查等等。(要创建对应的接口和实现类)

Service层通常会调用Dao层提供的方法来获取数据或更新数据,执行特定的业务逻辑,并将处理结果返回。(要创建对应的接口和实现类)

Servlet接收前端请求、调用Service层(的方法)执行业务逻辑,并返回处理结果给前端。

前端传递数据?

前端 :1. Ajax技术;2. RESTful API;3. WebSocket技术(不太清楚网上查的)

最原始的方式——HTML的表单。

表单数据将以POST请求的方式发送到指定的URL。(在HTML中使用form元素和input元素来创建表单,用户填写完数据后,通过表单的submit提交按钮来发送数据。method:Post)

(如果使用 method="get",当用户点击提交按钮时,表单数据将会以 GET 请求的方式被发送到指定的 URL。在这种情况下,表单数据会被附加在URL的查询参数中,以键值对的形式出现。)

form表单action?

发送到的指定url。

这里是Servlet里的doPost方法。如果执行add操作,把前端的数据存到后端实体类(比如之前pojo包里写的user类,封装的属性有username、password、realname、userType)的属性里面。

Servlet处理Post请求?

当使用 Servlet 来处理 POST 请求时,一般会在 `doPost()` 方法中编写处理 POST 请求的逻辑。(从Post请求获取表单数据request.getParameter()、处理表单数据(比如数据校验、存储到数据库等)、生成响应、设置响应内容类型和编码)

Servlet?

调用Service层(的方法)执行业务逻辑,并返回处理结果给前端。

下图UserServlet在处理Post请求,调用Service的add方法。

Service层 扩展:然后这里是Service接口的抽象add方法

到Service具体类里实现add()

然后到Dao里,可以创建Use类型对象vo,(前端的数据通过表单传到vo,)在Dao里实现具体操作(sql增删改查)、(vo的数据就可以传到数据库里。)

为什么Service和Dao都要有对应的接口?

使用接口是为了调用与实现解耦。一种抽象、可以暂时不用考虑它的具体实现。(如果一个Dao、或Service明确只有一种实现,)Service和Dao对应的接口应该不是必须要写的。

抽象方法能调用吗?

直接通过接口名和方法名来调用抽象方法是不合法的,在Java中直接调用接口的抽象方法必须通过实现接口的类来实现。

当定义一个接口时,只能包含方法的声明,而没有方法的具体实现。接口中的方法都是抽象方法,不包含方法体。在接口中定义了一个方法后,需要在实现接口的类中提供具体的实现逻辑。

调用方法时,需要通过实例化一个`MyClass`对象来调用抽象方法`myMethod()`,而不是直接通过接口名调用。

拿上图举例子:红框部分是一个实例化的对象,userService是这个对象的名字;蓝框部分是创建对象,new一个对象:其类型是 `UserService`。而赋值给 `userService` 的实例是 `UserServiceImpl` 类的一个对象。(多态)1.如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法。2.父类类型实例可以调用父类中定义的所有属性和方法。

那么这个userService就可以调用`UserServiceImpl` 类的方法。

Controller和Servlet?

servlet

Servlet负责接收HTTP请求、处理请求参数、生成响应内容并返回给客户端。

Servlet是遵循Java Servlet规范的Java类,通过继承Servlet接口或Servlet的子类来实现对HTTP请求的处理。可以处理不同类型的HTTP请求(GET、POST等)

controller

  • 处理请求:Controller 层接收来自用户的 HTTP 请求(例如 GET、POST、PUT、DELETE)。

  • 执行业务逻辑:Controller 负责处理业务逻辑,例如验证输入、处理数据、与数据库交互等。

  • 返回视图:根据业务逻辑的结果,Controller 选择要返回给用户的视图。视图可以是 HTML、JSON 或其他格式。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

采用前后端分离技术架构+java语言开发的全套产科信息管理系统源码 可与医院HIS、LIS、PACS、RIS等系统进行对接

采用前后端分离技术架构java语言开发的全套产科信息管理系统源码 可与医院HIS、LIS、PACS、RIS等系统进行对接 什么是产科信息管理系统-建档管理? 产科信息管理系统建档管理通过信息技术实现了孕产妇健康信息的电子化、网络化和智能化管理,提高了医疗服…

谷粒商城学习笔记-2-分布式组件-SpringCloud Alibaba-Nacos注册中心

文章目录 一,Nacos简介1,简介2,Nacos原理剖析 二,Nacos服务端安装1,下载 nacos-server2,解压启动nacos-server3,验证 三,服务注册步骤1,引用Nacas客户端的Jar包2&#xf…

鸿蒙 arkts 实现手机号中间四位隐藏, 可以使用 substring [ 简单适用新手 ]

1, 看效果 2, 直接cv代码就可以 Preview Entry Component struct Setting {Statephone:string 15555555555maskPhoneNumber(phone:string){const start phone.substring(0,3)const end phone.substring(7)return ${start}****${end}}build() {Column(){Text(this.maskPhon…

泰迪智能科技受邀北京物资学院共讨校企合作交流

为落实“访企拓岗促就业”专项行动工作要求,推动科研成果向实际应用转化,培养适应新时代需求的高素质人才,拓宽毕业生就业渠道,提升就业竞争力。7月1日,广东泰迪智能科技股份有限公司区域总监曹玉红到访北京物资学院开…

《Attention Is All You Need》解读

一、简介 “Attention Is All You Need” 是一篇由Ashish Vaswani等人在2017年发表的论文,它在自然语言处理领域引入了一种新的架构——Transformer。这个架构现在被广泛应用于各种任务,如机器翻译、文本摘要、问答系统等。Transformer模型的核心是“自…

使用paddleOCR训练自己的数据集到ONNX推理

一、环境安装 1、安装paddlepaddle; https://www.paddlepaddle.org.cn/ 这里安装2.6.1的话使用onnx会出现swish算子报错的问题 python -m pip install paddlepaddle-gpu2.5.2 -i https://pypi.tuna.tsinghua.edu.cn/simple验证是否成功安装 python import paddl…

超详细kkFileView打包部署Windows或Liunx

目录 前言 下载源码编辑打包 Windows下的部署 Liunx下的部署 前言 本文章主要以下载源码 自己编译打包的方式进行部署。 因为4.0.0之后官方不在初始jar包,所以自己拉代码吧,别偷懒,顺便看看代码怎么写的。 码云: kkFileView 下载源代码为4.4.0-beta版本,亲测可用 下载源…

软件架构之开发方法

软件架构之开发方法 第6章:开发方法6.1 软件生命周期6.2 软件开发模型6.2.1 瀑布模型6.2.2 演化模型6.2.3 螺旋模型6.2.4 增量模型6.2.5 构件组装模型 6.3 统一过程6.4 敏捷方法6.4.1 极限编程6.4.2 特征驱动开发6.4.3 Scrum6.4.4 水晶方法6.4.5 其他敏捷方法 6.5 软…

AJAX快速入门(一) express框架的安装和使用范例

主打一个有用 首先保证安装了nodejs环境 打开终端 初始化npm npm init安装express npm i express测试样例 目录结构 样例代码 express.js //引入express const express require(express);//创建应用对象 const app express();//创建路由规则 //req是请求对象&#x…

Centos7 安装老版本的chrome

查看自己linux是哪个centos版本 使用以下命令: cat /etc/centos-release我这里是centOS 7。然后在安装最新版的google-chrome时,总是会报错显示存在依赖环境的问题,使得无法安装成功chrome。 Package: google-chrome-stable (/google-chro…

YOLOv10改进 | 添加注意力机制篇 | 添加FocusedLinearAttention助力yolov10实现有效涨点(含二次创新PSA机制)

一、本文介绍 本文给大家带来的改进机制是Focused Linear Attention(聚焦线性注意力)是一种用于视觉Transformer模型的注意力机制(但是其也可以用在我们的YOLO系列当中从而提高检测精度),旨在提高效率和表现力。其解决了两个在传统线性注意力…

windows电脑桌面便签在哪里找?

在忙碌的工作中,我们经常会有很多事情需要记住。这时,电脑桌面便签就成为了我们的好帮手。那么,在Windows电脑上,我们该如何找到桌面便签呢?下面,就让我来为大家详细介绍一下。 其实,Windows电…

FFmpeg 实现从麦克风获取流并通过RTMP推流

使用FFmpeg库实现从麦克风获取流并通过RTMP推流,FFmpeg版本为4.4.2-0。RTMP服务器使用的是SRS,我这边是跑在Ubuntu上的,最好是关闭掉系统防火墙。拉流端使用VLC。如果想要降低延时,请看我另外一篇博客,里面有说降低延时…

前端Canvas入门——怎么用Canvas画一些简单的图案

Canvas作为前端的画图工具&#xff0c;其实用途还是蛮广泛的&#xff0c;但是很多前端学习课程其实都很少涉及到这块内容。 于是乎&#xff0c;就写下这个了。 当然啦&#xff0c;目前还在学习摸索中。 一些实战代码&#xff0c;仅供参考&#xff1a; <canvasid"ctx&…

Onekey正版steam分流下载工具

今天给大家介绍的是一款下载steam游戏的工具。Onekey工具&#xff0c;是一款游戏下载器&#xff0c;可以下载steam正版分流游戏。下载正版分流的网站很多&#xff0c;但是都是网盘或者迅雷下载&#xff0c;或者游戏盒子下载&#xff0c;速度都很慢。这款软件是用steam下载的&am…

《Windows API每日一练》9.1 资源-图标

本节讲述图标、鼠标指针位图、字符串资源表、自定义资源的添加和应用。 本节必须掌握的知识点&#xff1a; 图标 第56练&#xff1a;ICON图标资源 鼠标指针位图 字符串资源表 自定义资源 第57练&#xff1a;字符串资源表和自定义资源 9.1.1 图标 在 Windows 窗口编程中&…

机场的出租车问题折线图

分析并可视化机场离场车辆数数据 本文将详细介绍如何使用Python的正则表达式库re和绘图库matplotlib对机场离场车辆数数据进行分析和可视化。以下是具体步骤和代码实现。 数据资源&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rU-PRhrVSXq-8YdR6obc6Q?pwd1234 提…

AutoCAD 2025:探索设计的未来

AutoCAD 2025是Autodesk公司推出的一款最新版本的计算机辅助设计&#xff08;CAD&#xff09;软件。作为一名长期使用AutoCAD的用户&#xff0c;我深感这款软件在设计、绘图和建模方面的卓越性能。以下是我对AutoCAD 2025功能的详细介绍以及我的使用体验。 AutoCAD 2025的主要…

Linux学习笔记(二)账户和组

一、基本概念 用 户&#xff1a;用户id&#xff0c;被称为UID 基本组&#xff1a;账户id&#xff0c;被称为GID。用户只能加一个基本组。 0代表超级管理员&#xff0c;root账号。 附加组&#xff1a;用户能加多个基本组。 二、添加账户和组 创建用户名tom&#xff0c;失效…

星间链路与星地链路

目录 一、星间链路 1.1 层内星间链路&#xff08;Intra-layer ISLs&#xff09; 1.2 层间星间链路&#xff08;Inter-layer ISLs&#xff09; 1.3 实现方式 1.3.1 微波链路 1.3.2 激光链路 二、星地链路 2.1 星地链路的关键特性 2.1.2 Ka信关站 2.1.2 Q/V信关站 2.1…