JSP的指令:
指令的作用:指导JSP的翻译引擎如何工作(指导当前的JSP翻译引擎如何翻译JSP文件。)
指令包括下列内容:
include指令:包含指令,在JSP中完成静态包含,很少用了。(这里不讲)
taglib指令:引入标签库的指令。这个到JJSTL标签库的时候再学习。现在先不管。
page指令:目前重点学习一个page指令。
指令的使用语法:
<%@指令名 属性名=属性值 属性名=属性值 属性名=属性值....%>
page指令当中常用的属性如下:
<%@page session="true|false" %>
true表示启用JSP的内置对象session,表示一定启动session对象。没有session对象会创建。默认值就是"true"
session="false" 表示不启动内置对象session。当前JSP页面中无法使用内置对象session。
<%@page contentType="text/json" %>
contentType属性用来设置响应的内容类型
同时也可以设置字符集。
<%@page contentType="text/html;charset=UTF-8" %>
<%@page pageEncoding="UTF-8" %>
pageEncoding="UTF-8" 表示设置响应时采用的字符集。
<%@page import="java.util.List, java.util.Date, java.util.ArrayList" %>
<%@page import="java.util.*" %>
import语句,导包。
<%@page errorPage="/error.jsp" %>
当前页面出现异常之后,跳转到error.jsp页面。
errorPage属性用来指定出错之后的跳转位置。
<%@page isErrorPage="true" %>
表示启用JSP九大内置对象之一:exception
默认值是false。
JSP的九大内置对象
1.jakarta.servlet.jsp.PageContext pageContext 页面作用域
2.jakarta.servlet.http.HttpServletRequest request 请求作用域
3.jakarta.servlet.http.HttpSession session 会话作用域
4.jakarta.servlet.ServletContext application 应用作用域
以上四个域作用范围的大小关系如下
pageContext < request < session < application
以上四个作用域都有:setAttribute、getAttribute、removeAttribute方法。
以上作用域的使用原则:尽可能使用作用范围小的域。
5.java.lang.Throwable exception
当一个页面在运行过程中发生了异常,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。作用域 page。
6.jakarta.servlet.ServletConfig config 是Servlet中配置信息的类,主要用于读取配置信息
7.java.lang.Object page (其实是this,当前的servlet对象)
8.jakarta.servlet.jsp.JspWriter out (负责输出)
9.jakarta.servlet.http.HttpServletResponse response (负责响应)