19.08.07 知识点的记录
多态------父类引用指向子类对象
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
在Servlet中懂得ServletContext HttpSession 以及HttpServletRequest之间的关系------https://www.cnblogs.com/gccbuaa/p/7043609.html
1. [共同点]共享变量和获得变量的 方法都是一致的
–setAttribute(“varName”,obj);
–getAttribute(“varName”)。
2. 变量的作用域
ServletContext–范围最大。应用程序级别的,整个应用程序都能訪问
HttpSession – 次之,会话级别的,在当前的浏览器中都能訪问[不论是在同一浏览器开多少窗体,都能够訪问]。可是换个浏览器就不行了。就必须又一次创建session
HttpServletRequest –范围最小,请求级别,请求结束,变量的作用域也结束[也就是仅仅是一次訪问,訪问结束,这个也结束
po层实现serializable,目的:对象 转化为字节,方便持久化和传输。序列化实体对象主要是为了方便网络传输。因为网络传输数据只能是二进制流,序列化能够将实体转化为二进制流传输,同时还可通过反序列化重新将二进制流还原成实体对象。
VO,PO区别
VO,PO 它们的关系相互独立,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持久层也就独立出来了,它不会受到任何业务的干涉,业务逻辑层也独立开来,它不会受到数据持久层的影响,业务层关心的只是业务逻辑的处理
VO,值对象(Value Object),PO,持久对象(Persisent Object),它们都是由一组属性和属性的get和set方法组成。
- VO是用new关键字创建,由GC回收的。 PO则是向数据库中添加新数据时创建,删除数据库中数据时削除的。且它只能存活在一个数据库连接中,断开连接即被销毁。
- VO是值对象,它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。PO则是有状态的,每个属性代表其当前的状态。它是物理数据的对象表示。
- VO的属性是根据当前业务的不同而不同的,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称。PO的属性是跟数据库表的字段一一对应的