精华内容
下载资源
问答
  • JSP中的内置对象及其有效范围
    千次阅读
    2017-06-26 15:56:38
    

    JSP中的内置对象及其有效范围:

    1、JSP中包含大量的内置对象和可扩展的组件对象,可以说,对象是JSP编程技术的精髓。内置对象是不需要声明的,就可以直接在JSP中使用的对象。

    2、在JSP代码段中,可以利用内置对象与JSP页面的执行环境产生互动。JSP提供的内置对象共有9个,分别是:request(request)、response(page)、out(page)、session(session)、application(application)、pageContext(page)、page(page)、config(page)、exception(page).      注:[()内的是该对象的有效范围]

    3、内置对象的有限范围,就是指一个对象可以跨多少个JSP页面之后还可以继续使用。JSP中提供了4中属性有效保护范围,分别为page、request、session以及application.

    (1)page范围:在一个JSP页面上设置的属性只能在一个页面取得,跳转到其他页面则此属性消失。实际上操作的时候是采用pageContext内置对象来完成的。

    (2)request范围:request可以把属性保存在一次服务器跳转范围中,即转发请求(使用<jsp:forward>动作来实现),而不能是请求重定向(使用response.sendRedirect.()或者超链接来实现)。

    (3)session范围:session范围属性无论页面怎么跳转,都可以保存下来。但是,只针对于同一个浏览器打开的相关页面。

    (4)application范围:application范围是把属性设置在整个服务器上,所有的用户都可以进行访问。

    4、在9个内置对象中,request、response和session是最为重要的3个对象,这三个对象体现了服务器端与客户端(即浏览器)进行交互通信的控制。

    5、内置对象按其功能,主要可以划分为以下4类:

    (1)输入输出对象:request对象、response对象、out对象。

    (2)与属性相关的对象:session对象、application对象、pageContext对象

    (3)与Servlet相关的对象:page对象、config对象

    (4)错误处理对象:exception  (注:如果一个JSP页面要使用该对象,就必须把isErrorPage设为true,否则无法编译。)

     

    更多相关内容
  • Integer对象范围(-128-127)之间

    万次阅读 多人点赞 2018-06-17 21:05:16
    这种情况是在常量池中开辟出同一个空间来存储12,所以b1和b2都指向12,如下图所示:接下来说说,Integer的缓冲范围,因为不是在堆区new一个对象,那么在常量池中就必须对其的大小范围做出一个规定,有一个规范叫JSL...

    java中如果Integer不是new出Integer对象,而是直接赋值如:

                 Integer b1 = 12;

        Integer b2 = 12;

    这种情况是在常量池中开辟出同一个空间来存储12,所以b1和b2都指向12,如下图所示:


    接下来说说,Integer的缓冲范围,因为不是在堆区new一个对象,那么在常量池中就必须对其的大小范围做出一个规定,

    有一个规范叫JSL(Java Language Specification,java语言规范)对Integer的缓冲做了约束,规定其范围为:(-128-127)之间,如下JDK源码:


    那么如果超出范围会怎样呢?再看其JDK源码:


    如果超出了范围,会从堆区new一个Integer对象来存放值。

    其实有上图第二行代码:static final int low = -128;规定了下线为-128,但是最大范围没有确定下来,这个设计是方便优化或扩展JVM来预留的。

    固定了缓冲的下限,但是上限可以通过设置JDK的AutoBoxCacheMax参数调整如下JDK源码中的注释也给出了相关说明:


    好了,那么有了上面的原理剖析,下面的几个例子也就不难理解了:

     Integer a1 = new Integer(12);
    	     Integer a2 = new Integer(12);
    	     Integer b1 = -129;
    	     Integer b2 = -129;
    	     Integer c1 = 128;
    	     Integer c2 = -128;
    	     System.out.println(a1 == a2);   //false
    	     System.out.println(b1==b2);     //false 
    	     System.out.println(c1 == c2);   //false

    总结:实际开发中遇见问题一定要查看源码,也要看英文注释,万变不离其宗!

    展开全文
  • 四种范围介绍:在jsp页面中的对象,包括用户创建的对象(例如,javaBean对象)和JSP的隐含对象,都有一个范围属性。范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象。例如,session对象在会话期间内,...

    一般对象需要实例化才可以调用,而JSP的内置对象是不用实例化就可以直接调用的对象。
    总共有9个,对应如下表:

    序号

    对象

    类型

    1

    pageContext

    javax.servlet.jsp.PageContext

    2

    request

    javax.servlet.http.HttpServletRequest

    3

    response

    javax.servlet.http.HttpServletResponse

    4

    session

    javax.servlet.http.HttpSession

    5

    application

    javax.servlet.ServletContext

    6

    config

    javax.servlet.ServletConfig

    7

    out

    javax.servlet.jsp.jspWriter

    8

    page

    java.lang.Object

    9

    exception

    java.lang.Throwable


    四种范围介绍:在jsp页面中的对象,包括用户创建的对象(例如,javaBean对象)和JSP的隐含对象,都有一个范围属性。范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象。例如,session对象在会话期间内,可以在多个页面中被访问。application对象在整个Web应用程序的生命周期中都可以被访问。
    1,page范围 
    具有page范围的对象被绑定到javax.servlet.jsp.PageContext对象中。在这个范围内的对象,只能在创建对象的页面中访问。 可以调用pageContext这个隐含对象的getAttribute()方法来访问具有这种范围类型的对象(pageContext对象还提供了访问 其他范围对象的getAttribute方法),pageContext对象本身也属于page范围。当Servlet类的_jspService()方 法执行完毕,属于page范围的对象的引用将被丢弃。page范围内的对象,在客户端每次请求JSP页面时创建,在页面向客户端发送回响应或请求被转发 (forward)到其他的资源后被删除。 


    例如:

    <body>
        <%pageContext.setAttribute("page", "这是pageContext测试"); %>
        <%=pageContext.getAttribute("page") %>
        <jsp:forward page="two.jsp"></jsp:forward>
      </body>

    在two.jsp接收页面的代码是:
    <%=pageContext.getAttribute("page") %>


    运行之后,结果显示null,这证明了page的范围只局限于当前页面,无论从服务端还是客户端跳转,都不会传递数据到另一个界面。
    2,request范围 
    具有request范围的对象被绑定到javax.servlet.ServletRequest对象中,可以调用request这个隐含对象的 getAttribute()方法来访问具有这种范围类型的对象。在调用forward()方法转向的页面或者调用include()方法包含的页面中, 都可以访问这个范围内的对象。要注意的是,因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象。 即request在经过服务器的跳转后,甚至服务器的多次跳转,我们都可以获取他设置的属性值,但是客户端跳转就不可以获取他的值了,举例说明:
    <% request.setAttribute("name", "明明"); %>
        <jsp:forward page="two.jsp"></jsp:forward>
    在two.jsp接收页面的代码是:
    <%=request.getAttribute("name") %>

    运行代码之后,在two.jsp页面获取到了明明,这是服务端的跳转,那客户端的跳转呢?
    将<jsp:forward page="two.jsp"></jsp:forward>
    去掉加入<a href="two.jsp">跳转</a> 代码,点击跳转后,获取内容为null。
    3,session范围 
    具有session范围的对象被绑定到javax.servlet.http.HttpSession对象中,可以调用session这个隐含对象的 getAttribute()方法来访问具有这种范围类型的对象。JSP容器为每一次会话,创建一个HttpSession对象,在会话期间,可以访问 session范围内的对象。 即无论客户端还是服务端跳转,都可以获取他的数据,只要浏览器不重启,这也是我们实际开发中用到最多的。
    举例:
    <%session.setAttribute("name", "这是session测试"); %>
        <a href="two.jsp">跳转</a>
    <%session.setAttribute("name", "这是session测试"); %>
    <jsp:forward page="two.jsp"></jsp:forward>

    在two.jsp接收页面的代码是:
    <%=session.getAttribute("name") %>


    我们可以发现,无论客户端还是服务端跳转,设置的数据都可以在其他页面接收。
    4,application范围 
    具有application范围的对象被绑定到javax.servlet.ServletContext中,可以调用application这个隐含对 象的getAttribute()方法来访问具有这种范围类型的对象。在Web应用程序运行期间,所有的页面都可以访问在这个范围内的对象。这个也就是说,只要设置了属性,即使重新启动浏览器,都还可以获取属性值,除非重启服务器。这一范围不做举例。
    对上述四中属性范围,实际开发中遇到最多的是request和session。一般来说,只对于同一个功能的属性的传递,使用request范围属性。那么对于session范围来说,主要还是用于登陆上面。
    上面四种属性范围,实际上四种属性范围都是通过pageContext设置的。在pageContext中,setAttribute()方式实际上被重载过:
    1,public abstract void setAttribute(java.lang.String name,  java.lang.Object value),
    2,public abstract void setAttribute(java.lang.String name,java.lang.Object value,int scope)

    第二种方法相比第一个方法多了一个参数(int scope),实际上这个参数就是指定属性范围的参数。
    1,APPLICATION_SCOPE,2,PAGE_SCOPE,3,SESSION_SCOPE,4,REQUEST_SCOPE
    也就是说,通过这个方法,我们可以设置四种属性范围,这也就是说,我们可以使用pageContext来完成上面四种属性的范围设定。
    例如,我们用session时可以这样写:
    <%@page contentType="text/html; charset=utf-8"%>
    <%
    pageContext.setAttribute("name","熊九天",PageContext.SESSION_SCOPE);
    %>
    <a href="two.jsp">跳转</a>




    展开全文
  • Socket.io 的发送对象范围

    千次阅读 2016-06-23 16:36:50
    向当前客户端发送事件 socket.emit('login', { numUsers: numUsers }); 广播(不包含当前客户端) socket.broadcast.emit('new message', { username: socket.username, message: data ...io.socke

    向当前客户端发送事件

    socket.emit('login', {
          numUsers: numUsers
        });
    

    广播(不包含当前客户端)

    socket.broadcast.emit('new message', {
      username: socket.username,
      message: data
    });
    

    广播(且包含当前客户端)

    io.sockets.emit('message', "this is a test");
    

    在房间广播(不包含当前客户端)

    socket.broadcast.to('game').emit('message', 'nice game');
    

    在房间广播(包含当前客户端)

    io.sockets.in('game').emit('message', 'cool game');
    

    发送给指定客户端

    io.sockets.sockets[socketid].emit('message', 'for your eyes only');
    

    就可以向一个特定用户推送消息,但是如何获得这个socketId,就是生成一个哈希数组,key为username,值为socket.id,这样就可以通过用户名获取对应的id,进而可以向特定client推送消息。

    展开全文
  • 1.JSP内置对象application application类似于系统的"全局变量",用于实现用户之间的数据共享 application对象的常用方法: void setAttribute(String key,Object value):以键/值的方式,将一个对象的值...
  • jsp之九大内置对象与四大域对象

    万次阅读 多人点赞 2017-03-31 15:15:10
    一,什么是内置对象? 在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创建就会特别的繁琐.SUN公司因此在设计jsp时,在jsp...
  • 9大内置对象及四种范围对象

    千次阅读 2019-06-03 09:26:28
    java Web9大内置对象以及四种范围对象 9个内置对象 out request response session application config exception page pageContext 从小到大 pageContext JSP页面容器 -->当前页面有效 (有的资料也称为page...
  • 在JSP页面中的对象,包括用户创建的对象(例如,JavaBean对象)和JSP的隐含对象,都有一个范围属性。范围定义了在什么时间内, 在哪一个JSP页面中可以访问这些对象。例如,session对象在会话期间内,可以在多个页面...
  • application的作用范围 编辑一个实验类jsp文件,applicationDemo1.jsp 使用application设定两个属性:userName和userPwd,然后使用application的getAttribute的方法获取数据 主要代码如下 &amp;lt;% ...
  • JSP九大内置对象和四种属性范围解读

    万次阅读 多人点赞 2015-07-14 18:27:52
    本文首先主要讲解了JSP中四种属性范围的概念、用法与实例。然后在这个基础之上又引入了九大内置对象,并对这几大内置对象一个一个的进行分析的解读。内容很详细,例子都附有代码和运行的结果截图。
  • JavaWeb中四大域对象及作用范围

    千次阅读 2018-04-21 19:46:01
    JavaWeb的四大作用域为:page,request,session,...对page对象的引用通常存储在pageContext对象中。 2.request:作用范围是在当前请求中有效;生命周期是在service方法调用前由服务器创建,传入service方法。整个...
  • JavaWeb中四大域对象的作用范围

    万次阅读 2016-11-22 18:32:27
    JavaWeb中四大域对象的作用范围
  • 对于对象 RF_BELEG 2100,不存在FBN1的编号范围间隔 45 消息号 NR751 诊断 数据库表NRIV有提交类'C', 即 SAP 缺省设置只用在客户000。 步骤 创建定制下的此丢失编号范围间隔。 事务代码: FBN1 解决方法:...
  • Servlet三大域对象,Jsp四大域对象

    万次阅读 多人点赞 2018-08-24 11:58:38
    Servlet三大域对象,Jsp四大域对象对象的作用:保存数据,获取数据,共享数据. Servlet三大域对象 对象名称 对象的类型 request HttpServletRequest session HttpSession application ...
  • 注意:先装PostGis插件,才能使PostGreSql数据库支持空间对象数据类型             四、BOX3D用法     PostGIS函数目录官网地址: Chapter 14. PostGIS Special ...
  • 2、HttpServletResponse的response对象作用:代表响应对象,用来向客户端发送数据。3、JspWriter的 out 对象作用:主要用于向客户端发送数据。其中JspWriter是out的基类。4、HttpSession 的session 对...
  • 使用EL访问作用域范围的隐含对象

    千次阅读 2017-03-02 16:31:57
    随时随地阅读更多技术实战干货,获取项目源码、学习资料...在EL中提供了四个用于访问作用域范围的隐含对象,即pageScope、requestScope、sessionScope和applicationScope. pageScope隐含对象用于返回包含page(页面)...
  • 对象的属性操作和属性相关的方法方法介绍举例 和属性相关的方法 方法介绍 Object getAttribute(String name) 获取指定的属性 Enumeration getAttributeNames(); 获取所有名字属性组成的Enumeration对象。 ...
  • 关于编号范围对象

    千次阅读 2013-12-28 21:38:25
    编号范围对象信息,存储于以下相关表:TNRO、TNROT、NRIV ABAP程序生成NO.Range,需要使用的系统function如下: 初始创建/更新NO.Range OBJECT: NUMBER_RANGE_OBJECT_INIT NUMBER_RANGE_OBJECT_UPDATE NUMBER_...
  • JSP9大隐视对象中四个作用域的大小与作用范围 作用域大小:四个作用域从大到小:appliaction&gt;session&gt;request&gt;page 作用范围: application:全局作用范围,整个应用程序共享.生命周期为:应用...
  • JAVA 面向对象对象 封装

    万次阅读 多人点赞 2021-05-06 15:58:57
    面向对象概念 面向对象其实是一种编程思想,通过它可以把生活中复杂的事情变得简单化,从原来的执行者变成了指挥者。 面向对象是基于面向过程而言的。 面向过程强调的是过程,比如: 打开冰箱门 2. 把大象放进去 3. ...
  • JSP 九大内置对象及四个作用域详解

    万次阅读 多人点赞 2019-01-18 10:29:13
    JSP中一共预先定义了9个内置对象:内置对象,又叫做隐含对象,不需要预先声明就可以在脚本代码和表达式中随意使用 request、response、session、application、out、pagecontext、config、page、exception ...
  • CAN笔记(18) 对象字典

    万次阅读 2019-09-11 10:00:44
    对象字典OD概述、通讯对象子协议区、制造商特定子协议区、标准化设备子协议区
  • java面向对象

    万次阅读 多人点赞 2018-08-21 16:51:59
    包括面向对象概念、类与对象的关系、封装、构造函数、this关键字、static关键字、单例设计模式、继承、多态、内部类、异常、包等java基础知识。 1、面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是...
  • int 是我们常说的整形数字,是 Java...Java 语言虽然号称一切都是对象,但原始数据类型是例外。 关于 Integer 的值缓存,这涉及 Java 5 中另一个改进。构建 Integer 对象的传统方式是直接调用构造器,直接 new 一个...
  • Java类和对象 详解(一)

    万次阅读 多人点赞 2016-10-06 20:48:02
    一、面向对象简述面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计...
  • java对象的销毁详解

    千次阅读 2021-03-01 07:52:24
    对象使用完之后需要对其进行清除,下面的文章内容就对这个方面的知识进行了较为详细的介绍,一起来看看这个方面的知识吧。前面讲到了清除,对象的清除指的就是释放对象占用的内存。在创建对象的时候,用户必须使用...
  • 面向对象与面向过程的本质的区别

    万次阅读 多人点赞 2018-01-10 20:19:04
    前言: 如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点...面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个
  • JAVA中销毁一个对象的方法

    千次阅读 2021-02-26 09:06:13
    方法一:垃圾回收器垃圾回收器是Java平台中用的最频繁的一种对象销毁方法。垃圾回收器会全程侦测Java应用程序的运行情况。当反先有些对象成为垃圾时,垃圾回收器就会销毁这些对象,并释放这些对象所占用的内存空间。...
  • Servlet的四大域对象

    千次阅读 2018-09-06 21:54:22
    我们在开发javaweb项目的时候,经常会遇到jsp和Servet之间互相传值,既然有传值,就要有对象来传,这里先说Servlet的三大域对象,request,session,application他们共同的特点都是通过键值对传值,这样也很好理解,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,367,184
精华内容 546,873
关键字:

对象的范围