JavaWeb的三大组件

引言

  • 什么是过滤器?
  • 什么是监听器?
  • Servlet是什么?
    在这里插入图片描述

Servlet容器

概念

  • servlet是一种运行服务端的java应用程序,具有独立于平台和协议的特性,并且可以动态地生成web页面,它工作在客户端请求与服务器响应的中间层。

作用

  • 在JavaWeb的B/S架构中,servlet作为一个中转处理的容器,它连接了客户端和服务端的信息交互和处理。简单来说,客户端发送请求,传递到servlet容器,而servlet将数据转换成服务端可以处理的数据后再发送给服务器端。数据处理之后,再传递到servlet容器,servlet再转译到客户端,由此我们就完成了一次客户端和服务端的信息交互了。

Servlet的生命周期(4个阶段)

  • 第一个阶段,实例化,调用构造方法
  • 第二个阶段,初始化,调用init()方法
  • 第三个阶段,请求处理,调用service()方法
  • 第四个阶段,销毁阶段,调用destroy()方法

前端如何将数据传递给Servlet?

  • 前端只需要提交表单即可以将数据传递给Servlet,而Servlet则使用request.getParameter来接收,传递给前端就可以使用request.setAttribute来赋值。(虽然使用框架不用手写Servllet,但是我们需要掌握它的思想)

执行过程

  1. 客户端发出http请求;
  2. web服务器将请求转发到servlet容器;
  3. servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet;
  4. servlet根据request就可以知道请求者、请求信息;
  5. 当servlet处理完业务逻辑后会将信息放入到response并响应到客户端。

Filter过滤器

概念

  • Filter是一个可以复用的代码片段,可用用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改某一响应。

作用

  • Filter用于拦截用户请求,在服务器做出响应之前,可以在拦截后修改request和response,达到想要实现的功能。例如:如果有不符合的信息将会被filter进行拦截,如果符合则会进行放行,在服务器给客户端响应时也会进行判断 如果有不符合的信息将会被filter进行拦截,如果符合则会进行放行。

Filter过滤器的使用步骤

  1. 实现一个Filter接口
  2. 去web.xml进行配置(三大组件基本都需要在web.xml进行注册;除了Listener中的两个(活化钝化监听器,绑定监听器)需要JavaBean实现)
<filter>
	<filter-name>MyFirstFilter</filter-name>
	<filter-class>com.atguigu.filter.MyFirstFilter</filter-class>
</filter>

<filter-mapping>
	<filter-name>MyFirstFilter</filter-name>
	<url-pattern>/*</url-pattern>
	/**
	*url-pattern的三种写法(不能两两组合使用)
	*1、精确匹配
	* /pics/index.jsp   /template/login ;直接拦截指定路径
	*2、路径匹配
	* /pics/*  ;拦截pics下的所有请求
	* 3、后缀匹配
	*  *.jsp  ;拦截所有以.jsp结尾的请求
	*/
</filter-mapping>

多个Filter的运行顺序

在这里插入图片描述输出顺序1-3-5-4-2

Listener监听器

Listener的8个监听对象

在这里插入图片描述

Listener监听器的使用步骤

  1. 实现对应的监听器接口
  2. 去web.xml中进行配置
  3. 注意:有两个Listener是JavaBean需要实现的接口(活化钝化监听器,绑定监听器)(HttpSessionActivitionListener,HttpSessionBindingListener)

【观看尚硅谷视频之后的笔记】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值