}
2LoginCl
package com.xueye.testCookie;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
public class LoginCl extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(\ request.setCharacterEncoding(\ PrintWriter out = response.getWriter(); String val=request.getParameter(\ System.out.println(\ String id=request.getParameter(\ String pwd=request.getParameter(\ if(val!=null&&val.equals(\ //保存用户的信息的id Cookie ck=new Cookie(\ ck.setMaxAge(7*2*24*3600); //回写给浏览器 response.addCookie(ck); request.getRequestDispatcher(\ }else if(val!=null&&val.equals(\ //先得到cookie Cookie []ck=request.getCookies(); for (Cookie cookie : ck) { cookie.setMaxAge(0);
}
response.addCookie(cookie);//一定要加上这句话
}
}
request.getRequestDispatcher(\}else{ request.getRequestDispatcher(\}
//out.println(request.getParameter(\
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
this.doGet(request, response);
3Ok
package com.xueye.testCookie;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
public class Ok extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(\ request.setCharacterEncoding(\ PrintWriter out = response.getWriter(); out.println(\返回重新登陆\ }
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
this.doGet(request, response);
与cookie相关的函数
1 2 3 4 5
public cookie(String name,String value) setValue与getValue
setMaxAge与getMaxAge getName方法
response.addCookie
Session
? 思考:
1) 大家都在网上买过商品,张三和李四他们购买的商品是不一样的,他们的购物车中
显示的商品也是不一样的,这是怎么实现的? 2) 不用的用户登录网站后,不管该用户浏览该网站的哪个页面,都可显示登录人的名
字,同样可以随时查看自己购物车中的商品
解决之道-session技术
Session是服务端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个共享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各种的数据放到各自的session中,当用户再次访问服务器中的其他web资源的时候,其他web资源再从用户各自的session中取出数据为用户服务
Session的工作原理
Session可以用来做什么?
1 2 3 4
网上商城的购物车 保存登陆用户的信息
将某些信息放到Session中供同一用户的各个页面使用 防止非法登陆到某个页面….
如何理解session
Session的基本使用
如果同一个用户浏览器,向session设置一个属性的时候,如果名字相同了,会出现什么情况?
答:会替换原来的值!
1 得到一个session HttpSession hs=request.getSession()这里的括号中可以写true或者false
或者不写,写true的时候和不写是一样的,表示没有Session就会给我们创建一个Session,写成false的话,表示没有Session的话就算了,不自动创建 2 向session中添加属性 hs.setAttribute(“”,obj);
3 从session中得到某个属性String name=hs.getAttribute(); 4 从session中删除某个属性hs.removeAttribute(String name);