在JSP入门的时候,我遇到了这么一个问题,请进... ... 意思是:把类Config另起个名“dba”,在上下文中引用是通过id,但在一个上下文中id是不能重复的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是别的jsp页面上也有这一句啊,而且很多页面上都有这么一句,我看了书上说的是:dba是类Config创建的实例啊.那么初始化这些jsp页面的时候不就都要创建同名的Config的实例dba了吗?居然对象可以重名??我有些不理解. scope="request"范围限定了是一次请求提交有效 根据scope的范围去找,比如scope="request",就通过request.getAttribute("dba")看看是否可以获得对象,如果有就返回这个对象,如果是null,就创建一个然后通过request.setAttribute放到request里面。其实在一个scope里就一个实例。 我知道每个客户端都具有一个request内置对象,那是不是就是说request本身就是一个容器,它装载了该客户端的变量,对象等与其它客户端不同的东东,所以上面的Config类可以创建同名的对象?? 你的意思我明白,在N个人同时访问这个页面的时候每个人都要NEW一下这个类的,也就是每个人都要产生一个这个类的实例,但并不是NEW出了多个一样的对象dba,而是同一个对象dba的多次利用,也就是说反复的初始化dba对象。不知道你听明白了吗!确实很难解释。-_#" 还有一个问题,就是比如说有一个jsp页面,该页面中如上面所示创建了一个mdb对象在Config类中,有两个成员变量,一个是类变量,一个是实例变量,如下:public static Sting s1="字符串1";--------------------------------1public String s2="字符串2";---------------------------------------2是不是就是说,对于1,在服务器端,不管多少客户端在访问该页面,都只有一个s1对象,而对于2,每一个客户端都有自己的一个s2?????????????????????????????????????? to OnlyLikeJava(甜咖啡):什么叫反复地初始化dba对象,是不是说初始化来初始化去都只有一个dba对象,那就是说,当n个客户端在访问同一页面时,结果是只创建了一个dba对象?????????????????我觉得好像不是这回事啊 jsp页面通常是通过下面步骤来运行的:1.用户通过http请求一个后缀名是.jsp的url,此url连接到了一个jsp页面上.2.web server的servlet容器发现在url中有.jsp文件扩展名,就调用jsp容器来进行处理.3.如果此页面是第一次被请求,jsp容器要定位此jsp页面文件并解释它,解释的过程包括将jsp源文件处理成servlet代码文件(.java)以及编译.java文件生成servlet的.call文件.jsp解释器生成的servlet类是实现了javax.servlet.jsp.HttpJspPage接口的类的一个子类.这个servlet类被叫做页面实现类4.jsp容器运行页面实现类的实例,此时servlet(即jsp页面实例)就会处理http请求,生成对应的http相应并回传给客户端.所以说,每个客户端都有各自的request和response,和这个道理一样,每个客户端都有每个客户端的dba. 我把我的问题再整理一下:1.在一个网站的很多jsp页面的代码里,都有<jsp:useBean id="dba" scope="request" class="Config" />这句话,那么当n个人同时访问这些页面时,就会同时生成同名的Config类的对象dba,那么这么多的对象为什么可以同名?????上面几位仁兄的解释颇有道理:是作用域的限制但是在同样的作用域里,比如说请求期,也同样会有同名的对象啊,那么,是不是像我所说的:每个dba必然有和别的dba不一样的属性,来区别另外的dba,以达到同时有很多相同又不同的dba????????????? 2.有一个jsp页面,该页面中如上面所示创建了一个mdb对象在Config类中,有两个成员变量,一个是类变量,一个是实例变量,如下:public static Sting s1="字符串1";--------------------------------1public String s2="字符串2";---------------------------------------2是不是就是说,对于1,在服务器端,不管多少客户端在访问该页面,都只有一个s1对象,而对于2,每一个客户端都有自己的一个s2?????????????????????????????????????? 3.在n个客户端同时访问的情况下,像一个字符串变量s,怎么才能使它的数目一直保持只有一个呢?每个客户端看到的s都是那个s,而不是那个s的拷贝????? 关于Java入口函数的问题 怎么样按照要求组合数字 Corba问题 为何不能删除运行过一次的jar文件 用SQL实现本天距离下个星期五还有几天 问题无法解决 何解? 如何获得struts select标签中的value 一个关于java多态的问题 关于数组的问题!(立即送分) 北落师门)你进来一下 大家帮个忙:关于下载NetBeans IDE的。在线等~谢谢!! [菜鸟学JAVA]我在网上下了一个《JBuilder程序设计实例》的代码,可它老是说""Frame1.java": Error #: 901 : package ex02_01 stated in s
范围限定了是一次请求提交有效
2.web server的servlet容器发现在url中有.jsp文件扩展名,就调用jsp容器来进行处理.
3.如果此页面是第一次被请求,jsp容器要定位此jsp页面文件并解释它,解释的过程包括将jsp源文件处理成servlet代码文件(.java)以及编译.java文件生成servlet的.call文件.
jsp解释器生成的servlet类是实现了javax.servlet.jsp.HttpJspPage接口的类的一个子类.这个servlet类被叫做页面实现类
4.jsp容器运行页面实现类的实例,此时servlet(即jsp页面实例)就会处理http请求,生成对应的http相应并回传给客户端.所以说,每个客户端都有各自的request和response,和这个道理一样,每个客户端都有每个客户端的dba.
在Config类中,有两个成员变量,一个是类变量,一个是实例变量,如下:public static Sting s1="字符串1";--------------------------------1
public String s2="字符串2";---------------------------------------2是不是就是说,对于1,在服务器端,不管多少客户端在访问该页面,都只有一个s1对象,
而对于2,每一个客户端都有自己的一个s2
??????????????????????????????????????