CookieUtils
package com.kuang.utils;
import javax.servlet.http.Cookie;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
public class CookieUtils {
public static String getCookieByName(Cookie[] cookies,String name) throws UnsupportedEncodingException {
if(cookies!=null){
for (Cookie cookie : cookies) {
if(name.equals(cookie.getName())){
return URLDecoder.decode(cookie.getValue(),"utf-8");
}
}
return null;
}else{
return null;
}
}
}
cookieDemo
package com.kuang.cookie;
import com.kuang.utils.CookieUtils;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
@WebServlet("/time")
public class CookieDemo01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
Cookie[] cookies = req.getCookies();
String time = CookieUtils.getCookieByName(cookies,"lastLoginTime");
if(time!=null){
out.write("上次访问时间为:"+time);
}else {
out.write("这是你第一次访问此网站");
}
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String nowTime = format.format(date);
out.write("本地时间:"+nowTime);
resp.addCookie(new Cookie("lastLoginTime", URLEncoder.encode(nowTime,"utf-8")));
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
Filter
package com.kuang.cookie;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter("/time")
public class Filter implements javax.servlet.Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
resp.setContentType("text/html;charset=utf-8");
req.setCharacterEncoding("utf-8");
System.out.println("请求经过了过滤器");
chain.doFilter(req,resp);
System.out.println("响应经过了过滤器");
}
@Override
public void destroy() {
}
}