前言:
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对象,当这些对象发生变化就会调用对应的监听方法。
总结
这篇文章是根据大牛讲解自己总结而来的,也是对近期学习的复盘,保持习惯学习多总结,多多复盘,技术积累要一步一步来。