JavaWeb学习(3)
目录
一、9大内置对象
二、JavaBean
三、MVC三层架构
Model
View
Controller(Servlet)
四、Filter(过滤器)
应用一:处理中文乱码
应用二:登录验证
五、监听器
六、JDBC
一、9大内置对象
- PageContext 存东西
- Request 存东西
- Response
- Session 存东西
- Application【ServletContext】存东西
- config【ServletConfig】
- out
- page
- exception

使用场景:
- Request:客户端向服务器发送请求,产生的数据,用户看完就没有了,比如:新闻
- Session:客户端向服务器发送请求,产生的数据,用户看完一会儿还有用,比如:购物车
- Application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如:聊天数据
二、JavaBean
实体类
JavaBean有特定的写法:
- 必须要有一个无参构造
- 属性必须私有化
- 必须有对应的get/set方法
一般用来和数据库的字段做映射(ORM)
ORM:对象关系映射
- 表->类
- 字段->属性
- 行记录->对象
三、MVC三层架构
MVC:Model、View、Controller(模型、视图、控制器)
1、早些年
用户直接访问控制层,控制层直接操作数据库
弊端:程序十分臃肿,不利于维护

2、MVC三层架构

Model
- 业务处理:业务逻辑(Service)
- 数据持久层:CRUD(Dao)
View
- 展示数据
- 提供链接发起的Servlet请求(a,form,img...)
Controller(Servlet)
- 接受用户的请求(req:请求参数、Session信息...)
- 交给业务层处理
- 控制视图的跳转
四、Filter(过滤器)
用来过滤网站的数据
- 处理中文乱码
- 登录验证
开发步骤:
1、导包

2、编写过滤器
实现Filter接口,重写对应的方法
应用一:处理中文乱码

应用二:登录验证
用户登陆之后才能进入主页!用户注销后就不能进入主页了!(判断session是否为空)

注意:不要忘了chain.doFilter(request,response)操作,让请求继续往下走!
3、在web.xml中注册Filter

五、监听器
实现一个监听器的接口(有N种)
1、编写一个监听器
实现监听器的接口

2、在web.xml中注册监听器

六、JDBC
是什么:java连接数据库驱动

