发表于: 2017-10-12 23:52:02
2 678
今天完成的事
上午查了一下工具类怎么使用,不会用啊、没查到 索性硬着头皮上了
登录页面的代码
登录验证的代码
测了一下 可以照常使用
学习Session
session是解决http协议无状态问题的服务端解决方案,它能让客户端和服务端一系列交互动作变成一个完整的事务,能使网站变成一个真正意义上的软件
它是通过服务器来保持状态的。由于Session这个词汇包含的语义很多,因此需要在这里明确一下 Session的含义。首先,我们通常都会把Session翻译成会话,因此我们可以把客户端浏览器与服务器之间一系列交互的动作称为一个 Session。从这个语义出发,我们会提到Session持续的时间,会提到在Session过程中进行了什么操作等等;其次,Session指的是服务器端为客户端所开辟的存储空间,在其中保存的信息就是用于保持状态。从这个语义出发,我们则会提到往Session中存放什么内容,如何根据键值从 Session中获取匹配的内容等。要使用Session,第一步当然是创建Session了。那么Session在何时创建呢?当然还是在服务器端程序运行的过程中创建的,不同语言实现的应用程序有不同创建Session的方法,而在Java中是通过调用HttpServletRequest的getSession方法(使用true作为参数)创建的。在创建了Session的同时,服务器会为该Session生成唯一的Session id,而这个Session id在随后的请求中会被用来重新获得已经创建的Session;在Session被创建之后,就可以调用Session相关的方法往Session中增加内容了,而这些内容只会保存在服务器中,发到客户端的只有Session id;当客户端再次发送请求的时候,会将这个Session id带上,服务器接受到请求之后就会依据Session id找到相应的Session,从而再次使用之。正式这样一个过程,用户的状态也就得以保持了。
session对象的创建时机
在程序中第一次调用request.getSession()方法时就会创建一个新的Session,可以用isNew()方法来判断Session是不是新创建的
session对象的销毁时机
session对象默认30分钟没有使用,则服务器会自动销毁session,在web.xml文件中可以手工配置session的失效时间
<!-- 设置Session的有效时间:以分钟为单位-->
<session-config>
<session-timeout>15</session-timeout>
</session-config>
1.设置session
HttpSession session = request.getSession();
session.setAttribute("usrid", userid);
2.取得session
HttpSession session = request.getSession();
session.getAttribute("usrname");
看资料的时候遇到了对象序列化的概念,去了解了一下
序列化:把Java对象转换为字节序列的过程。
为什么要序列化?
Java平台允许我们在内存中创建可复用的Java对象,但只有当JVM(Java虚拟机)处于运行时,这些对象才可能存在,也就是这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存指定的对象(持久化对象),并在将来重新读取被保存的对象。Java对象序列化就实现了该功能。
遇到的问题:
使用cookie工具类的时候没有cookie出现空指针错误,检查了很久的逻辑才发现是判断条件填错了
原来是if(cookies != null)改了一下
if(CookieUtils.getCookieValue(request,name) != null)
学了session但是不知道怎么用,没有需求也没方向想思路,明天想个小需求出来 实在不行就完成session免登录
收获:终于把cookie弄完了,而且封装的工具类很好用 开始session
明天的计划:
完成session代码操作
任务进度:任务五步骤一
任务开始时间:2017-10-2
预计demo时间:2017-10-10
延期5天至15号
禅道:http://task.ptteng.com/zentao/project-task-276.html
评论