zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限
    sql server 2008收缩数据库日志
    c#基本语法
    写点东西
    转载 程序人生成长发展中的一些感悟
    C#基本问题
    对象入门
    21k8s部署discuz
    Mysql基础管理
    将枚举作为参数,迭代枚举。Passing Enum type as a parameter
  • 原文地址:https://www.cnblogs.com/Lanht/p/12789448.html
Copyright © 2011-2022 走看看