JSP-九种隐式对象

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

JSP一共有9个隐式对象,分别是 
request,response,out 
pageContext, session,application 
page,config,exception

  • request,response,out

    这三个已经很熟悉了
    request 代表请求 
    response 代表响应 
    out 代表 输出
  • pageContext, session,application

    pageContext 代表当前页面作用域
    session 代表当会话作用域
    application 代表当全局作用域
  • page

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

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.*"%>
          
    page:<%=page%>
    <br>
    this:<%=this%>
  • 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:这种用法不常见,不推荐使用

    web.xml
    <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>
    testconfig.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.*"%>
          
    database-ip: <%=config.getInitParameter("database-ip")%>
  • exception

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

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

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

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

    try.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" errorPage="catch.jsp"%>
     
    <%
        int[] a = new int[10];
        a[20] = 5;
    %>

    catch.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" isErrorPage="true"%>
         
    <%=exception%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值