Cookieで前回の訪問時間を覚える
3324 ワード
コードステップ
サーバ内のサーブレットは、lastTimeというクッキーがあるかどうかを判断します.
1.はい、初めてではありません 1.データに応答して、お帰りなさい.前回の訪問時間は2019年11月06日22時37分 です. 2.cookie、lasttime=2019年11月16日22時37分 2、いいえ、初めての訪問です 1.データに応答して、こんにちは、 への初アクセスを歓迎します. 2.クッキー、LastTime= 注意:tomcat 8以降、クッキーは中国語データをサポートします.ただし、特殊文字はサポートされていないので、URL符号化記憶、URL復号解析符号化:URLEncoderを使用することを推奨する.Encode(文字列、utf-8)復号:URLDecoder.decode(文字列,「utf-8」)
サーバ内のサーブレットは、lastTimeというクッキーがあるかどうかを判断します.
1.はい、初めてではありません
@WebServlet("/cookieTest")
public class CookieTest extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//
response.setContentType("text/html;charset=utf-8");
//1. cookie
Cookie[] cookies = request.getCookies();
boolean flag=false;// cookie LastTime
//2. cookie
if (cookies != null && cookies.length>0){
for (Cookie cookie : cookies) {
//3. cookie
String name = cookie.getName();
//4. cookie lastTime
if("lastTime".equals(name)){
// cookie,
flag=true;// last TIME cookie
//
// cookie value,
String value = cookie.getValue();
//URL
value = URLDecoder.decode(value,"utf-8");
response.getWriter().write(" , :" + value +"");
// cookie value
// , cookie , cookies
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss");
String str_date = sdf.format(date);
//URL cookie
str_date = URLEncoder.encode(str_date, "utf-8");//
cookie.setValue(str_date);
// cookie
cookie.setMaxAge(60*60*24);//
response.addCookie(cookie);
/* //
// cookie value,
String value = cookie.getValue();
//URL
value = URLDecoder.decode(str_date,"utf-8");
response.getWriter().write(" , :" + value +"");*/
break;
}
}
}
if(cookies == null || cookies.length == 0 || flag==false){
// ,
// cookie value
// , cookie , cookies
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss");
String str_date = sdf.format(date);
//URL cookie
str_date = URLEncoder.encode(str_date, "utf-8");//
Cookie cookie = new Cookie("lastTime", str_date);
// cookie
cookie.setMaxAge(60*60*24);//
response.addCookie(cookie);
response.getWriter().write(" , ");
}
}