session和cookies的区别

Session是服务器端的技术,cookie是客户端的技术。

下面写一个cookies来显示上次浏览时间的例子。

packagecom.fish;

importjava.io.IOException;

importjava.io.PrintWriter;

importjava.util.Date;

importjavax.servlet.ServletException;

importjavax.servlet.http.Cookie;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

public class CookiesDemo extends HttpServlet {

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException {

response.setCharacterEncoding("UTF-8");//

response.setContentType("text/html;charset=UTF-8");//这些是控制字符乱码的

PrintWriter outPrintWrit =response.getWriter();

outPrintWrit.print("上次访问时间:");

Cookiecookie = new Cookie("lasttime", System.currentTimeMillis()+"");//第一次得设置cookie的名字,和内容。

cookie.setMaxAge(60 * 60 * 24 * 30);//设置cooki的有效时间

cookie.setPath("/cookiesdemo");//设置cookie的显示路径

response.addCookie(cookie);//将cookie添加到响应中

Cookie[] cookies = request.getCookies();//你想接受cookie必须先弄一个cookie数组接收cookie

for (int i = 0; cookies !=null && i < cookies.length; i++) {//第一次cookies是没有值的。所以要判断。

if (cookies[i].getName().equals("lasttime")) {//获取你以前的cookies

long c = Long.parseLong(cookies[i].getValue());

Date date = new Date(c);

outPrintWrit.print(date.toLocaleString());

}

;

}

}

}

细节:一个浏览器一般只存300个cookie,每个站点一般在30个,信息大小,一般在4kb,而清除cookie技术是在创建一个名字相同的cookie。让他的cookie的存在时间为0。那么cookie就没有了。而且服务器关闭不影响cookie。不同的浏览器的cookie也是没有影响的。

2session是会话的意思,. 一个浏览器只有一个Session, 浏览器关闭Session就消失了.其实这种方法是不正确的.

要了解Session首先要知道一个概念:Session的销毁只有两种情况:第一:session调用了 session.invalidate()方法. 第二:前后两次请求超出了session指定的生命周期时间. 其中Session的生命周期时间可以在web.xml配置. 默认30分钟 在web.xml可以做如下配置:

一般典型的用例就是购物车。

一般用法。

HttpSession session2=request.getSession();

session2.setAttribute(name,value);//现设置session的名字,和值值可以是任何类型的。

session2.getAttribute(name);//可以在别的页面通过相同的名字访问session

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值