JSP之指令、动作元素、内置对象、变量作用域
1、指令(三大指令)
- 指令 指令描述
- <%@ page ... %> 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
- <%@ include ... %> 包含其他文件
- <%@ taglib ... %> 引入标签库的定义
例如: <%@ page language = "java" //定义JSP页面所用的脚本语言,默认是Java
contentType = "text/html;charset=UTF-8" //contentType的charset是指服务器发送给客户端时的内容编码
pageEncoding="UTF-8" //pageEncoding是jsp文件本身的编码
import="java.util.*" //导入java类
isELIgnored="false"%> //是否执行EL表达式
<%@ include file="../include/admin/adminFooter.jsp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2、动作元素(七大动作)
- <jsp:include > 在页面被请求的时候引入一个文件;
-
- 所有的动作要素都有两个属性:id属性和scope属性。
- scope属性有四个可能的值: (a) page, (b)request, (c)session, 和 (d) application。
- page属性 包含在页面中的相对URL地址
- flush属性 布尔属性,定义在包含资源前是否刷新缓存区。
- <jsp:forward> 把请求转到一个新的页面;
- <jsp:useBean> 寻找或者实例化一个JavaBean;
- <jsp:setProperty> 设置JavaBean的属性;
-
- name属性 name属性是必需的,它表示要设置属性的是哪个Bean。
- property属性 property属性是必需的,它表示要设置哪个属性。
- value属性 可选属性,指定bean属性值。
- param属性 可选属性,它指定用哪个请求参数作为Bean属性的值。
-
- <jsp:setProperty> 输出某个JavaBean的属性;
- <jsp:plugin> 用于下载javaBean或applet到客户端执行 useBean;
- <jsp:element> 定义动态XML元素。
- 注意其实现在版本的jsp不止一个动作元素
注意:<jsp:include > 与<%@ include ... %> 区别:
1、执行时间上
<%@ include file="../include/admin/adminFooter.jsp %> 与引用的jsp一起在翻译阶段执行,
<jsp:include > 在请求处理阶段执行;
2、引入内容的不同
<%@ include %> 引入静态文本,在jsp页面被转化成servlet前和它融合在一起
<jsp:include > 引入的是已经执行好的页面或者是servlet所生成的应答文本;
3、生成文件个数
<%@ include %>只生成一个.class文件和.java文件;
<jsp:include > 生成两个.class和.java;
3、内置对象(九大内置)
JSP本身就是编译后就是java代码,JSP定了9个内置对象,即你不需要去NEW它。
JSP之内置对象(9个):
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request
response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page
page 页面对象 类型 javax.lang.Object 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page
- 注意:PageContext对象→作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。
- 注意:config对象→代码片段配置对象,表示Servlet的配置。
- 注意:Object类的Page(相当于this)对象,他代表jsp本身→作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。
4、作用域(四大作用域):
- 作用域当然指的是变量的作用域
- 作用域从小到大→Page→Request→Session→Application
- Page作用域→指的是它的有效范围只在当前jsp页面里;
- Request作用域→它的有效范围是当前请求周期;
- Session作用域→它的有效范围是当前会话
- Application作用域→它的有效范围是整个应用;