服务端准备Cookie:
response.addCookie(Cookie cookie)
客户端获取cookie:request.getCookies();
不能直接获取某一个单独对象,只能一次性将全部得cookie拿到
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username=request.getParameter("username");
String password=request.getParameter("password");
User user=us.login(new User(null,username,password,null));
Cookie cookie = new Cookie("name",username);
response.addCookie(cookie);
if(user==null) {
//response.setContentType("text/html;charset=utf-8")//将cookie传向客户端,在客户端的任意jsp页面都可以调用cookie
request.getRequestDispatcher("index.jsp").forward(request, response);
}else {
response.sendRedirect(request.getContextPath()+"/success.jsp");
}
}
}
Cookie[] cookies=request.getCookies();
for(Cookie cookie :cookies){
if(cookie.getName().equals("name")){
uname=cookie.getValue();
}
}
session机制:
客户端第一次请求服务器时,服务端会产生一个sesion对象用于保存该客户的信息,并且每个session对象都会有一个唯一的sessionId;服务端会产生一个cookie,并且该cookie的name=JSESSIONID,value=服务端sessionId的值;
然后服务端会在响应客户端的同时,将该cookie发送给客户端,至此客户端就有了一个存有sessionId的cookie,就可以和服务端的session一一对应
session的几个点:
1、session存储在服务端
2、session是在同一个用户请求时共享
session方法:
String getId():获取sessionId
boolean isNew():判断是否新用户
void invalidate():使session失效
setAttribute()
getAttribute();
void setMaxInactiveInterval(秒):设置最大有效非活动时间,比如超过这个时间就重新登录