《JAVA EE企业级应用开发》第一课笔记

文章目录

  • 《JAVA EE企业级应用开发》第一课笔记
    • 课程主题:三层架构与SSM框架概述
    • 一、核心架构:三层架构 (MVC)
      • 1. 表现层 (Presentation Layer)
      • 2. 业务逻辑层 (Business Logic Layer)
      • 3. 数据持久层 (Data Persistence Layer)
    • 二、技术演进的核心驱动力
    • 三、课程技术栈与学习路径
      • 1. 核心基础:SSM框架
      • 2. 技术展望 (后续内容)
    • 四、开发环境准备

课程主题:三层架构与SSM框架概述


一、核心架构:三层架构 (MVC)

一个典型的Java Web应用请求(如用户登录)会经历以下流程:

flowchart TDA[用户点击登录] --> B[表现层<br>Spring MVC<br>接收请求数据]B --> C[业务逻辑层<br>Spring Framework<br>处理、加密、组织逻辑]C --> D[数据持久层<br>MyBatis<br>执行SQL查询数据库]D -- 查询结果 --> CC -- 处理结果 --> BB -- 返回响应 --> E[浏览器提示成功/失败]

1. 表现层 (Presentation Layer)

  • 职责:接收用户请求、返回处理结果(展示界面/数据)。
  • 对应框架Spring MVC
  • 例子:接收用户输入的用户名和密码。

2. 业务逻辑层 (Business Logic Layer)

  • 职责系统的核心。处理业务规则、数据传递和逻辑操作。
  • 对应框架Spring Framework
  • 例子
    • 接收表现层传来的数据。
    • 处理数据(如:将明文密码加密)。
    • 组织业务逻辑(如:决定调用数据库进行验证)。
    • 返回最终处理结果给表现层。

3. 数据持久层 (Data Persistence Layer)

  • 职责:专门负责与数据库交互,执行CRUD操作。
  • 对应框架MyBatis
  • 例子:根据业务逻辑层的指令,执行SQL查询,验证用户名和密码是否存在且匹配,并返回查询结果。

二、技术演进的核心驱动力

  • 目的便利效率(“偷懒”)。
  • 本质:用新技术简化重复性工作,提高开发效率。
  • 例子
    • 从 JDBC 到 MyBatis:MyBatis封装了JDBC繁琐的流程,让开发者只需关注SQL本身。
    • 从传统开发到 Spring MVC:提供了结构更清晰、可配置性更强的Web开发模式。

三、课程技术栈与学习路径

1. 核心基础:SSM框架

  • Spring -> 业务逻辑层 (核心,先学)
  • Spring MVC -> 表现层
  • MyBatis -> 数据持久层
  • 学习顺序:建议从中间的 Spring 开始,再向两边的Spring MVC和MyBatis拓展。

2. 技术展望 (后续内容)

  • Spring Boot:在Spring基础上简化配置,提供“一键启动”的快速开发能力。
  • Spring Cloud:一套微服务解决方案的集合,用于将大型系统拆分为多个可独立开发、部署和扩展的协同服务。

四、开发环境准备

组件推荐版本
JDK1.7+
服务器 (Tomcat)9.0+
数据库 (MySQL)8.0
集成开发环境 (IDE)IntelliJ IDEA

总结:本节课建立了Java Web企业开发的宏观视角,理解了请求流程、分层思想和SSM框架的角色,为后续深入学习打下了坚实基础。

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

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

相关文章

RT-DETR网络结构

1.前言 本章主要来介绍下RT-DETR的网络结构,参考的依旧是ultralytics实现的RT-DETR-L,代码如下: ultralytics/ultralytics: Ultralytics YOLO 🚀 首先谈谈我对RT-DETR的浅显认识,他不像是YOLOv8这种纯CNN实现的网络,也不像是Vit这种以Transformer实现的网络,他是前一…

Python 文件复制实战指南:从基础操作到高效自动化的最佳实践

Python 文件复制实战指南:从基础操作到高效自动化的最佳实践 1. 引言:文件复制为何是自动化的核心能力? 在日常开发与运维工作中,文件复制是一项基础却至关重要的操作。无论是备份日志、同步配置、部署代码,还是批量迁移数据,都离不开对文件的精准复制与路径管理。而 Py…

WebSocket的基本使用方法

一. 与HTTP对比WebSocket 是一种在单个 TCP 连接上实现全双工&#xff08;双向&#xff09;通信的网络协议&#xff0c;它解决了传统 HTTP 协议 “请求 - 响应” 模式的局限性&#xff0c;让客户端&#xff08;如浏览器&#xff09;和服务器能建立持久连接&#xff0c;实现实时…

架构选型:为何用对象存储替代HDFS构建现代数据湖

在过去十余年的大数据浪潮中&#xff0c;Hadoop及其核心组件HDFS&#xff08;Hadoop分布式文件系统&#xff09;无疑是整个技术生态的基石。它开创性地解决了海量数据的分布式存储难题&#xff0c;支撑了无数企业从数据中挖掘价值。然而&#xff0c;随着数据规模的指数级增长以…

智能养花谁更优?WebIDE PLOY技术与装置的结合及实践价值 —— 精准养护的赋能路径

一、WebIDEPLOY 技术支撑下的智能养花系统核心构成在 WebIDEPLOY 技术的框架下&#xff0c;智能养花装置形成了一套精准协同的闭环系统&#xff0c;其核心在于通过技术整合实现 “监测 - 决策 - 执行 - 远程交互” 的无缝衔接&#xff0c;让植物养护更贴合城市居民的生活节奏。…

