JSP系列教材 (九)- 九种隐式对象

JSP的隐式对象指的是不需要显示定义,直接就可以使用的对象,比如request,response 

JSP一共有9个隐式对象,分别是 
request,response,out 

pageContext, session,application 

page,config,exception

步骤1:request,response,out
步骤2:pageContext, session,application
步骤3:page
步骤4:config
步骤5:exception

步骤 1 : request,response,out

这三个已经很熟悉了
request 代表请求 请参考 request常见方法
response 代表响应 请参考 response 用法
out 代表 输出

步骤 2 : pageContext, session,application

pageContext 代表当前页面作用域

session 代表当会话作用域

application 代表当全局作用域

更多的关于作用域的请参考 作用域

步骤 3 : page

page 对象即表示当前对象
JSP 会被编译为一个Servlet类 ,运行的时候是一个Servlet实例。 page即代表this

page

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8" import="java.util.*"%>

      

page:<%=page%>

<br>

this:<%=this%>

步骤 4 : config

config可以获取一些在web.xml中初始化的参数。
在JSP中使用config比较复杂,需要如下几个步骤
1. 在web.xml中进行配置
2. 创建一个testconfig.jsp
通过config.getInitParameter("database-ip") 获取参数
3. 访问路径,获取web.xml中配置的参数

http://127.0.0.1/testconfig 


注1: 不能通过 http://127.0.0.1/testconfig.jsp 获取参数,只能通过/testconfig路径

注2:这种用法不常见,不推荐使用

<servlet>

    <!-- 把 testconfig.jsp配置为一个 servlet -->

    <servlet-name>testconfig</servlet-name>

    <jsp-file>/testconfig.jsp</jsp-file>

    <!-- 配置初始化参数 -->

    <init-param>

        <param-name>database-ip</param-name>

        <param-value>127.0.0.1</param-value>

    </init-param>

</servlet>

<!-- 将路径 testconfig映射到testconfig.jsp -->

<servlet-mapping>

    <servlet-name>testconfig</servlet-name>

    <url-pattern>/testconfig</url-pattern>

</servlet-mapping>

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8" import="java.util.*"%>

      

database-ip: <%=config.getInitParameter("database-ip")%>

步骤 5 : exception

exception 对象只有当前页面的<%@page 指令设置为isErrorPage="true"的时候才可以使用。

同时,在其他页面也需要设置 <%@page 指令 errorPage="" 来指定一个专门处理异常的页面。

1. 准备一个try.jsp
设置errorPage="catch.jsp",表示有异常产生的话,就交给catch.jsp处理
故意在里面造成数组越界异常

2. 准备一个catch.jsp
设置 isErrorPage="true",表示当前页面可以使用exception对象

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8" errorPage="catch.jsp"%>

<%

    int[] a = new int[10];

    a[20] = 5;

%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8" isErrorPage="true"%>

     

<%=exception%>


更多内容,点击了解: https://how2j.cn/k/jsp/jsp-object/580.html

原文地址:https://www.cnblogs.com/Lanht/p/12789448.html