Cookie和Session

本文详细介绍了Cookie和Session的概念及使用方法,包括它们的主要属性、如何设置及修改、区别对比等内容,并探讨了在不同场景下如何选择使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie是客户端记录的数据,Session是服务器端记录的数据,用来跟踪整个服务器与客户的会话。

Cookie的主要属性:String name,cookie名;Object value,cookie值;int maxAge,cookie的有效期。

maxAge:正值表示多久后失效,负值表示关闭窗口即失效,0 表示删除。

//MAX_VALUE是2的31次方,基本是永久有效
Cookie cookie = new Cookie("username","cyj");
cookie.setMaxAge(Integer.MAX_VALUE);
response.addCookie(cookie); // 输出到客户端
//相当于删除
Cookie cookie = new Cookie("username","cyj"); // 新建Cookie
cookie.setMaxAge(0); 
response.addCookie(cookie); // 必须执行这一句

response对象提供的Cookie操作方法只有一个添加操作add(Cookie cookie)。要想修改Cookie只能使用一个同名的Cookie来覆盖原来的Cookie,达到修改的目的。删除时只需要把maxAge修改为0即可。新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。

注意:浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用来判断Cookie是否过期。

Session的主要方法

void setAttribute(String attribute, Object value):设置Session属性,value参数可以为任何Java Object;

String getAttribute(String attribute):返回session属性;

removeAttribute(String attribute):移除Session属性;

String getId():返回Session的ID,该ID由服务器自动创建,不会重复;

int getMaxInactiveInterval():返回Session的超时时间,单位为秒,超过该时间没有访问,服务器认为该Session失效;

void setMaxInactiveInterval(int second):设置Session的超时时间;

void invalidate():使该Session失效。

URL地址重写:如果客户端不支持或者禁用Cookie,HttpServletResponse类提供了encodeURL(String url)实现URL地址重写,服务器能够解析重写后的URL获取Session的id,依然跟踪会话。

<td>
    <a href="<%=response.encodeURL("index.jsp?c=1&wd=Java") %>"> 
    Homepage</a>
</td>
//重写后输出为
<td>
    <a href="index.jsp;jsessionid=0CCD096E7F8D97B0BE608AFDC3E1931E?c=1&wd=Java">Homepage</a>
</td>
//如果是页面重定向(Redirection)
if(“administrator”.equals(userName)) {
    response.sendRedirect(response.encodeRedirectURL(“administrator.jsp”));
    return;
}

Cookie与Session区别:

  • cookie数据存放在客户的浏览器上,session数据放在服务器上;
  • cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session;
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用cookie;
  • 单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K。
内容概要:本文档详细介绍了基于MATLAB实现多目标差分进化(MODE)算法进行无人机三维路径规划的项目实例。项目旨在提升无人机在复杂三维环境中路径规划的精度、实时性、多目标协调处理能力、障碍物避让能力路径平滑性。通过引入多目标差分进化算法,项目解决了传统路径规划算法在动态环境多目标优化中的不足,实现了路径长度、飞行安全距离、能耗等多个目标的协调优化。文档涵盖了环境建模、路径编码、多目标优化策略、障碍物检测与避让、路径平滑处理等关键技术模块,并提供了部分MATLAB代码示例。 适合人群:具备一定编程基础,对无人机路径规划多目标优化算法感兴趣的科研人员、工程师研究生。 使用场景及目标:①适用于无人机在军事侦察、环境监测、灾害救援、物流运输、城市管理等领域的三维路径规划;②通过多目标差分进化算法,优化路径长度、飞行安全距离、能耗等多目标,提升无人机任务执行效率安全性;③解决动态环境变化、实时路径调整复杂障碍物避让等问题。 其他说明:项目采用模块化设计,便于集成不同的优化目标动态环境因素,支持后续算法升级与功能扩展。通过系统实现仿真实验验证,项目不仅提升了理论研究的实用价值,还为无人机智能自主飞行提供了技术基础。文档提供了详细的代码示例,有助于读者深入理解实践该项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值