您的位置:首页 > Web前端 > JavaScript

JSP-九种隐式对象

2018-01-26 00:54 232 查看
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%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: