【超详解】JavaWeb三大组件讲解
文章目录
- 前言:
- 一、Servlet
- 二、Filter
- 三、Listener
- 总结
前言:
JavaWeb三大组件指的是:Servlet、Filter、Listener,三者提供不同的功能,然而很多人可能只用过其中一个或者两个(Servlet、Filter),很难接触到第三个组件,因此对原始JavaWeb开发还不够熟悉,在这种情况下进行框架学习,这种做法是并不可取,框架是技术大佬们对原始JavaWeb进行封装的结果,没有原始JavaWeb开发基础是很难真正学会框架的。这篇博客就是通过简单的介绍JavaWeb的三大组件来熟悉原始JavaWeb开发。
一、Servlet
Servlet是用来处理客户端请求的动态资源,浏览器的请求被发送到Servlet
我们在Servlet通常需要完成:
1.接收请求的数据:通常客户端请求会被封装成HttpServletRequest对象
2.处理请求:在doGet()和doPost()中完成对发送来的数据接收和响应,同时调用业务层的方法来实现多种功能
3.完成响应:处理完请求后,我们一般会转发(forward)或者重定向(redirect)到某个页面,转发是HttpServletRequest中的方法,重定向是HttpServletResponse中的方法,两者是有很大区别的。
页面跳转–转发
-
页面跳转–重定向
-
二、Filter
filter与servlet在很多的方面极其相似,但是也有不同,例如filter和servlet一样都又三个生命周期方法,同时他们在web.xml中的配置文件也是差不多的、 但是servlet主要负责处理请求,而filter主要负责拦截请求,和放行。
Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一
过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能
过滤器一般完成一些通用的操作,如:权限控制、统一编码处理、敏感字符处理等等.
多个过滤器,谁先执行,优先级按照过滤器类名(字符串)的自然排序
三、Listener
Listener就是监听器,我们在JavaSE开发或者Android开发时,经常会给按钮加监听器,当点击这个按钮就会触发监听事件,调用onClick方法,本质是方法回调。在JavaWeb的Listener也是这么个原理,但是它监听的内容不同,它可以监听Application、Session、Request对象,当这些对象发生变化就会调用对应的监听方法。
总结
这篇文章是根据大牛讲解自己总结而来的,也是对近期学习的复盘,保持习惯学习多总结,多多复盘,技术积累要一步一步来。
【超详解】JavaWeb三大组件讲解相关推荐
- 【平衡小车制作】(一)硬件原理图讲解(超详解)
大家好,我是小政.之后的一系列文章我将介绍我玩平衡小车的过程以及遇到的一些问题,将这些内容记录下来分享给大家,也让大家少走一些弯路.接下来我将从硬件框架选择.软件编程.PID算法.PID调参.蓝牙 ...
- Android vector标签 PathData 画图超详解
此文章来源于https://www.cnblogs.com/yuhanghzsd/p/5466846.html点击打开链接 Android vector标签 PathData 画图超详解 SVG是一种 ...
- 超全、超详的Spring Boot配置讲解笔记
超全.超详的Spring Boot配置讲解笔记 springboot默认加载配置 SpringBoot使用两种全局的配置文件,全局配置文件可以对一些默认配置进行修改. application.prop ...
- python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...
简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑 ...
- 【平衡小车制作】(七)串级PID调参及平衡成果展示(超详解)
大家好,我是小政.本篇文章我将针对PID调参进行详细的讲解,让每位小伙伴能够对比例.积分.微分三个参数如何调节有更加清晰的理解. 一.调参步骤 确立机械中值 直立环(内环)--Kp极性.Kp大小. ...
- C/C++实现蛇形矩阵(超详解)【沈七】
C/C++实现蛇形矩阵(超详解) 题目链接 题目描述 输入样例 题解部分 完整代码 完结散花 悄悄告诉你: 参考文章 萌新报道! 唤我沈七就行嘿嘿. 大一软件工程在读. 菜鸡蒟蒻想在博客中记录一些算法 ...
- Django REST 框架详解 07 | 三大认证与权限六表
文章目录 一.三大认证 1. 认证组件:校验用户 2. 权限组件:校验用户权限 3. 频率组件:限制视图接口被访问次数 4. 分析源码 二.权限六表 1. RBAC 认证 2. 权限三表 3. 权限五 ...
- C/C++实现回文质数(超详解)【沈七】
C/C++实现回文质数(超详解) 题目链接 题目描述 输入样例 **题解部分** **完整代码** **未完待续** 参考文章 唤我沈七就行嘿嘿. 大一软件工程在读. 菜鸡蒟蒻想在博客中记录一些算法学 ...
- 消息队列超详解(以RabbitMQ和Kafka为例,为何使用消息队列、优缺点、高可用性、问题解决)
消息队列超详解(以RabbitMQ和Kafka为例) 为什么要用消息队列这个东西? 先说一下消息队列的常见使用场景吧,其实场景有很多,但是比较核心的有3个:解耦.异步.削峰. 解耦:现场画个图来说明一 ...
最新文章
- openstack介绍(二)
- python控制摄像头拍照_python+opencv+pyqt5控制摄像头在Qlabel上显示
- ios 上传图片失败 小程序_iOS上传图片,就是有这种不一样的操作!
- Android之提示错误Can not perform this action after onSaveInstanceState
- OpenCV circle图像上画圆
- 【codevs2497】 Acting Cute
- Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
- mysql8解决区分大小写问题_球磨机“包球”和“饱磨”分不清?点进来快速区分,解决问题...
- 个性化联邦学习PFedMe详细解读(NeurIPS 2020)
- The log scan number (620023:3702:1) passed to log scan in database 'xxxx' is not valid
- VS项目属性的一些配置项的总结(important)
- 使用Spring自定义注解实现任务路由
- Winodws update auto update client(wuauclt)
- xinput1_4.dll丢失怎么修复?修复方法分享
- 手把手带你实现 Docker 部署 Redis 集群
- 1118 Birds in Forest (25分)
- Hibernate使用原生SQL查询
- Css3实现背景毛玻璃效果
- java英文参考文献_java英文参考文献
- python中五个一行输出_python 如何将一系列数字十个一行输出