javaweb自动登录(cookie)
来源:互联网 发布:matlab 随机字符串数组 编辑:程序博客网 时间:2024/06/05 15:36
Javaweb中的自动登陆利用cookie实现
首先我们要明确目标,然后设计方法。关于自动登录应该要达到的效果是:登陆时勾选了自动登录复选框之后,再一次访问该页面时不需要再一次点击登陆,直接跳转到登陆之后的界面。
我们需要设计的步骤是:
- 编写登陆jsp文件;
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>login</title></head><!-- 页面的样式文件 --><style type="text/css">body{background-color : #eee;}#first{width:500px;margin:30px auto;}</style><body><div id="first"><form action="loginservlet" method="post" ><table><tr><td>用户名:</td><td><input type="text" name="username"></td></tr><tr><td>密 码:</td><td><input type="password" name="password"></td></tr><tr><td><input type="checkbox" name="check" value="check"/>自动登录<br></td></tr><tr><td><input type="submit" value="确认"></td><td><input type="reset" value="取消"></td></tr></table></form></div></body></html>
- 进行登陆验证;
package king;import java.io.IOException;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;@WebServlet("/loginservlet")//接收表单信息public class loginservlet extends HttpServlet {private static final long serialVersionUID = 1L;String message = ""; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");String value1 = "",value2 = "";Cookie cookie = null;Cookie[] cookies = request.getCookies();//获得Cookie对象数组if(cookies!=null){for(int i = 0;i<cookies.length;i++){cookie = cookies[i];if(cookie.getName().equals("username")){value1 = cookie.getValue();}if(cookie.getName().equals("password")){value2 = cookie.getValue();}}if(value1.equals("admin") && value2.equals("1234")){message = "欢迎您!" + value1 + "再次登录该页面!";request.getSession().setAttribute("message", message);response.sendRedirect("logintest.jsp");return;}else{response.sendRedirect("login.jsp");return;}}else{response.sendRedirect("login.jsp");return;}}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");/**********************自动登录***********************************///获得用户的用户名和密码String username = request.getParameter("username").trim();String password = request.getParameter("password").trim();//Cookie代码if(!username.equals("admin") || !password.equals("1234")){message = "用户名或密码错误,请重试!";request.getSession().setAttribute("message", message);response.sendRedirect("login.jsp");return;}else{//如果用户选中了“自动登陆”复选框,向浏览器发送两个Cookieif(request.getParameter("check")!=null && (request.getParameter("check").equals("check"))){//新建cookieCookie namecookie = new Cookie("username",username);Cookie passwordcookie = new Cookie("password",password);//设置cookie在网页上的最大存活时间namecookie.setMaxAge(60*60);passwordcookie.setMaxAge(60*60);//将cookie对象发送到客户端response.addCookie(namecookie);response.addCookie(passwordcookie);}message = "欢迎"+username+"你已成功登陆!";request.getSession().setAttribute("message", message);response.sendRedirect("logintest.jsp");return;}}}
- 显示页面。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>login_test</title></head><body>${message }</body></html>
以上代码中特别标注的内容需要特别注意。
在浏览器中输入相关的URL:http://localhost:8080/kingsystem/loginservlet
进行相关的验证。
阅读全文
0 0
- javaweb自动登录(cookie)
- JavaWeb-020-Cookie自动登录
- Python 自动登录网站(处理Cookie)
- Http,自动登录(涉及cookie)
- jsp实现自动登录(Cookie机制)
- 实现自动登录Cookie
- cookie自动登录认证
- 实现自动登录Cookie
- Servlet cookie自动登录
- cookie自动登录
- Cookie自动登录认证
- cookie自动登录安全性
- cookie自动登录认证
- cookie实现自动登录
- Cookie自动登录小记
- js自动登录cookie
- 利用cookie自动登录
- Cookie进行自动登录
- Spark性能优化:开发调优篇
- css之outline
- POJ_1990_MooFest_树状数组
- 关于Oracle数据库(PL/SQL)的登录问题的解决-总结
- sql语句case when使用和date_formate()的使用,DATEDIFF(字段1,字段2)获取天数,常用的MYSQL的函数
- javaweb自动登录(cookie)
- 170522 逆向-控制语句的汇编和优化
- rapidjson 使用总结
- Instant Apps是什么和实现原理
- [leetcode]: 401. Binary Watch
- Gym
- 第二行代码第三章笔记
- Redis in Python: Redis的安装
- 2017-5-21.22 C++primer笔记~