JSP常用内置对象:page、pageContext、config、exception

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。JSP常用内置对象:page、pageContext、config、exception,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

学习目标(常用九大内置对象)

  • out
  • request
  • response
  • page
  • session
  • application
  • pageContext
  • config
  • exception
    在这里插入图片描述

1、page对象

  • page是java.lang.Object类的一个实例,它指的是JSP实现类的实例,也就是说,它是JSP本身。相当于JSP编译生成servlet后是servlet类的this对象。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面实际当中很少用到。

2、pageContext对象

  • pageContext对象代表当前JSP 页面的上下文,该对象提供了对当前JSP页面所有对象的访问,使pageContext对象的方法可以访问除本身以外的8个JSP内部对象。pageContext对象相当于JSP程序中所有对象功能的集成者。但其他的8个内置对象也都可以直接访问,所以pageContext对象基本不会采用。

3、四大作用域的范围

在这里插入图片描述

  • page作用域指当前JSP页面的范围
  • request作用域内的对象则是与客户端的请求绑定在一起
  • session对象作用域:一次会话
  • application的作用域:面对整个Web应用程序
    <%
        //页面级别(当前页面内有效,基本用不到)
        pageContext.setAttribute("a",1);
        //请求转发级别(只要不是重定向,在一个请求范围内就有效,经常使用)
        request.setAttribute("b",2);
        //会话级别(只要早同一个浏览器的会话中就有效,经常使用)
        session.setAttribute("c",3);
        //服务器级别(只要服务器不关闭就有效,特殊情况使用)
        application.setAttribute("d",4);
    %>
    
  • 四个作用域的比对
    pageContext < request < session < application
    

4、exception对象(不经常用)

  • exception 对象是专门负责处理JSP在执行过程中出现的异常问题的。但要注意 exception 对象一般要和page 指令一起配合使用,只有在异常处理页面(在页面指令里有isErrorPage=true的页面)中才可以使用,把 JSP 文件执行时所有发生的错误和异常都集中到异常处理页面去进行处理。这不仅提高了系统的统一性,程序流程也变得更加简单清晰。
    <%@ page isErrorPage="true" errorPage="error.jsp" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
    
  • 4.1、exception对象主要处理JSP执行异常
  • 常用方法(前连个方法用的居多):
    在这里插入图片描述
  • app1.jsp
    <%@ page import="java.text.SimpleDateFormat" %>
    <%@ page contentType="text/html;charset=UTF-8" errorPage="error.jsp" language="java" %>
    <html>
    <head>
        <title>app1.jsp</title>
    </head>
    <body>
    
    <%!
        int a=8;
    %>
    <%= a/0 %> <%--算数运算错误--%>
    
    </body>
    </html>
    
  • error.jsp
    <%@ page isErrorPage="true" contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <h2>
            //此处的exception,在上述page标签里必须要有isErrorPage="true",
            //才可以使用
            <font color="red">
            错误原因:<%= exception.getMessage() %>
                <br> <%= exception.toString() %>
            </font>
        </h2>
    
    </body>
    </html>
    

    程序说明:
    app1.jsp中 errorPage=“error.jsp” 指定错误处理页面。
    error.jsp中 isErrorPage=“true” 指定该页面是错误处理页面。
    在error.jsp页面中<%=exception.getMessage() %>是输出获取的异常消息字符串。

  • 运行结果
    在这里插入图片描述

5、config对象(不经常用)

  • config 对象代表当前JSP 配置信息,但JSP 页面通常无须配置,因此也就不存在配置信息。该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。
  • 常用方法:
    方法 返回值 方法说明
    getInitParameter(name) String 获取Servlet初始化参数
    getInitParameterNames() Enumeration 获取Servlet所有初始化参数名称
    getServletContext() ServletContext 获取当前Application context
    getServletName() String 获取Servlet名称
  • web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
    
      <display-name>Archetype Created Web Application</display-name>
    
    
      <servlet>
        <servlet-name>index</servlet-name>
        //webapp下的index.jsp(相当于根目录)
        <jsp-file>index.jsp</jsp-file>
        <init-param>
          //参数1  driverClassName
          <param-name>driverClassName</param-name>
          <param-value>oracle.jdbc.Driver.OracleDriver</param-value>
        </init-param>
        <init-param>
          //参数2  url
          <param-name>url</param-name>
          <param-value>jdbc:oracle:thin:localhost:1521:orcl</param-value>
        </init-param>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>index</servlet-name>
        <url-pattern>/index</url-pattern>
      </servlet-mapping>
    </web-app>
    
  • webapp下的index.jsp(相当于根目录)
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>易买网 - 首页</title>
        <link type="text/css" rel="stylesheet" href="css/style.css"/>
    </head>
    <body>
    
    <%
        /*输出取得的初始化参数内容*/
        String driverClassName = config.getInitParameter("driverClassName");     
        String url = config.getInitParameter("url");   
    %>
    <h3>驱动程序:<%=driverClassName%></h3>
    <h3>连接地址:<%=url%></h3>
    
    </body>
    </html>
    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/189475.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!