JavaWeb之七天免登录
【摘要】 准备工具:IntelliJ IDEA 2019.2.3 x64 apache-tomcat-8.5.15实现功能:七天免登录 七天内不用输入账号和密码直接跳转index首页jsp页面部分<%-- Created by IntelliJ IDEA. --%><%@ page contentType="text/html;charset=UTF-8" language="java" %><ht...
准备工具:
IntelliJ IDEA 2019.2.3 x64
apache-tomcat-8.5.15
实现功能:七天免登录 七天内不用输入账号和密码直接跳转index首页
jsp页面部分
<%-- Created by IntelliJ IDEA. --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
<form action="login" method="post">
<input name="name" > <br />
<input name="password" type="password"> <br />
<input type="checkbox" name="check" value="1">7天免登录
<input type="submit" value="登录"> ${msg}
</form>
</body>
</html>
java逻辑部分: 进行一个判断
若账号密码都输对 即可登录跳转登录成功页面
若账号密码都输对 且勾选7天免登录 会生成一个7天时长的cookie
其他情况则登录失败
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
private Map<String, HttpSession> sessions = new HashMap<>();
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("name");
String password = req.getParameter("password");
String check =req.getParameter("check");
// Cookie cookie =new Cookie("username",username);
// Cookie cookie2 =new Cookie("password",password) ;
// cookie.setMaxAge(60 * 60 * 24 * 7);
// resp.addCookie(cookie);
// resp.addCookie(cookie2);
// Cookie[] cookies =req.getCookies();
// for(Cookie cookie3:cookies){
// System.out.println(cookie.getName());
// System.out.println(cookie.getValue());
// }
if ("root".equals(name)&&"root".equals(password)) {
//登录成功
if("1".equals(check)){
Cookie cookie = new Cookie("JSESSIONID",req.getSession().getId());
cookie.setMaxAge(60 * 60 * 24 * 7); //设置cookie七天过期
resp.addCookie(cookie);
} //向request作用域存放session
req.getSession().setAttribute("name",name);
req.getRequestDispatcher("index.jsp").forward(req, resp); //转发
}else{
req.setAttribute("msg","登录失败");
resp.sendRedirect("login.jsp"); //重定向
}
}
}
测试效果如下:
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)