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.mzph.cn/news/869093.shtml

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

相关文章

非营利组织的数据治理之路

在非营利组织的日常运营中,数据不仅是记录过去活动的工具,更是指导未来决策、衡量项目成效、增强公众信任以及优化资源配置的关键要素。 然而,随着数据量的不断增长和复杂性的提升,非营利组织在享受数据带来的便利的同时&#xf…

Java面试八股之MySQL中的MVCC是什么,作用是什么?

MySQL中的MVCC是什么,作用是什么? MySQL中的MVCC(Multiversion Concurrency Control,多版本并发控制)是一种并发控制机制,用于提高数据库的并发性能并确保数据的一致性,特别是在高并发读写场景…

初阶C++(二)

初阶C(二) 1. 重载函数(一)对于重载函数的理解(二)重载函数分类2.引用(一) 引⽤的概念和定义(二)引用的使用(三)const引用 1. 重载函数…

无缝协作:如何实现VMware与Ubuntu虚拟机的剪切板共享!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 剪贴板共享 📒📝 VMware设置📝 安装VMware Tools或open-vm-tools📝 验证剪贴板共享功能⚓️ 相关链接 🚓️📖 介绍 📖 无缝的剪贴板共享是提高工作效率的关键。在VMware和Ubuntu虚拟机的协同工作中,能够直接在宿…

通用机器人里程碑!MIT提出策略组合框架PoCo,解决数据源异构难题,实现机器人多任务灵活执行

18 位人形机器人充当「迎宾」人员,整齐划一向嘉宾挥手,这是 2024 世界人工智能大会上的一个震撼场景,让人们直观感受到了今年机器人的飞速发展。 图源:甲子光年 1954 年,世界上第一台可编程机器人「尤尼梅特」在通用汽…

三维点云配准 -- ICP 算法原理及推导

三维点云配准 -- ICP 算法原理及推导 - 知乎 (zhihu.com) 三维点云配准 -- ICP 算法 | Yilins Blog Alex Segal - Research - Generalized-ICP (ox.ac.uk)

一个项目学习Vue3---if、else、show、for的使用

观察下面代码学习这部分内容 <!--条件和列表渲染--> <template><button click"stateChang">状态切换{{ flag }}</button><span v-if"flag">显示这个</span><span v-else-if"!flag">显示那个Else<…

算法力扣刷题记录 三十八【二叉树的层次遍历应用一及二叉树构建】

前言 二叉树层序遍历应用题目。 记录三十八 【二叉树的层次遍历应用一】 继续。 一、【107.二叉树的层次遍历 II】 题目 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向…

WTM的项目中EFCore如何适配人大金仓数据库

一、WTM是什么 WalkingTec.Mvvm框架&#xff08;简称WTM&#xff09;最早开发与2013年&#xff0c;基于Asp.net MVC3 和 最早的Entity Framework, 当初主要是为了解决公司内部开发效率低&#xff0c;代码风格不统一的问题。2017年9月&#xff0c;将代码移植到了.Net Core上&…

03_Shell变量

【Shell】03_Shell变量 一、环境变量 Linux系统配置文件&#xff08;全局配置文件和用户个人配置文件&#xff09;中定义的变量&#xff0c;提供给所有Shell程序使用 1.1、全局环境变量 1.1.1、配置文件位置 /etc/environment /etc/bashrc&#xff08;或者/etc/bash.bashrc…

《梦醒蝶飞:释放Excel函数与公式的力量》10.1.1函数简介

10.1.1函数简介 BIN2DEC函数是Excel中用于将二进制数转换为十进制数的函数。它在处理二进制数时非常有用&#xff0c;尤其是在电子工程、计算机科学等领域。 10.1.2函数语法&#xff1a; BIN2DEC(number) number&#xff1a;这是要转换的二进制数&#xff0c;必须是以字符串…

HNU小学期BSP软件编程基础十道测试题

http://t.csdnimg.cn/Yv0R1 文章参考了这位大佬的代码&#xff0c;在他的基础上进行了纠错、完善等处理。 配置 编程前的准备工作按大佬的流程即可&#xff0c;稍有不同的是学习通课程网站的资料里没有头文件的整个压缩包了&#xff0c;但我们可以下载某个BSP版的工程文件&am…

磁力搜索引擎是什么?为什么有些资源喜欢用磁力链接?

磁力链接是什么东西&#xff1f;在日常生活中&#xff0c;我们接触的比较多的下载链接是直链。 所谓的直链简单来说就是直接指向服务器文件资源的链接&#xff0c;如B站app的下载链接&#xff0c;这种链接有统一的服务器提供保障&#xff0c;通常比较稳定&#xff0c;可以追溯源…

python调用qt编写的dll

报错&#xff1a;FileNotFoundError: Could not find module F:\pythonProject\MINGW\sgp4Lib.dll (or one of its dependencies). Try using the full path with constructor syntax. 只有两种情况&#xff1a; 1.路径不对 2.库的依赖不全 1、如果是使用了qt库的&#xff0…

JAVA Tesseract OCR引擎

Tess4j是一个基于Tesseract OCR引擎的Java库, Tesseract库最初由惠普实验室于1985年开发&#xff0c;后来被Google收购并于2006年开源。识别效果不好&#xff0c;速度还慢&#xff0c;但是好早好早了。 一、POM依赖 <!--OCR识别https://digi.bib.uni-mannheim.de/tesserac…

一文洞悉巴基斯坦电子游戏出海引流获客广告风口不容忽视

一文洞悉巴基斯坦电子游戏出海引流获客广告风口不容忽视 随着全球数字经济的蓬勃发展&#xff0c;电子游戏行业也迎来了前所未有的机遇。巴基斯坦&#xff0c;这个拥有庞大人口基数和日益增长的消费能力的国家&#xff0c;其电子游戏市场潜力巨大。本文旨在探讨巴基斯坦电子游戏…

springboot驾校管理系统-计算机毕业设计源码49777

驾校管理系统 摘 要 驾校管理系统是一个基于Spring Boot框架开发的系统&#xff0c;旨在帮助驾校提高管理效率和服务水平。该系统主要实现了用户管理、年月类型管理、区域信息管理、驾校信息管理、车辆信息管理、报名信息管理、缴费信息管理、财务信息管理、教练分配管理、更换…

探索未知,悦享惊喜 —— 您的专属盲盒APP开发之旅

在这个充满无限可能的数字时代&#xff0c;每一份期待都值得被精心打造。我们诚邀您一同踏入盲盒APP开发的奇妙世界&#xff0c;共同开启一场融合趣味、惊喜与社交的全新体验。 【概念启航&#xff1a;盲盒文化的数字化演绎】 盲盒&#xff0c;这一源自传统玩具的趣味玩法&am…

python爬虫基础入门

步骤 获取网页内容&#xff1a; http请求 python的Requests库 解析网页内容 html网页结构 python的Beautiful Soup库 储存或分析数据 储存进数据库 作为ai分析的数据 转化为图表显示出来 DDoS攻击 通过给服务器发送海量高频请求&#xff0c;大量消耗网页资源&#…

昇思25天学习打卡营第12天|基于MindSpore的GPT2文本摘要

基于MindSpore的GPT2文本摘要 数据集加载 使用nlpcc2017摘要数据&#xff0c;共包含5万个样本&#xff0c;内容是新闻正文及其摘要。 from mindnlp.utils import http_get from mindspore.dataset import TextFileDataset# 下载数据集 url https://download.mindspore.cn/t…