网站建设的要点是什么,中国商标官网入口,济宁网站建设500元,wordpress过去当前分类id文章目录jsp进阶内容回顾JSP 的九大内置对象内置对象的创建九大内置对象详解四大作用域对象四大作用域范围总结EL 进阶JSTL 标准标签库JSTL 核心标签jsp进阶
内容回顾
jsp 创建
jsp 的工作原理#xff1a;翻译 -- 编译 -- 运行
翻译#xff1a;第一次访问 jsp 页面…
文章目录jsp进阶内容回顾JSP 的九大内置对象内置对象的创建九大内置对象详解四大作用域对象四大作用域范围总结EL 进阶JSTL 标准标签库JSTL 核心标签jsp进阶
内容回顾
jsp 创建
jsp 的工作原理翻译 -- 编译 -- 运行
翻译第一次访问 jsp 页面时服务器进行 jsp 页面的翻译将 jsp 翻译为一个 java
类该类被称为是一个 servlet 类
jsp 组成
① 脚本% java 代码
② java 表达式% java 代码
③ 声明: %! 变量
④ jsp 指令三大指令page/include/taglib
⑤ el 表达式${}是 java 表达式的替代品可以更简单进行数据的获取
⑥ jsp 动作
jsp:useBean -- 创建实体类对象
jsp:setProperty -- 指定实体属性的设置
jsp:getProperty -- 获取指定实体类的属性
jsp:forward -- 进行页面的转发
jsp:param -- 页面转发时携带参数的设置
jsp:include -- 动态页面包含所有涉及到的 jsp 页面都会翻译成对应的
java 类JSP 的九大内置对象
内置对象简介
内置对象也称为隐式对象不需要人为的创建在 jsp 页面已经初始化好并且封装好了的
可以直接使用九大内置对象分别为
① application -- 服务器对象
② session -- 会话对象
③ page -- 当前页面类似与 java 程序中的 this 对象
④ request -- 请求对象
⑤ response -- 响应对象
⑥ out -- 页面输出对象
⑦ config -- 配置对象
⑧ pageContext -- 页面全局对象
⑨ exception -- 异常处理对象在 jsp 页面中使用 % 快捷键补全 %就可以看到 8 个内置对象exception 对象
没有exception 是关于页面异常处理的内置对象需要将 page 指令中 isErrorPagetrue 才会显示异常处理对象
或者使用 pageContext 对象进行获取pageContext.getException();内置对象的创建
内置对象不用编程人员创建系统会自动创建好那系统什么时候在哪进行内置对象的创
建
通过查看 jsp 页面翻译后的 java 类文件可以查询到在 翻译后的类文件中会有一个
jspService 方法在该方法的内部进行了内置对象的创建九大内置对象详解
application 是一个作用域对象可以将信息保存在服务器中直到服务器关闭否则在任意时候我们都可 以从服务器中获取 application域对象中储存的数据该对象生命周期为服务启动到服务 器关闭其作用域为整个 web 应用 request 请求作用域对象可以将信息保存在一次请求中主要用于 http 协议传送到服务器的请求数 据。该对象代表了客户端的请求信息其作用域为一次请求 response 该对象代表客户端响应信息主要是将需要的数据发送给客户端一般返回的是经过容易处理 的或者是有数据渲染的 jsp 页面 config 用于服务器的配置信息描述可以通过 pageContext 提供的 getServletConfig 方法 进行获取当一个 servlet 被初始化时容器会把某些信息通过该对象传递给 servlet; 一般在 web.xml 中进行基本配置 page 当前页面对象就跟 this 对象一个意思 session 对象 域对象会话对象服务器启动时会自动为每一个用户创建一个会话对象用来保存当前用户 的信息只要浏览器不关闭在设定的时间内这个用户的信息会保存在session对象中其作 用域为一次会话 out 对象 请求作用域对象可以将信息保存在一次请求中主要用于 http 协议传送到服务器的请求数据。该对象代表了客户端的请求信息其作用域为一次请求 该对象代表客户端响应信息主要是将需要的数据发送给客户端一般返回的是经过容易处理 的或者是有数据渲染的 jsp 页面 exception 对象 该对象用于展示页面异常信息只有在 page 指令设置 isErrorPage true 后才会创建该对象该对象几乎继承了所有的异常类可以描述几乎所有的异常状态 pageContext 对象 该对象的作用是获取任何范围的参数因为通过该对象可以获取其他任意的内置对象该提对 象提供了 getXX() 的方法进行其他内置对象的获取该对象还可以获取项目的根路径 获取项目根路径的方法pageContext.getServletContext.contextPath 四大作用域对象
application只要服务器不关闭值永远保存
session面对浏览器只要不主动退出会话存在值就存在
request面向求情一次请求
pageContext面向页面某一个页面的作用域
作用域的范围大小
application session request pageContext
所有的域对象都有用户参数设置和获取的方法
setAttribute(key,value);
getAttribute(key)四大作用域范围总结
该对象用于展示页面异常信息只有在 page 指令设置 isErrorPage true 后才会创
建该对象该对象几乎继承了所有的异常类可以描述几乎所有的异常状态
该对象的作用是获取任何范围的参数因为通过该对象可以获取其他任意的内置对象该提对
象提供了 getXX() 的方法进行其他内置对象的获取该对象还可以获取项目的根路径
获取项目根路径的方法pageContext.getServletContext.contextPathEL 进阶
当使用多个域对象设置参数时使用 el 表达式进行数据获取时默认是按照最小范围的作用
域开始进行参数的匹配如果最小的范围中没有该参数接着往上一个作用域中进行查找一
直到 application 作用域
如果所有的作用域中都没有 el 表达式中获取的参数结果显示为空
任意一个作用域或者多个作用域中有 el 表示中获取的参数显示结果为较小的作用域设置的
值
如果要获取指定作用域中设置的值是使用 el 表达式进行数据时可以在获取的参数前面加
上指定的域对象如果不加会从最小的作用域开始查找el 获取数据时无域对象指定 el 获取指定域对象中的数据 JSTL 标准标签库
简介
JSTL 全称为 JavaServer Pages Standard Tag Labrary --- jsp 标准标签库
主要提供了供 JavaWeb 开发人员使用的一个标准的标签库该标签库功能比 html 提供的
标签更强大可以使用 jstl 提供的标签取代传统的 java 代码提高的程序的可读性、体
验感、维护性
JSTL 通常和 el 表达式配合使用使用 el 表达式来获取数据用 JSTL 提供的标签来操
作数据
JSTL 除了有标准的标签库以外还提供了 JSTL 函数也可以使用函数进行数据的操作JSTL 的使用
① 下载 jar 包建议使用 1.2 版本1.1 版本为过时的版本
② 在 jsp 页面中使用 taglib 指令进行 jstl 的引入
引入的格式% taglib urijstl资源路径 prefixc %JSTL 核心标签
通用标签
① 设置参数标签 set
c:set var参数名称 value值 scope域对象/c:set
② 输出标签 out -- 相当于 jsp:getProperty 或者是 % %
c:out value参数名称/c:out
③ 删除标签 remove -- 删除指定参数
c:remove var参数名称/c:remove分支标签
分支标签类似于 java 中的分支结构
① 单分支标签 if
c:if test条件表达式标签内容/c:if
当条件表达式成立标签内容被执行条件表达式不成立标签内容不执行
② 多分支标签 choose - when - otherwise
choose
when test条件表达式内部代码/when
when test条件表达式内部代码/when
········
otherwise内部代码/otherwise
/choose从上往下依次运算 when 标签的条件表达式如果某个表达式成立执行对应 when
标签中的内容一旦某一 when 标签的条件表达式成立后面所有的 when 标签条件表达式
都不再继续运算
换句话说一个 when 标签表达式成立执行内部的代码分支结构结束
只有所有的 when 标签条件表达式都不成立才会执行 otherwise 标签内部的代
码单分支结构 多分支结构 循环标签
可以对容器进行遍历
c:foreach items需要遍历的容器 var变量 varStatuscount
/c:foreach
items 属性用来指明遍历的容器容器通常是集合或者数组使用 el 表达式进行获取
var 属性用来声明变量每一次针对容器的遍历结果会储存到 var 声明的变量中
varStatus 属性用来描述当前遍历出来的对象状态该状态有个属性
count -- 用来实现对象的计数序号从 1 开始
index -- 用来表示遍历对象的索引序号从 0 开始
first -- 获取第一个遍历对象
last -- 获取最后一个遍历对象导入标签
导入标签类似于 include 指令或者动作标签用来实现其他页面的引入操作
c:import url资源路径/c:import
资源路径一般使用相对路径也就是项目中存在的其他页面JSTL 函数
JSTL 函数大部分是针对字符串的操作
使用函数之前需要进行函数的引用就跟使用核心标签库一样需要通过 page 指定进行指定
uri 访问和别名的命名
% taglib urihttp://java.sun.com/jsp/jstl/functions prefixfn
%
在引入后就可以使用 jstl 提供的函数所有的函数如下图