文章目录
一、JSP 的概述
1. 什么是 JSP
- JSP:JavaServer Pages, Java 服务器端页面;
- JSP 就是 HTML + Java 代码 + JSP 自身的东西;
2. JSP 的由来
- Servlet 生成动态网页麻烦,所以为了简化开发,推出了 JSP;
3. JSP 运行原理
- JSP 在执行时,会被服务器翻译为 Servlet 编译执行,JSP 就是一个 Servlet;
4. JSP 脚本元素
<%! %>
:JSP 声明,翻译成 Servlet 成员部分的内容;声明变量、方法、内部类;<%= %>
:翻译 out.print(),在 Servlet 方法内部;用于生成 HTML 页面源码;<% %>
:嵌入 Java 代码,翻译成 service 方法内部的代码块;声明变量、内部类;
二、JSP 的模板修改和注释
1. JSP 模板的修改
- 修改 JSP 的字符集编码
IDEA 中:Window —> Preferences
2. JSP 的注释
- HTML 的注释
<!-- HTML 的注释 -->
- 存在时机:存在 JSP 的源码中,翻译成 Servlet 后注释也会存在,在生成的 HTML 响应到页面后,这种注释也会存在;
- Java 代码的注释
<% //单行注释 %>
<% /* 多行注释 */ %>
<% /** 文档注释 */ %>
- 存在时机:存在 JSP 的源码中,翻译成 Servlet 后注释也会存在,但是生成 HTML 响应到页面后,这种注释就消失了;
- JSP 注释
<%-- JSP 的注释 --%>
- 存在时机:存在 JSP 的源码中,翻译成 Servlet 后注释就没有了;
三、JSP 的指令元素的概述
1. JSP 指令元素的作用
- 用于指示 JSP 执行的某些步骤;
- 用于指示 JSP 表现的特定行为;
2. JSP 指令元素语法
<%@ 指令名称 属性名称=属性的值 属性名称=属性的值 %>
3. JSP 指令元素的分类
page 指令
:指示 JSP 的页面设置属性和行为;include 指令
:指示 JSP 包含哪些其他页面;taglib 指令
:指示 JSP 页面包含哪些标签库;
四、JSP 的指令—— page 指令
1. page指令简介
- 写法:
<%@ page attribute="value" %>
- page指令 为容器提供当前页面的使用说明;
- 一个JSP页面可以包含多个page指令;
- 在 JSP 页面中,只有 import 属性可以出现多次,其他属性都只能出现一次;
2. page指令属性
五、JSP 的指令—— include 和 taglib 指令
1. include 指令
- 写法:
<%@ include file="relative url" %>
- JSP可以通过include指令来包含其他文件;包含的文件会被同时编译执行;
- 作用:在 JSP 页面中静态包含一个文件,同时由该 JSP 解析包含的文件内容。
2. taglib 指令
- 写法:
<%@ taglib uri="uri" prefix="prefixOfTag" %>
- 作用:用于在 JSP 页面中引入标签库;
- JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。
- Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
六、JSP 内置对象
1. 什么是 JSP 内置对象
- JSP 内置对象:指的是可以直接在 JSP 页面中使用的对象;
2. JSP 的内置对象有哪些
对象名称 | 作用 | 具体类型 |
---|---|---|
request | 从客户端向服务器发送的请求对象 | HttpServletRequest |
response | 从服务器端向客户端作出响应对象 | HttpServletResponse |
session | 服务器为客户端创建会话 | HttpSession |
application | 代表应用,获得的 ServletContext对象 | ServletContext |
out | 向输出流写入内容的对象 | ServletConfig |
page | 当前的 JSP 翻译成 Servlet 后的对象的引用 | Object |
pageContext | 当前 JSP 页面的上下文对象 | PageContext |
config | 本 JSP 的 ServletConfig 对象 | JspWriter |
exception | 表示 JSP 页面运行时 产生异常的对象 | Throwable |
七、pageContext 对象的概述
1. pageContext 对象简介
- pageContext :页面上下文对象,代表的是当前页面运行的一些属性;
2. pageContext 对象作用
- 提供了 page 范围的数据存取的方法;
- 通过这个对象获得其他的8个内置对象;
八、JSP 的四个作用范围
- PageScope:页面范围
指的是在当前页面内有效,出了这个页面,用 pageContext 保存数据就无效了; - RequestScope:请求范围
从客户端向服务器端发送一次请求,服务器对这次请求做出了响应之后,用 request 保存的数据就无效了; - SessionScope:会话范围
每个浏览器向服务器发送请求(多次请求),将该会话结束; - ApplicationScope:应用范围
在整个应用中任意的地方都可以获取;
例子
九、JSP 的动作标签
1. 什么是 JSP 动作标签
- JSP 动作标签,用于在 JSP 页面中提供业务逻辑功能,避免在 JSP 页面中直接编写 java 代码,造成 jsp 页面难以维护;
2. 常用的动作标签
<jsp:forward/>
:请求转发;<jsp:include/>
:包含(动态包含);<jsp:param/>
:传递参数;