Chiriri's blog Chiriri's blog
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)

Iekr

苦逼后端开发
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)
  • JavaSE

    • Java简介
    • 基础语法
    • 数据类型
    • 变量
    • 运算符
    • 输入输出
    • 流程控制
    • 循环语句
    • idea中的辅助键
    • 数组
    • 方法
    • 面向对象基础
    • 字符串
    • ArrayList集合
    • 继承
    • 修饰符
    • 多态
    • 抽象
    • 接口
    • 类名作为形参和返回值
    • 内部类
    • Api
    • 异常
    • 集合
    • 泛型
    • Set集合和比较器
    • 树
    • 哈希
    • 可变参数
    • 创建不可变的集合
    • Stream流
    • 方法引用
    • File
    • 多线程
    • 多线程高级
    • 网络编程
    • 类加载器
    • 反射
    • XML
    • 枚举
    • 注解
    • 单元测试
    • 日志
    • HTTP协议
    • Servlet
    • 请求对象
    • 响应对象
    • Cookie
    • Session
    • JSP
      • 语法
      • 指令
      • 细节
      • MVC 模型
      • EL 表达式
        • 获取数据
        • 注意事项
        • 运算符
        • EL 表达式隐式对象
      • JSTL
        • 核心标签库
      • Filter
        • FilterChain
        • 生命周期
        • FilterConfig
        • 过滤器五种拦截行为
    • Listener
    • JDBC
  • JavaEE

  • Linux

  • MySQL

  • NoSQL

  • Python

  • Python模块

  • 机器学习

  • 设计模式

  • 传智健康

  • 畅购商城

  • 博客项目

  • JVM

  • JUC

  • Golang

  • Kubernetes

  • 硅谷课堂

  • C

  • 源码

  • 神领物流

  • RocketMQ

  • 短链平台

  • 后端
  • JavaSE
Iekr
2021-08-13
目录

JSP

# JSP

# 语法

  • 注释 <%-- 内容 --%>
  • java 代码块 <% java代码 %>
  • jsp 表达式 <%= 表达式 %> 相对应 out.println ()
  • jsp 声明 <%! 声明变量或者方法 %> <%! String str ="abc"; %> 如果加!则声明是成员变量 不加则是局部变量 方法必须加!

# 指令

  • page 指令 配置 <%@ page 属性名 = 属性值 属性名 = 属性值 %>
    • image-20210813175757975
  • include 指令 包含其他页面 <%@ include file=包含的页面 %>
  • taglib 指令 可以引入外部标签库 <%@ taglib uri=标签库的地址 prefix=前缀名称 %>

# 细节

  • 九大隐式对象 不需要创建,jsp 已经帮我们创建了

    • image-20210813180321151
  • PageContext 对象 是 JSP 独有,在 Servlet 中没有 是四大域对象中的页面域对象,还可以操作其他三个域对象中的属性 还可以获取其八个隐式对象 生命周期随着 JSP 每一个 JSP 都有一个 PageContext 对象

  • 四大域对象

    • image-20210813180847371

# MVC 模型

image-20210813182531451

# EL 表达式

在 JSP 页面中获取数据 让我们的 JSP 脱离 java 代码块和 JSP 表达式

${表达式内容} 等效于 <% out.println(request.getAttribute("user"))%> 和 <%=request.getAttribute("user") %>

只要是四大域的内容都可以获取出来

先用 setAttribute () 共享数据

# 获取数据

  • 基本数据
    • ${name}
  • 自定义对象数据
    • ${对象名}
    • ${对象名。属性名} 调用相对应的 get 方法
  • 数组类型数据
    • ${arr}
    • ${arr[0]}
  • List 集合数据
    • ${list}
    • ${list[0]}
  • Map 集合数据
    • ${map}
    • ${map.key}

# 注意事项

  • 没有空指针异常
  • 没有索引越界异常
  • 没有字符串的拼接
  • 获取四大域对象是从小到大查找

# 运算符

image-20210813185731173

image-20210813185749363

image-20210813185756972

# EL 表达式隐式对象

image-20210813190225490

# JSTL

JSP 标准标签库 可以利用这些标签取代 JSP 页面上的 JAVA 代码 从而提高的可读性

image-20210813193119217

# 核心标签库

image-20210813193130549

  1. 导入 jstl.jar 包并添加到项目中

  2. 在 jsp 中添加

    <%@ taglib uri="http://java.sun.com/jsp/jst1/core" prefix="自定义标签"%>
    
    1
  3. 使用 jstl 标签

# Filter

过滤器,Filter 是用来过滤请求资源和资源响应的对象,并且按需求来处理不同的请求

image-20210813195256007

# FilterChain

image-20210813195627307

  • 继承 javax.servlet.Filter

  • 重写 doFilter () 方法

  • 处理逻辑

  • 使用 FilterChain 的 dodoFilter 放行

  • 使用注解 @WebFilter ("拦截的路径") 拦截需要拦截请求的路径

    • 使用配置文件方式 在 web.xml 与之前 servlet 类似

    • <filter>
          <filter-name>demo</filter-name>
          <filter-class>com.example.demo.demo</filter-class>
      </filter>
      <filter-mapping>
          <filter-name>demo</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      1
      2
      3
      4
      5
      6
      7
      8

多个过滤器,取决于过滤器映射的顺序

# 生命周期

  • 创建 当应用价值实例化对象并执行 init 方法
  • 过程 执行 doFilter 方法
  • 销毁 当应用卸载或者服务器停止 执行 destroy 方法

# FilterConfig

FilterConfig 是一个接口 代表过滤器的配置对象 可以加载一些初始化参数 不需要创建 由服务器通过 init 方法传递提供

  • getFilterName () 获取过滤器名称

  • getInitParameter (String key) 根据 key 获取 value

    • <filter>
          <filter-name>demo</filter-name>
          <filter-class>com.example.demo.demo</filter-class>
          <!-- 需要添加init-param标签-->
          <init-param>
              <param-name>key</param-name>
              <param-value>value</param-value>
          </init-param>
      </filter>
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
  • getInitParameterNames () 获取所有参数的 key

  • getrServletContext () 获取应用上下文对象

# 过滤器五种拦截行为

Filter 过滤器默认拦截的是请求,如需要拦截请求转发 请求包含 需要在配置文件配置

image-20210814054836044

<!-- 全局错误页面 -->
<error-page>
    	<!-- 错误类型-->
        <exception-type>java.lang.Exception</exception-type>
    	<!-- 发生错误后跳转页面 虚拟路径 -->
        <location>/err.jsp</location>
    </error-page>
    <error-page>
        <!--  错误代码 -->
        <error-code>404</error-code>
        <location>/err.jsp</location>
    </error-page>
1
2
3
4
5
6
7
8
9
10
11
12
编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48
Session
Listener

← Session Listener→

最近更新
01
k8s
06-06
02
进程与线程
03-04
03
计算机操作系统概述
02-26
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Iekr | Blog
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式