戚权20201105

知识点:

cookie

Cookie是一小段文本信息,伴随着用户的请求,在Web服务器和客户端浏览器之间传递.浏览器端的会话技术,它通过在浏览器中记录一些服务器传递过来的数据,解决会话从什么时候开始,到什么时候结束。

public class Cookie implements Cloneable, Serializable

Cookie 的分类

  • 会话级别的Cookie:默认的.关闭了浏览器Cookie就销毁了.
  • 持久级别的Cookie:可以设置指定cookie在浏览器的存活时间 , Cookie就不会随着浏览器关闭而销毁了.

方法

void setMaxAge(int expiry) :设置cookie的最大生存时间(单位:秒),超过了该时间后Cookie会自动销毁,当时间为0的时候 , 意思为立即删除此Cookie

注意事项

在上面的案例中我们给cookie添加数据的时候需要注意数据的内容,在cookie值中不能直接使用分号(;)、逗号(,)、空格。

那么怎么样在cookie中使用这些非法字符呢?我们可以将以上字符转换成允许的形式存储就可以了,然后在读取时再转换回来(解码)就可以了。

Session

session的钝化和活化

钝化是指 session 还未过期,但服务器( tomcat )正常停止(如果因为异常等原因导致停止是不会执行的)。这时候服务器会将未失效的 session 保存到服务器的 work 目录下,生成一个文件SESSIONS.ser 。当服务器再次启动是会将这里面的 seesion 重新加载进来,这个过程就叫做活化。如果 session 在钝化过程中失效,也不会立即失效,而是在服务器再次启动是失效。

ServletContext

针对一个WEB应用。一个WEB应用只有一个 ServletContext 对象,使用该对象保存的数据在整个WEB应用中都有效。

  • 创建:服务器启动的时候.
  • 销毁:服务器关闭的时候或者项目移除的时候.

HttpSession

针对一次会话。使用该对象保存数据,一次会话(多次请求)内数据有效。

  • 创建:可以暂且认为在服务器第一次调用 getSession() 的时候.服务器创建 session 的对象.因为session 销毁后,再次调用 getSession() 的时候也会创建.
  • 销毁:
    • 非正常关闭服务器
    • Session过期了,默认时间是30分钟.
    • 手动调用session的invalidate的方法

HttpServletRequest

针对一次请求。使用该对象保存数据,一次请求(一个页面,如果是请求转发多个页面)内数据有效

  • 创建:客户端向服务器发送一次请求
  • 销毁:服务器为这次请求作出响应之后,销毁request

总结

几天学习的新知识很少,但是我们做了一个登陆界面,结合了前段时间的知识

标签

评论

this is is footer