基于llama.cpp在CPU环境部署Qwen3

大家好,我是奇文王语,NLP爱好者,长期分享大模型实战技巧,欢迎关注交流。 最近两天在研究如何使用小规模参数的模型在CPU环境上进行落地应用,比如模型Qwen3-0.6B。开始使用Transformers库能够正常把模型服务进行部署起来,但是通过测试速度比较慢,用户的体验会比较差。 …

‌NAT穿透技术原理:P2P通信中的打洞机制解析‌

要说网络世界里的 “幕后功臣”&#xff0c;NAT 绝对得算一个&#xff0c;大家伙儿有没有琢磨过&#xff0c;为啥家里的电脑、手机&#xff0c;还有公司那一堆设备&#xff0c;都能同时连上网&#xff0c;还不打架呢&#xff1f; NAT 这东西&#xff0c;全名叫网络地址转换&am…

工业 5G + AI:智能制造的未来引擎

工业 5G AI&#xff1a;智能制造的未来引擎 文章目录工业 5G AI&#xff1a;智能制造的未来引擎摘要一、为什么工业需要 5G&#xff1f;二、工业 5G 的典型应用场景1. 智能制造工厂2. 远程控制与运维3. 智慧物流与仓储4. 能源、电力、矿山5. 智慧港口与交通三、成功案例解析1…

边缘计算设备 RK3576芯片

RK3576是瑞芯微&#xff08;Rockchip&#xff09;公司专为人工智能物联网&#xff08;AIoT&#xff09;市场精心设计的一款高算力、高性能及低功耗的国产化应用处理器。该处理器采用了先进的ARM架构&#xff0c;集成了四个ARM Cortex-A72高性能核心与四个ARM Cortex-A53高效能核…

ROS1系列学习笔记之T265的Python数据订阅显示、串口输出到凌霄飞控,以及开机自启动设置等一些问题处理方法(持续更新)

前言 关于T265的环境配置与安装&#xff0c;在前两期的ROS笔记中已经提及&#xff0c;包括英特尔本家的SDK安装&#xff0c;以及对应支持版本的ROS支持开发工具包。 ROS1系列学习笔记之Linux&#xff08;Ubuntu&#xff09;的环境安装、依赖准备、踩坑提示&#xff08;硬件以…

UART控制器——ZYNQ学习笔记14

UART 控制器是一个全双工异步收发控制器&#xff0c; MPSoC 内部包含两个 UART 控制器&#xff0c; UART0 和 UART1。每一个 UART 控制器支持可编程的波特率发生器、 64 字节的接收 FIFO 和发送 FIFO、产生中断、 RXD 和TXD 信号的环回模式设置以及可配置的数据位长度、停止位和…

C++ 登录状态机项目知识笔记

C 登录状态机项目知识笔记 1. 项目源码 1.1 login_state_machine.h #pragma once#include <string>// 登录状态枚举 enum class LoginState { IDLE, AUTHENTICATING, SUCCESS, FAILURE, LOCKED };// 登录事件枚举 enum class LoginEvent { REQUEST, SUCCESS, FAILURE, RE…

docker-nacos-v3

nacos官网&#xff1a; Redirecting to: https://nacos.io/ 服务发现和服务健康监测 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后&#xff0c;服务消费者可以使用DNS TODO 或HTTP&API查找和发现服…

DevOps 详解:文化、实践与工具链

目录一、DevOps 定义与核心目标二、DevOps 关键原则与实践1. 持续集成&#xff08;CI&#xff0c;Continuous Integration&#xff09;2. 持续交付&#xff08;CD&#xff0c;Continuous Delivery&#xff09;3. 持续部署&#xff08;Continuous Deployment&#xff09;4. 监控…

人工智能之数学基础:常用的连续型随机变量的分布

本文重点 本文将介绍概率中非常重要的连续型随机变量的分布,主要有均匀分布、指数分布、正态分布 均匀分布 若随机变量X的概率密度为: 如果概率密度函数如上所示,则称X服从区间[ a, b]上的均匀分布,记作X~U[a,b] 均匀分布的概率密度函数的计算如下: 指数分布 指数分布…

【开题答辩全过程】以 校园帮帮团跑腿系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

Milvus 向量数据库开发实战指南

Milvus向量数据库是什么&#xff1f;-CSDN博客 一、核心概念解析 1.1 基础概念 1.1.1 Bitset&#xff08;位集&#xff09; 高效的数据表示方式&#xff0c;使用位数组替代传统数据类型 默认情况下&#xff0c;位值根据特定条件设置为 0 或 1 1.1.2 通道机制 PChannel&am…

vcruntime140.dll丢失解决办法

解决办法 安装Microsoft Visual C Redistributable https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?viewmsvc-170

LabVIEW实现跨 VI 簇按钮控制功能

​在 LabVIEW 开发场景中&#xff0c;常需实现不同 VI 间的交互操作。本功能借助 VI Server 技术&#xff0c;突破 VI 边界&#xff0c;实现对目标 VI 中簇内按钮控件的属性读取与控制&#xff0c;为多 VI 协同、对VI里已经实现的功能&#xff0c;可以在其他VI中直接使用&#…

JS箭头函数

JavaScript 的箭头函数 (Arrow Function) 是 ES6 (ECMAScript 2015) 引入的一种重要的函数语法特性&#xff0c;它用更简洁的方式定义函数&#xff0c;并改变了 this 的绑定行为。 箭头函数和传统函数的主要区别&#xff1a;特性箭头函数传统函数语法更简洁&#xff0c;省略 fu…