java 知识点 6(jsp、servlet、filter、listener)

文章目录

      • 1、jsp
      • 2、servlet跳转方式
      • 3、servlet三大作用域
        • 一、request作用域
        • 二、session作用域
        • 三、application作用域(context)
      • 4、javaweb Filter
      • 5、listener监听器
      • 6、javaweb EL(jsp)
      • 7、JSTL(jsp)

1、jsp

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板。

jsp实现了html中java扩张(以<% %>形式)。

java 知识点 6(jsp、servlet、filter、listener)_第1张图片
java 知识点 6(jsp、servlet、filter、listener)_第2张图片
注意:
使用eclipse新建jsp文件,默认编码不是utf-8,可以改一下
java 知识点 6(jsp、servlet、filter、listener)_第3张图片

  • 嵌入java语句<% java语句 %>
  • 注释<%-- --%>
  • 输出展示数据<%= %>
  • 方法或变量声明<%! %>
  • 声明页面属性<%@ %>

2、servlet跳转方式

一、重定向response.sendRedirect(url)java 知识点 6(jsp、servlet、filter、listener)_第4张图片二、请求转发request.getRequestDispatcher(“URL”).forward(request, response);

请求转发和重定向区别
请求转发:1、客户端只发了一次请求,2、只能是相对路径(只能本地资源),3、url不会改变
重定向:1、客户端发2次请求,2、可以相对、绝对路径,3、url改变

3、servlet三大作用域

操作
存数据void setAttribute(String key,object value);
取数据Object getAttribute(String key);
移除数据void removeAttribute(String key);

一、request作用域

作用域仅在一个请求结束前

类名:HttpServletRequest
级别:请求级别
获取方式:直接走service()、doGet()、doPost()中使用形参名方式获取
创建:当服务器接收到客户端请求时,会为每个请求创建一个request对象
死亡:请求完成时
java 知识点 6(jsp、servlet、filter、listener)_第5张图片

		request.setAttribute("account","admin");
		System.out.println(request.getAttribute("account"));
		request.getRequestDispatcher("jsp/scope.jsp").forward(request,response);

二、session作用域

作用域仅在一次对话关闭前(30分钟)

java 知识点 6(jsp、servlet、filter、listener)_第6张图片
服务器什么时候会为客户端创建session对象
在这里插入图片描述
创建session实例
在这里插入图片描述
session死亡条件
第一种情况:超时,默认30分钟
可以在web.xml里设置超时时间
java 知识点 6(jsp、servlet、filter、listener)_第7张图片
也可以在在java代码里设置超时时间
在这里插入图片描述
第二种情况:调用代码使其死亡
在这里插入图片描述

三、application作用域(context)

作用域在服务器关闭前都有效

获取方式:
在这里插入图片描述
实例:
在这里插入图片描述
创建时间:项目启动时。
在这里插入图片描述
死亡:服务器关闭时。

在jsp里面获取三个作用域传递的值,观察他们的作用域、作用时间:

都在doGet方法里

在这里插入图片描述
java 知识点 6(jsp、servlet、filter、listener)_第8张图片
在这里插入图片描述

jsp

java 知识点 6(jsp、servlet、filter、listener)_第9张图片
在不同作用域下访问
(这个是在直接访问jsp时的截图)
java 知识点 6(jsp、servlet、filter、listener)_第10张图片

4、javaweb Filter

javaweb过滤器,用于过滤请求和响应。
新建一个filter类
1、实现filter接口;2、实现对于方法;
java 知识点 6(jsp、servlet、filter、listener)_第11张图片
3、在web.xml对filter进行配置
java 知识点 6(jsp、servlet、filter、listener)_第12张图片
路径映射:
java 知识点 6(jsp、servlet、filter、listener)_第13张图片
默认是拦截状态
在这里插入图片描述
放行
java 知识点 6(jsp、servlet、filter、listener)_第14张图片
扩展映射:拦截所有.do、.jsp(拦截所有jsp)
java 知识点 6(jsp、servlet、filter、listener)_第15张图片
对于过滤器,放行前可以处理请求,放行后处理响应

java 知识点 6(jsp、servlet、filter、listener)_第16张图片
如果有多个过滤器,决定过滤顺序的是filter-mapping
java 知识点 6(jsp、servlet、filter、listener)_第17张图片

5、listener监听器

有8种监听器
java 知识点 6(jsp、servlet、filter、listener)_第18张图片
java 知识点 6(jsp、servlet、filter、listener)_第19张图片

3、配置声明
在这里插入图片描述
java 知识点 6(jsp、servlet、filter、listener)_第20张图片
将session序列化到本地
maxIdleSwap=1表示session在1分钟内没被访问,就序列化到本地
java 知识点 6(jsp、servlet、filter、listener)_第21张图片

6、javaweb EL(jsp)

el的功能:替代jsp页面中复杂的代码
语法规则:
在这里插入图片描述
java 知识点 6(jsp、servlet、filter、listener)_第22张图片
实例:
java 知识点 6(jsp、servlet、filter、listener)_第23张图片
取值也可以用中括号的方式
java 知识点 6(jsp、servlet、filter、listener)_第24张图片
中括号也可以用来取索引
在这里插入图片描述
java 知识点 6(jsp、servlet、filter、listener)_第25张图片
java 知识点 6(jsp、servlet、filter、listener)_第26张图片
括号里面也可以用算术运算符、逻辑运算符
java 知识点 6(jsp、servlet、filter、listener)_第27张图片

7、JSTL(jsp)

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

jstl安装包地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

java 知识点 6(jsp、servlet、filter、listener)_第28张图片
在jsp文件中使用jstl,首先导标签库
java 知识点 6(jsp、servlet、filter、listener)_第29张图片
使用标签
setjava 知识点 6(jsp、servlet、filter、listener)_第30张图片
out
java 知识点 6(jsp、servlet、filter、listener)_第31张图片
remove
java 知识点 6(jsp、servlet、filter、listener)_第32张图片
另外还有if、forEach
java 知识点 6(jsp、servlet、filter、listener)_第33张图片
java 知识点 6(jsp、servlet、filter、listener)_第34张图片

你可能感兴趣的:(java)