使用步骤:
1、MysqlYog中创建表,编辑字段
2、idea导入数据库驱动依赖
3、idea连接数据库
4、jdbc固定步骤
①加载驱动
②连接数据库,代表数据库connection
③向数据库发送sql语句的对象Statement,PrepareStatement(预编译):CRUD
④编写SQL(如果是预编译,则这步在前面)
⑤执行SQL
⑥关闭连接
相关文章:
JavaWeb学习(3)
目录 一、9大内置对象 二、JavaBean 三、MVC三层架构 Model View Controller(Servlet) 四、Filter(过滤器) 应用一:处理中文乱码 应用二:登录验证 五、监听器 六、JDBC 一、9大内置对象 PageCont…...
【含开题报告+文档+PPT+源码】基于SpringBoot的百货商城管理系统的设计与实现
开题报告 随着互联网技术的快速发展和电子商务的兴起,网上购物已成为人们日常生活中不可或缺的一部分。传统的实体店面由于时间和空间的限制,无法满足消费者对于便捷、快速、个性化购物体验的需求。在此背景下,基于 Java 的网上商城系统应运…...
Elasticsearch 实战应用与优化策略研究
一、引言 1.1 研究背景 在当今大数据时代,数据量呈爆炸式增长,对数据的存储、检索和分析提出了更高的要求。Elasticsearch 作为一款强大的分布式搜索和分析引擎,在这个时代背景下显得尤为重要。 随着数据密集型应用场景的不断增加…...
植物大战僵尸杂交版游戏分享
植物大战僵尸杂交版游戏下载:夸克网盘分享 无捆绑之类的隐形消费,下载即玩...
ProteinMPNN中DecLayer类介绍
PositionWiseFeedForward 类的代码 class PositionWiseFeedForward(nn.Module):def __init__(self, num_hidden, num_ff):super(PositionWiseFeedForward, self).__init__()self.W_in = nn.Linear(num_hidden, num_ff, bias=True)self.W_out = nn.Linear(num_ff, num_hidden, …...
Flux.all 使用说明书
all public final Mono<Boolean> all(Predicate<? super T> predicate)Emit a single boolean true if all values of this sequence match the Predicate. 如果该序列中的所有值都匹配给定的谓词(Predicate),则发出一个布尔值…...
DORA 机器人中间件学习教程(6)——激光点云预处理
文章目录 1 移植思路2 代码输入输出说明3 编写CmakeList.txt文件4 编写yml文件5 编译并启动节点参考资料 在DORA中通过驱动获取激光雷达数据后,激光点云预处理部分代码是参考了autoware官方代码并对其进行裁剪得到的,点云预处理主要包含三个节点…...
搜维尔科技:TechViz将您的协同项目评审提升到一个全新的高度
TechViz将您的协同项目评审提升到一个全新的高度 搜维尔科技: TechViz将您的协同项目评审提升到一个全新的高度...
Dinky 字段模式演变 PIPELINE 同步MySQL到Doris
背景 用Dinky数据平台 FlinkCDC收集Mysql BinLog 至 Doris 搭建实时数仓 问题 用Dinky CDCSOURCE 字段模式演变 整库同步Mysql到Doris 字段新增删除不生效 组件信息 Flink 1.17 FlinkCDC 3.1 dinky 1.1 Doris 2.1.6 Mysql 8.0Dinky MySQLCDC 整库到 Doris需要的依赖 Flink/…...
【Docker】Harbor 私有仓库和管理
目录 一、搭建本地私有仓库 二、harbor简介(特性、构成、架构的数据流向) 2.1 什么是Harbor 2.2 Harbor的特性 2.3 Harbor的构成 2.4 Harbor的工作原理(运行流程) 三、harbor部署以及配置文件 1. 部署 Docker-Compose 服…...
《重置MobaXterm密码并连接Linux虚拟机的完整操作指南》
目录 引言 一、双击MobaXterm_Personal_24.2进入,但是忘记密码。 那么接下来请跟着我操作。 二、点击此链接,重设密码。 三、下载完成后,现在把这个exe文件解压。注意解压要与MobaXterm_Personal_24.2.exe在同一目录下哦,不然…...
每天五分钟深度学习:逻辑回归和神经网络
本文重点 我们要开启深度学习的基础神经网络的学习进程了,但是在开启之前,我们先来回忆一下逻辑回归算法 逻辑回归 逻辑回归的前向传播公式为: 求出预测值a之后,进而求损失 以上就是逻辑回归模型,相信大家已经不是很陌生了,现在我们要学习神经网络了 神经网络和逻辑回…...
深度学习——线性神经网络(五、图像分类数据集——Fashion-MNIST数据集)
目录 5.1 读取数据集5.2 读取小批量5.3 整合所有组件 MNIST数据集是图像分类中广泛使用的数据集之一,但是作为基准数据集过于简单,在本小节将使用类似但更复杂的Fashion-MNIST数据集。 import torch import torchvision from torch.utils import data fr…...
音频声音怎么调大?将音频声音调大的几个简单方法
音频声音怎么调大?在现代生活中,音频内容无处不在,从在线课程和播客到音乐和电影,音频已经成为我们获取信息和娱乐的重要方式。然而,许多人在使用音频时可能会遇到一个常见问题:音频声音太小,无…...
C#的委托
方法一 private void button1_Click(object sender, EventArgs e) {// 启动后台线程 Thread backgroundThread new Thread(new ThreadStart(DoWork));backgroundThread.Start(); }private void DoWork() {// 模拟后台工作 Thread.Sleep(2000); // 等待2秒以模拟工作 // 更…...
软考(网工)——局域网和城域网
文章目录 🕐局域网基础1️⃣局域网和城域网体系架构 IEEE(负责链路层)2️⃣局域网拓扑结构 🕑CSMA/CD1️⃣CSMA/CD2️⃣CSMA/CD三种监听算法3️⃣冲突检测原理 🕒二进制指数退避算法1️⃣ 二进制指数退避算法 …...
MySQL 9从入门到性能优化-通用查询日志
【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客 《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...
解码专业术语——应用系统开发项目中的专业词汇解读
文章目录 引言站点设置管理具体要求包括: Footer管理基于URL的权限控制利用数据连接池优化数据库操作什么是数据连接池?优化的优势 利用反射改造后端代码,AJAX反射的作用及其在后端代码中的应用AJAX 实现前后端无刷新交互 引言 创新实践项目二…...
高级java每日一道面试题-2024年10月18日-JVM篇-说下你对G1垃圾收集器的理解?
如果有遗漏,评论区告诉我进行补充 面试官: 说下你对G1垃圾收集器的理解? 我回答: 在Java高级面试中,G1垃圾收集器是一个经常被提及的话题。以下是对G1垃圾收集器的详细解析: G1垃圾收集器的概述 G1(Garbage-First)垃圾收集器…...
2024系统架构师---湖仓一体架构论文知识点
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石 在当今数据驱动的时代,企业对于数据的管理与分析需求日益复杂。传统的数据仓库与数据湖架构虽各有优势,但单独使用时往往难以满足企业的全面需求。湖仓一体(Lakehouse&am…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...
Selenium 查找页面元素的方式
Selenium 查找页面元素的方式 Selenium 提供了多种方法来查找网页中的元素,以下是主要的定位方式: 基本定位方式 通过ID定位 driver.find_element(By.ID, "element_id")通过Name定位 driver.find_element(By.NAME, "element_name"…...
