精华内容
下载资源
问答
  • jsp的隐式对象有哪些
    千次阅读
    2020-11-01 14:49:00


    前言

    jsp中的9大隐式对象也被称为9大内置对象,分别为:request、response、session、application、out、pagecontext、config、page、exception,下面对每个对象进行解释:


    1、request对象

    该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。

    2、response对象

    代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效

    3、session对象

    是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。

    4、application对象

    可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。

    5、out对象

    用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

    6、pageContext 对象

    是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。

    7、config 对象

    主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

    8、page 对象

    代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。

    9、exception 对象

    处理jsp中出现的异常.

    总结

    在平常中用的比较多的是 request response session application pageContext
    更多相关内容
  • 主要介绍了JSP中隐式对象用法,以实例形式分析了JSP隐式对象的定义及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • JSP隐式对象

    2022-03-07 22:14:07
    JSP一共9个隐式对象,分别是 request,response,out pageContext, session,application 这三者是之前提到过的作用域 page,config,exception page: page 对象即表示当前对象 JSP 会被编译为一个Servlet类 ,运行的...

    之前一直在利用的request和response 就是隐式对象 包括out
    隐式对象就是指不需要显示定义的对象 直接就可以使用的此种对象
    JSP一共有9个隐式对象,分别是
    request,response,out

    pageContext, session,application 这三者是之前提到过的作用域

    page,config,exception

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

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.*" %>
    page:<%=page %>
    <br>
    this:<%=this%>
    

    在这里插入图片描述
    可知两者地址值一致 即page就是servlet里的this的代替

    config对象:

    config可以获取一些在web.xml中初始化的参数。
    在JSP中使用config比较复杂,需要如下几个步骤

    1. 在web.xml中进行配置
     <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>
      <servlet-mapping>
      <servlet-name>testconfig</servlet-name>
      <url-pattern>/testconfig</url-pattern>
      </servlet-mapping>
      </web-app>
    
    1. 创建一个testconfig.jsp
      通过config.getInitParameter(“database-ip”) 获取参数
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.util.*"%>
          
    database-ip: <%=config.getInitParameter("database-ip")%>
    

    把testconfig.jsp转为一个servlet init-param设置参数 之后就是参数名及真值 再则就是映射路径配置 转为servlet实质是JSP文件本就会被编译为servlet

    config.getInitParameter(“database-ip”) 所获取的参数就是.xml里设置的参数 config隐式对象直接调用方法实现

    1. 访问路径,获取web.xml中配置的参数

    exception隐式对象:
    exception 意为异常 这种隐式对象的存在就是为了检验出异常 那么exception 在Java里通常是通过try catch语句来捕抓的

    那么创建try.jsp和catch.jsp来验证:

    try.jsp

    在其他页面也需要设置 <%@page 指令 errorPage="" 来指定一个专门处理异常的页面。运行之后会跳转至该页面

    <%@ 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:

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

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

    直接使用exception隐式对象

    展开全文
  • JSP 隐式对象

    2021-01-08 22:41:48
    JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。 JSP所支持的九大隐式对象: 对象 描述 request ...
  • 03-JSP隐式对象.ppt

    2020-07-17 08:46:39
    03-JSP隐式对象.ppt
  • 文章目录1.JSP隐式对象1.1 out对象1.2 request + 1.3 response对象1.4 config对象1.5 session对象1.6 application对象(ServletContext)1.7 page对象1.8 pageContext对象1.9 exception对象2.JSP域对象2.1 ...

    1.JSP隐式对象

    JSP隐式对象(内置对象)是JSP事先创建好的一组对象,不使用new关键字就可以直接使用。

    所有JSP页面均可使用(只要你是JSP页面,就可以使用JSP九大内置对象)

    只有在JSP表达式(<%=%>)或JSP脚本(<%%>)中才可使用

    JSP九大内置对象:
    资源分配图
    四个作用域:
    在这里插入图片描述


    1.1 out对象

    其中的out对象与我们之前用过的PrintWriter功能非常相似,可以直接向客户端发送文本。不过两者还是有些区别的,我们先看下图:

    资源分配图

    我们可以看到,JspWriter的缓冲区和PrintWriter(通过response.getWriter获取的)的缓冲区是相互独立的,JspWriter缓冲区的内容在flush之后(如果为手动提交,页面最后会自动提交)才会提交到PrintWriter的缓冲区内。我们看如下例子:

    <% 
    		out.print("我是第一行打印的!<br />");
    		//out.flush();
    		response.getWriter().println("我是第二行打印的!<br />");
    %>
    

    页面运行结果如下,可以看到,out对象输出的内容反而在后,这是因为其在页面结束时才将JspWriter缓冲区的内容提交到PrintWriter的缓冲区内,当把上面out.flush()取消注释后,我们就可以得到和我们预计顺序相同的结果。

    资源分配图


    1.2 request对象

    request 对象是javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求

    使用方法:

    参考我的博客:2.【HttpServletRequest类】、【HttpServletResponce类】常用方法总结
    在这里插入图片描述



    1.3 response对象

    response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效

    使用方法:

    参考我的博客:2.【HttpServletRequest类】、【HttpServletResponce类】常用方法总结
    在这里插入图片描述



    1.4 config对象

    config是对象是javax.servlet.ServletConfig接口的实例化对象,主要功能是取得一些初始化的配置信息

    通过pageConext对象的 getServletConfig() 方法可以获取一个config对象。

    当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。


    1.5 session对象

    session对象是javax.servlet.http.HttpSession的一个实例

    参考我的博客:4. 【Session、HttpSession类的API】+ Cookie与Session的区别与联系
    在这里插入图片描述



    1.6 application对象(ServletContext)

    application对象是生成的Servlet的ServletContext对象的直接包装,实际上是javax.servlet.ServletContext对象的一个实例。

    作用域:当前服务;只要服务不重启,那么作用域一直存在

    application对象实现了用户间数据的共享,可存放全局变量。application对象开始于web服务器(tomcat)的启动,结束于web服务器(tomcat)的关闭。

    常用方法:

    //获取ServletContext
    ServletContext context = this.getServletContext();
    
    //往application对象中设置一个属性,请注意,如果多次调用该方法,并且使用相同的name,那么会覆盖上一次的值。
    void setAttribute(String name,Object value); 
    
    //从application对象中通过属性名取出对应属性值,如果指定属性名不存在则返回null
    Object getAttribute(String name); 
    
    //从application对象中移除指定属性名的属性,如果指定属性名不存在,什么也不做
    Void removeAttribute(String name); 
    

    参考我的博客:2. Servlet的介绍+【ServletContext类】的常用方法总结



    1.7 page对象

    page对象是对该页面实例的实际引用。可以认为它是表示整个JSP页面的对象。

    page对象是this对象的直接同义词。


    1.8 pageContext对象

    pageContext对象是javax.servlet.jsp.PageContext对象的一个实例。pageContext对象用于表示整个JSP页面。

    PageContext对象也是一个内置对象,在jsp中会默认创建一个实例对象,名为pageContext,表示当前JSP页面的运行环境,并提供获取其他隐式对象的方法,方法列表如下:

    资源分配图

    不过这些方法用处不大,因为本身内置对象在JSP页面中就默认创建的,并可直接在JSP页面中使用,不过如果需要传参的话,则可只传递一个pageContextd对象即可,然后可以通过其获取其他隐式对象。

    当然,PageContext作为域对象,其也提供了一些操作属性的方法,主要如下:

    资源分配图

    其中的scope为作用域大小,主要有如下定义:

    可以看到,PageContext作为压轴出场,果然没让让我们失望,其可以提供粒度可控的属性绑定,PageContext可以说是其他三个域对象的总和,并且可以提供范围更小的PAGE_SCOPE。



    1.9 exception对象

    在JSP页面中,因为也可使用Java代码,且设计之初,就承担重任,因此JSP页面中为了方便处理异常,就内置了exception对象来进行异常信息的处理

    exception对象的使用需要配合page指令中的errorPage、isErrorPage来使用。

    我们来看一个例子,我们创建两个jsp页面,分别命名为exception.jsp、error.jsp,代码如下( 注意两个页面中第一行的page指令):

    <!-- exception.jsp -->
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" errorPage="error.jsp"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>exception Object Test</title>
    </head>
    <body>
    	<%
    		int a = 3;
    		int b = 0;
    	%>
    	<!-- 除数为0,抛出异常  -->
    	<h1>输出结果为:<%= (a / b) %></h1>
    </body>
    </html>
    
    <!-- error.jsp -->
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" isErrorPage="true"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>错误页面</title>
    </head>
    <body>
    	<h1>处理出错,错误信息为: <%= exception.getMessage() %></h1>
    </body>
    </html>
    

    浏览器中执行exception.jsp,执行结果如下如所示:
    资源分配图

    展开全文
  • JSP九个隐式对象

    2022-05-18 14:09:19
    JSP九个隐式对象 文章目录JSP九个隐式对象前言一、JSP九个隐式对象二、使用步骤1.OUT对象2.page对象3.PageContext 对象 前言 JSP使用脚本元素作为一种简易方法在模板数据中嵌入java代码,这些脚本元素在JSP翻译成...

    JSP九个隐式对象


    前言

    JSP使用脚本元素作为一种简易方法在模板数据中嵌入java代码,这些脚本元素在JSP翻译成Servlet的阶段,都被转化为Servlet中的java代码。

    JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。


    一、JSP九个隐式对象

    在这里插入图片描述注意:

    exception对象不是每个页面都有 只有是错误页面(errorPage),并且 isErrorPage属性设置为true

    session 对象也不是每个页面都有 默认情况下有,但是如果将page指令的 session=”false”,则没有session内置对象

    二、使用步骤

    1.OUT对象

    out对象是javax.servlet.jsp.JspWriter的实例,用于发送内容到响应中。JspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小。

    只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中:

    1. 设置page指令的buffer属性关闭了out对象的缓存功能
    2. out对象的缓冲区已满
    3. 整个JSP页面结束

    out对象的使用方法,只要简单的调用out.print()或者out.println()方法即可。
    out对象的其他方法:
    在这里插入图片描述

    2.page对象

    page对象表示当前一个JSP页面,可以理解为一个对象本身,即:把一个JSP当作一个对象来看待。page对象在开发中几乎不用。

    3.PageContext 对象

    主要功能,用于获得其他8大隐式对象

    这样做的意义:

    1. 需要移除jsp中的java代码,就需要将java代码写到一个java类的成员方法中,然后想办法在jsp页面中调用该方法,以达到代码复用的目的
    2. 由于在jsp中的java代码难免会访问8个隐式对象,因为这些对象都是和web开发相关的对象
    3. 要移除这部分java代码就需要将8个对象传递给java类的方法,为了方便,我们通常的做法是只传递一个
    4. pageContext对象过去,这样在方法中就可以通过该对象很轻松地获得其他8个对象了
    5. pageContext 也是一个域对象,但只是在当前jsp页面有效

    重点:

    • 默写9个对象, (具体描述9个对象怎么用)
    • 理解pageContext对象的意义 (获得其他8个对象)

    展开全文
  • JSP隐式对象

    2021-11-18 17:22:32
    什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象。 jsp常见的九大隐式对象: request: HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求 response:...
  • javaweb-jsp隐式对象

    2021-11-19 12:30:37
    JSP 隐式对象 1.1 隐式对象概述: 什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象。 jsp常见的九大隐式对象: request: HttpServletRequest,请求对象,它同时也是域对象...
  • JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。 JSP所支持的九大隐式对象: 对象 描述 request HttpServletRequest 接口的实例 ...
  • 由于隐式对象的方法实在太多,太难记。所以单独开一篇博客记录。以后在做项目用到这些方法的时候,会增加一些案例放到博客上,便于理解。 九大隐式对象可以分为四类  第一类:与输入输出有关的  request请求...
  • JSP隐式对象的概述 在JSP页面中,一些对象需要频繁使用,如果每次都重新创建这些对象则会非常麻烦。为了简化Web应用程序的开发,JSP2.0规范中提供了9个隐式(内置)对象,它们是JSP默认创建的,可以直接在 JSP ...
  • JSP-隐式对象简述

    2020-10-11 11:22:40
    隐式对象 request 请求 response 响应 config 获取初始化参数 application 全局变量 exception 错误后抛出的异常信息 Session 会话 page 页面实例的引用 out 页面输出 pageContext 页面上下文对象 ...
  • jsp隐式对象JSP Implicit Objects are very useful for developers. This is the second post in the series of JSP Tutorials, you might want to check out earlier post about JSP Tutorial for Beginners. JSP...
  • JavaWeb开发技术-JSP隐式对象.pptx
  • JSP隐式对象JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。JSP所支持的九大隐式对象:对象描述requestHttpServletRequest类的实例response...
  • 6-4-JSP隐式对象

    2021-10-08 09:54:49
    一、隐式对象的概述 在JSP页面中,一些对象需要频繁使用,如果每次都重新创建这些对象则会非常麻烦。为了简化Web应用程序的开发,JSP2.0规范中提供了9个隐式(内置)对象,它们是JSP默认创建的,可以直接在JSP...
  • 1.jsp的九大内置对象 request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application 封装服务器运行...
  • jsp隐式对象 JSP中的隐式对象 (Implicit Objects in JSP) JSP provide access to some implicit object which represent some commonly used objects for servlets that JSP page developers might need to use. ...
  • jsp隐式对象-Servlet对象 pageContent对象 1. 作用 ​ 可以获取当前jsp页面所有隐含对象。作用范围:当前页面 2.方法 *注意点 3. 实例(session对象、pageContent对象、application对象三者的区别) <%@ ...
  • JSP隐式对象 exception对象:在JSP页面中,经常需要处理一些异常信息,这时就可以用这个对象来实现; 在chapter07项目的WebContent目录下创建一个名称为exception.jsp的页面; exception.jsp 运行结果:会出现错误,...
  • jsp隐式对象

    2019-09-29 03:58:17
     隐式对象在转译为Servlet后,是_jspService()中的局部变量。隐式对象只能在<%与%>之间,或<%=与%>之间直接使用。 无法在<%!与%>之间直接使用隐式对象;但可以给它传递进去,比如: <%@...
  • JSP九大隐式对象归纳总结

    千次阅读 2016-03-02 11:54:43
    首先理清一下什么是隐式对象:在编写JSP时,不需要声明(创建)就可以直接使用的对象称为隐式对象。 对应的作用如下图所示: 每个对象对应作用域如下所示:   内置对象 代表内容 范围 request...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,568
精华内容 7,027
关键字:

jsp的隐式对象有哪些