首先application是全局变量 最大的 session是对话层次的 可以理解成 你这顺序是由小到大 当然只是这么理解(并不是概念)看你具体实例而定 比如你要写个页面跳转 都可以用 看你想用哪个存(区别就是生存期作用域,就是前面跟你说的)当然 这只是我个人理解!!!
我的理解是:客户端:我们能用电脑看见的,比如浏览器;服务器:就是在后台中,看不见
导入以下jar包试试
导入java.util 包试试!
应该是你代码问题吧,我这样跳转都会输出
哥,细心一点,你又又又又又又又打错了
在强制类型转换时,不能从【int】转换成【String】。
你有写import java.util.*吗?
这与他们的作用域有关
application的作用域为服务器,只要服务器没有关闭,application的对象就能获取到,
session对象的作用域为一次会话,通常浏览器不关闭,保存的值就不会消失,当然也会出现session超时.
个人理解 范围是全局 page是只在那个页面可以访问,session是单个用户的一次完整访问中都可以访问,application是从程序开始到停止程序之间都可以访问
刚刚试了试,只能一对一,因为它的语法格式为:
application.setAttribute(String, Object) //application.setAttribute("city", "郑州");
所以你不能写成:
application.setAttribute(String, Object, Object); //application.setAttribute("city", "郑州", "北京");
不过呢,你可以写成这样:
application.setAttribute("city", "郑州"); application.setAttribute("city", "北京");
但输出的结果为【北京】,因为【city】的值被重写了,【郑州】变成了【北京】。
手机客户端好像可以下载
就像Java中的static一样,随着类的加载而加载。共享的肯定是部署在服务器里面的项目内的。就像静态的成员被本类共享。服务器的启动就像类的加载。
你把【Select the proposal kinds contained in the 'default' content assist list:】下的选项全勾上重启MyEclipse试试。我的是2017版本的。
要不没置,要不就是你拼写错误,仔细检察检察看语法和拼写有没有错误。
在启动Application时,系统会创建一个PID(进程ID),所属该应用的Activity就会在此进程上运行。如果我们在Application创建的时候初始化全局变量,这样同一个应用的所有Activity都可以取到这些全局变量的值。例如:public class CombankDroid extends Application { private boolean isLogin; public boolean isLogin(){ return isLogin } public void setIsLogin(boolean b){ isLogin = b; }}我们在整个应用中就可以使用
application.getAttributeNames(),属于java.util.*包下的方法,这个方法用于返回所有的application变量,返回类型为Enumeration类型。
application中的属性有<%
Enumeration ap=application.getAttributeNames();
while(ap.hasMoreElements()){
out.println(ap.nextElement());
}
%>
个人看法:你的写法直接调用ap的tostring()方法,指针(?不知道是不是指针)位置没变。
不要使用application获取,直接使用request对象,或者是在取得属性后通过脚本进行过滤。
500代表服务端有错误,先把work和workapp里面的工程删除,然后重新发布一下试试。
你导包了吗,你jdk的版本至少要在1.5以上才行
hibernate 好像是的!使用很方便。亲可以去看看
这个提示是需要添加泛型,如Enumeration<Object> attributes
如果Object不行,试试String
这也是一个警告,建议在枚举类型中使用泛型。