JSP的运行过程
JSP的运行过程一、JSP的相关概念
1. 基本知识:
- Java Server Page(java服务器端页面技术),是Sun公司制定的一种服务器端动态页面生成技术的规范
- JSP的结构:HTML标签+JAVA代码,即在HTML页面中嵌入java代码
- JSP的几种写法:
1.Java代码片段:<%java代码片段;%>
2.Java代码表达式:<%=java代码表达式%>
3.Java方法:<%!java的方法%>
2. 三大指令
- page指令
参数 | 描述 |
---|---|
import | 用于导包的,可以一次性导入多个包,中间用逗号隔开,也可以使用多次page指令来进行导包 |
pageEncoding | 告诉JSP引擎,JSP文件保存的时候应该采用的编码格式 |
contentType | 等价于response.setContentType() |
errorPage | 指向错误处理页面(需要你手动书写错误页面) |
isErrorPage | 可以写true/false,即定义这个页面是否是错误页面,默认是false;注意,这个属性和上面errorPage属性一般是成对出现的,成对并不是指在一个页面都出现,而是指关联着出现 |
session | 可以写true/false,默认为true,即表示当前页面是否支持session;isELlgored:可以写为true/false,表示这个JSP是否支持EL表达式,默认为true |
isELlgored | 可以写为true/false,表示这个JSP是否支持EL表达式,默认为true |
-
include 指令
这个指令里面最主要的属性是file,用来表示这个页面中要包含哪个页面 -
taglib指令
taglib指令是定义一个标签库以及其自定义标签的前缀
3. 九大对象
隐含对象 | 类型 | 说明 |
---|---|---|
request | HttpServletRequest | 请求对象 |
response | HttpServletResponse | 响应对象 |
out | JSPWriter | 输出的数据流 |
session | HttpSession | 会话 |
application | ServletContext | 全局的Servlet上下文对象 |
pageContext | PageContext | JSP页面上下文 |
page | Object | JSP页面本身,即this |
config | ServletConfig | Servlet配置对象 |
exception | Throwable | 捕获的页面异常对象 |
4. 七大动作
指令 | 说明 |
---|---|
jsp:include | 在页面被请求的时候引入一个文件 |
jsp:useBean | 寻找或者实例化一个JavaBean |
jsp:setProperty | 设置JavaBean的属性 |
jsp:getProperty | 输出某个JavaBean的属性 |
jsp:forward | 把请求转到一个新的页面 |
jsp:plugin | 根据浏览器类型为Java插件生成OBJECT 或EMBED标记 |
5. JSTL介绍和使用
-
JSTL的概念
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。除了这些,它还提供了一个框架来使用集成JSTL的自定义标 -
JSTL的分类
- 核心标签
- 格式化标签
- SQL标签
- XML标签
- JSTL函数
- 核心标签库
导入方式:
<%@taglib prefix="c" uri="http:/ljava.sun.com/jsp/jstl/core" %>
标签 | 描述 |
---|---|
<c:out> | 用于在JSP中显示数据,就像<%= ... > |
<c:set> | 用于保存数据 |
<c:remove> | 用于删除数据 |
<c:catch> | 用来处理产生错误的异常状况,并且将错误信息储存起来 |
<c:if> | 与我们在一般程序中用的if一样 |
<c:choose> | 本身只当做<c:when>和<c:otherwise>的父标签 |
<c:when> | <c:choose>的子标签,用来判断条件是否成立 |
<c:otherwise> | <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行 |
<c:import> | 检索一个绝对或相对 URL,然后将其内容暴露给页面 |
<c:forEach> | 基础迭代标签,接受多种集合类型 |
<c:forTokens> | 根据指定的分隔符来分隔内容并迭代输出 |
<c:param> | 用来给包含或重定向的页面传递参数 |
<c:redirect> | 重定向至一个新的URL. |
<c:url> | 使用可选的查询参数来创造一个URL |
6. EL介绍
-
EL的概念
expression language,主要是用来简化JSP中的表达式的代码,可以很方便的以标签的形式来代替jsp中的部分java代码,以提高代码的可读性 -
语法
${el语句}
- EL隐含对象
隐含对象 | 描述 |
---|---|
pageContext | 当前页面的pageContext |
pageScope | page 作用域 |
requestScope | request 作用域 |
sessionScope | session 作用域 |
applicationScope | application 作用域 |
param | Request 对象的参数,字符串 |
paramValues | Request对象的参数,字符串集合 |
header | HTTP 信息头,字符串 |
headerValues | HTTP 信息头,字符串集合 |
cookie | Cookie值 |
initParam | 上下文初始化参数 |
- EL - 运算符
操作符 | 描述 |
---|---|
. | 访问一个Bean属性或者一个映射条目 |
[] | 访问一个数组或者链表的元素 |
( ) | 组织一个子表达式以改变优先级 |
+ | 加 |
- | 减或负 |
* | 乘 |
/ or div | 除 |
% or mod | 取模 |
== or eq | 测试是否相等 |
!= or ne | 测试是否不等 |
< or lt | 测试是否小于 |
> or gt | 测试是否大于 |
<= or le | 测试是否小于等于 |
>= or ge | 测试是否大于等于 |
&& or and | 测试逻辑与 |
|| or or | 测试逻辑或 |
! or not | 测试取反 |
empty | 测试是否空值 |
如果觉得有收获就点个赞吧,更多知识,请点击关注查看我的主页信息哦~
网友评论