MVC概念、Cookie和Session

MVC概念

MVC 全称:Model 模型 View 视图 Control 控制器

VIew 视图:只负责数据和界面的显示,不接受任何与显示数据无关的代码,便于程序员和美工的分工合作—— JSP/HTML

Control 控制器:只负责接受请求,调用业务层的代码处理请求,然后派发页面,是一个“调度者”的角色——Servlet
转到某个页面。或者是重定向到某个页面

Model 模型:将与业务逻辑相关的数据封装为具体的 JavaBean类,其中不掺杂任何与数据处理相关的代码—— JavaBean/domain/entity/pojo

Cookie和Session

什么是 Cookie

Cookie 是服务器通知客户端保存键值对的一种技术
客户端有了 Cookie 后,每次请求都发送给服务器
每个 Cookie 大小不能超过 4kb

Cookie的创建

protected void creatCookie(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
    //创建Cookie对象
    Cookie cookie = new Cookie("key1","value1");
    //通知客户端保存Cookie
    resp.addCookie(cookie);
}

Cookie的获取

服务器获取客户端的 Cookie 只需要一行代码,req.getCookies( ) 返回 Cookie[ ]
获取后可遍历显示也可通过if判断单独显示

Cookie值的修改

方案一:
1、先创建一个要修改的同名的 Cookie 对象
2、在构造器同时赋于新的 Cookie值
3、调用 response.addCookie( Cookie );

Cookie cookie = new Cookie("key1","newValue1");
resp.addCookie(cookie);

方案二:
1、先查找到需要修改的 Cookie 对象
2、调用 setValue( )方法赋于新的 Cookie 值。
3、调用 response.addCookie( ) 通知客户端保存修改

//通过遍历循环查找到 要修改的 Cookie
cookie.setValie("newValue2");
//保存
resp.addCookie(cookie);

Cookie生命控制

Cookie 的生命控制指的是如何管理 Cookie 什么时候被销毁(删除)

setMaxAge( )
正数表示在指定的秒数后过期
负数表示浏览器关闭Cookie就会被删除(默认值是-1)
0表示马上删除Cookie

Cookie有效路径Path的设置

Cookie的Path的属性可以有效的过滤哪些Cookie可以发送给服务器,那些不发
Path属性通过请求的地址来进行有效的过滤

Cookie cookie = new Cookie();
Cookie.setPath(req.getContextPath()+"/abc");
resp.addCookie(cookie);

Cookie的免用户名登陆

需要把用户名保存为Cookie发送给服务器
在获取用户名和密码后 可将获取的信息包装为Cookie并设置生命周期

Session会话

什么是Sesiion会话?

1、Session就是一个接口 (HttpSession)
2、Seesion就是会话。是用来维护一个客户端和服务器之间关联的一种技术
3、每个客户端都有自己的一个Session会话。
4、Session 会话中,我们经常用来保存用户登陆之后的信息

如何创建Session和获取(id号,是否为新)

如何创建和获取Session,它们的API是一样的。
request.getSession( )
第一次调用是:创建Session会话
之后调用都是:获取前面创建好的Session会话对象

isNew( ); 可以判断到底是不是刚创建出来的(新的)
true 新的
false 之前创建的

每个会话都有一个身份号,也就是 ID 值。而且这个 ID 值是唯一的
getid( ) 得到 Session 的 id 值

Session域数据的存取

req.getSession( ).setAttribute(“key1”,“value1”); 存

Object key1 = req.getSession( ).getAttribute(“key1”); 取

Session 生命周期控制

public void setMaxInactiveInterval(int interval) 设置 Session 的超时时长,Session就会被销毁

值为正数表示超时时长,负数表示永不超时

public void getMaxInactiveInterval(int interval) 获取 Session 的超时时长
(默认超时时长1800秒)
因为在 Tomcat服务器中的配置文件 web.xml 中有默认以下的配置,它就表示配置了当前 Tomcat 服务器下所有的

Session 超时配置默认时长为:30分钟

		<session-config>

		<session-timeout>30</session-timeout>

</session-config>

invalidate( ) 设置Session超时

浏览器和Session之间关联的技术内幕

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值