21.1. 抽象类不一定要有抽象的方法,但含有抽象方法的类一定是抽象类
2. 并不是所有实现接口的类都一定可以生成对象,比如抽象类
3. 一个.java文件中可以有多个类,但之多有一个public类,且这个公共类名必须和文件名相同
4. 接口中的方法一定是公共,抽象的,虽然可以不写public ,abstract
示例:找出下列程式中的错误
interface MyInterface{
void method1();
}
abstract class Parent implements MyInterface{ }
class Child extends Parent{ }
22.cookie,session
总结前先引入一个例子:来描述一下cookie和session机制之间的区别与联系【引用】。
笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微乎其微,这时就需要某种方式来纪录某位顾客的消费数量。想象一下其实也无外乎下面的几种方案:
1、该店的店员很厉害,能记住每位顾客的消费数量,只要顾客一走进咖啡店,店员就知道该怎么对待了。这种做法就是协议本身支持状态。
2、发给顾客一张卡片,上面记录着消费的数量,一般还有个有效期限。每次消费时,如果顾客出示这张卡片,则此次消费就会与以前或以后的消费相联系起来。这种做法就是在客户端保持状态。
3、发给顾客一张会员卡,除了卡号之外什么信息也不纪录,每次消费时,如果顾客出示该卡片,则店员在店里的纪录本上找到这个卡号对应的纪录添加一些消费信息。这种做法就是在服务器端保持状态。
1、 web中为何要引入cookie和session
对于动态网页,有在页面之间传递参数的需求,常见的有表单传递,URL传递,引入cookie和session也是用来在页面中传递参数的一种机
制
2、 cookie,session是如何传递参数的:
所有的变量都是在服务端产生的,我说的变量较笼统,一般指: “名称=值”
对于cookie,服务器的某个servlet根据需要把产生的变量保存在cookie对象中,然后发给客户端的浏览器保存,当下次请求该servlet
时,浏览器也会把相关的cookie信息发过来, servlet根据cookie对象的名称可以获取到其值
对于session,同样服务器的某个servlet根据需要把产生的变量保存在session对象中, 然后返回给客户端该session的一个id(身份表
示码),当下次请求时该id(session标识码)也会传递给服务器(任何一个servlet都可获取到),服务器根据该id从而可以判定是哪个用户的
session
3、 cookie,session保存信息的方式及技术支持等:
cookie信息保存在“客户端”的浏览器中,具体是依txt格式存在硬盘中,它是由浏览器提供的一种机制,是对http协议的扩展 ,一个
用户可分配多个cookie对象,每一个cookie存储一个“名称=值; 属性1; 属性2;。。。”(cookie中保存的是字符串)
session信息保存在“服务端”,是http协议提供的一种机制,一个用户只分配一个session对象,里面存储该用户相关的对象(session
中保存的是对象)
4、 cookie,session的生存期:
cookie, 可以长期保存 (时间可由用户设定),如果时间值大于0,则浏览器关闭也没影响
session,从产生到给定的时间结束,如果用户不设置,则按默认时间,一旦超出这个时间还没登陆服务器,则session失效
5、 cookie,session可访问范围
cookie: 如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
session:不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。
|