1.首先做一个登录的前端页面
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="/testCoolie" method="post">
账号:<input name="username" type="text"><br>
密码:<input name="password" type="password"><br>
<button type="submit">提交</button>
</form>
</body>
</html>
2.Java后端代码
package com.hqyj.gwr.hemework.test1;
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.net.URLDecoder;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
@WebServlet("/testCoolie")
public class TestCoolie extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
//得先去拿到前端的传回的数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//逻辑判段
if ("zhangsan".equals(username)&&"123456".equals(password)){
//设置一个默认未登录的状态
boolean isFirstVisit = false;
//判断用户是否属于第一次登录
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
//判断我们当前是否有cookies
String name = cookie.getName();
if ("lastVisit".equals(name)){
isFirstVisit = true;
//说明我们已经登录了
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatNow = simpleDateFormat.format(new Date());
//得到value
String decode = URLDecoder.decode(formatNow, "utf-8");
response.getWriter().write("欢迎回来,您上次登录的时间为"+decode);
// response.getWriter().write("欢迎回来,您上次登录的时间为");
}
}
if(!isFirstVisit) {
response.getWriter().write("欢迎您,这是你第一登录");
//说明是第一次登录
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatNow = simpleDateFormat.format(new Date());
//创建一个新的cookie
String encode = URLEncoder.encode(formatNow, "utf-8");
Cookie cookie1 = new Cookie("lastVisit", encode);
response.addCookie(cookie1);
}else {
request.setAttribute("msg","用户名密码不正确");
// response.sendRedirect("/login1.jsp");
request.getRequestDispatcher("/login1.jsp").forward(request,response);
}
}
}
3.运行截图