自动登录代码

package cn.lijun.web;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import cn.lijun.domain.User1;
import cn.lijun.service.UserService;

public class LoginServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
HttpSession se = request.getSession();
//接受数据
String username = request.getParameter("username");
String password = request.getParameter("password");
UserService ser = new UserService();
User1 user=null;
try {
user= ser.login(username,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(user!=null){
//登录尘成功 判断是否勾选
String autoLogin = request.getParameter("autoLogin");
if(autoLogin!=null){
Cookie cookie_username= new Cookie("cookie_username", user.getUsername());
Cookie cookie_password= new Cookie("cookie_password", password);
//设置cookie持续化时间
cookie_username.setMaxAge(60*60*100);
cookie_password.setMaxAge(60*60*100);
// 设置路径
cookie_username.setPath(request.getContextPath());
cookie_password.setPath(request.getContextPath());
//发送cookie
response.addCookie(cookie_username);
response.addCookie(cookie_password);
}
//将登录的用户存储到session域中
se.setAttribute("user", user);
//重定向 地址栏发生变化
response.sendRedirect(request.getContextPath());
}else{
request.setAttribute("loginInfo", "用户名或者密码错误");
//转发 地址栏不变
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

转载于:https://www.cnblogs.com/lijun6/p/10531476.html

Cookie自动登录是指用户在第一次登录网站时,服务器会生成一个带有唯一标识符的cookie,保存在用户的浏览器中。之后,当用户再次访问该网站时,浏览器会自动带上该cookie,完成自动登录。以下是一个示例代码: ```python from flask import Flask, request, make_response, redirect app = Flask(__name__) app.secret_key = 'your_secret_key' # 设置一个密钥用于加密cookie @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] # 验证用户名和密码是否正确 if username == 'admin' and password == 'password': response = make_response(redirect('/index')) # 设置cookie并设置过期时间为30天 response.set_cookie('username', username, max_age=30 * 24 * 60 * 60) return response else: return 'Invalid username/password' else: return ''' <form action="/login" method="post"> <p><input type="text" name="username"></p> <p><input type="password" name="password"></p> <p><button type="submit">Login</button></p> </form> ''' @app.route('/index') def index(): # 从cookie中获取用户名 username = request.cookies.get('username') if username: return 'Hello, {}'.format(username) else: return redirect('/login') if __name__ == '__main__': app.run() ``` 以上代码使用了Flask框架来实现自动登录功能。当用户提交用户名和密码时,如果验证通过,服务器会将用户名保存在cookie中并返回一个重定向到`/index`页面的响应。在`/index`页面中,服务器会从cookie中获取用户名并返回欢迎信息。如果用户未登录,则会重定向到`/login`页面。需要注意的是,为了安全起见,保存在cookie中的信息应该加密处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值