Cookie&&Session
一. Cookie
1. 新建web项目
- 添加maven包
- 创建类
- 重写doget,dopost方法
- 设置字符编码
2. java代码
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//解决浏览器输出乱码
resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
// 从服务器获取Cookie
Cookie[] cookies = req.getCookies();
if (cookies != null) {
out.write("上次访问时间为:");
for (Cookie cookie : cookies) {
System.out.println(cookie.getName());
if (cookie.getName().equals("lastLoginTime")){
long lastLoginTime = Long.parseLong(cookie.getValue());
Date date = new Date(lastLoginTime);
//输出为中文
out.write(date.toLocaleString());
}
}
} else {
out.write("这是你第一次访问本站");
}
// 返回服务器一个cookie
Cookie cookie = new Cookie("lastLoginTime",System.currentTimeMillis() + "");
// 自定义有效期为一天
cookie.setMaxAge(24*60*60);
resp.addCookie(cookie);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
二. Session(*)
1. 字面解释:会话控制,存储特定用户会话所需的属性及配置信息
当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话
2. 代码
resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
// 得到session
HttpSession session = req.getSession();
// 存入一些数据
session.setAttribute("yorha","111");
// 获取Session的id
String id = session.getId();
// 判断是否为新建的
if (session.isNew()){
resp.getWriter().write("是");
}else {
resp.getWriter().write("不是呢,是新建的:"+id);
}
3. 效果图
解释:浏览器在打开时就会创建一个session
点一下红圈,清空缓存
重新加载网页
此时得到的就是新建的session
标签:Session,resp,session,cookie,Cookie,out From: https://www.cnblogs.com/yorha/p/17035711.html