目录
(1)JSP的三大指令
①include指令:包含指令。在JSP中完成静态包含。(很少用)
②taglib指令:引入标签库的指令。这个到JSTL标签库的时候再学习。(暂时现在先不管)
③page指令:目前重点学习page指令的常用属性。(重点掌握)
(2)指令的使用语法
<%@指令名 属性名=属性值 属性名=属性值 属性名=属性值....%>
(3)page指令中常用的属性
①session属性
😊true表示启用JSP的内置对象session,表示一定启动session对象;没有session对象会创建。如果没有设置,默认值就是session="true"。
😊session="false" 表示不启动内置对象session。当前JSP页面中无法使用内置对象session。
<%@page session="true|false" %>
②contentType属性
😊contentType属性用来设置响应的内容类型。
😊同时也可以设置字符集。
- <%@page contentType="text/html" %>
- <%@page contentType="text/html;charset=UTF-8" %>
③pageEncoding属性
😊表示设置响应时采用的字符集;和在上面contentType属性中设置是同样的效果
<%@page pageEncoding="UTF-8" %>
④import属性
😊import语句,用来导包
- <%@page import="java.util.List, java.util.Date, java.util.ArrayList" %>
- <%@page import="java.util.*" %>
⑤errorPage属性
😊errorPage属性用来指定出错之后的跳转位置。例如:当前页面出现异常之后,跳转到error.jsp页面。
😊例如:出现了空指针异常,如果没有设置errorPage就会包500错误;如果设置了就会报我们error.jsp页面的内容。😊但是也存在一个问题,并没有任何的报错信息,不利于程序员的开发;所以可以在当前error.jsp页面启用JSP九大内置对象之一:exception,报异常错误信息。
<%@page errorPage="/error.jsp" %>
⑥isErrorPage属性
😊表示启用JSP九大内置对象之一:exception;exception内置对象就是刚刚发生异常的对象;然后就能打印异常的堆栈信息。
😊<%@page isErrorPage="true" %>默认值是false。
<%@page isErrorPage="true" %>
😊例如:下面的error.jsp页面
- <%@ page contentType="text/html;charset=UTF-8" %>
- <%@page isErrorPage="true" %>
- <html>
- <head>
- <title>errortitle>
- head>
- <body>
- <h1>网络繁忙,稍后再试!!!!h1>
- <%
- exception.printStackTrace();
- %>
- body>
- html>
(1)javax.servlet.jsp.PageContext pageContext 页面作用域
(2)javax.servlet.http.HttpServletRequest request 请求作用域
(3)javax.servlet.http.HttpSession session 会话作用域
(4)javax.servlet.ServletContext application 应用作用域
😊四者之间的大小关系:pageContext < request < session < application
😊以上四个作用域都有:setAttribute、getAttribute、removeAttribute方法。
😊以上作用域的使用原则:尽可能使用小的域。
(5)java.lang.Throwable exception 内置的异常
(6)jakarta.servlet.ServletConfig config 就是ServletConfig类
(7)java.lang.Object page 本质就是this,当前的servlet对象
(8)javax.servlet.jsp.JspWriter out 负责输出
(9)javax.servlet.http.HttpServletResponse response 负责响应