电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java web實現自動登錄

瀏覽:16日期:2023-12-05 13:08:29

本文實例為大家分享了java web實現自動登錄的具體代碼,供大家參考,具體內容如下

實現思路

1、在登錄的 api 或 servlet中驗證用戶名密碼2、如果驗證成功,則把該用戶信息存在 服務器 的 session 緩存中,并把 可以表示該用戶的 信息存在 cookie中返回。例如:

//存儲 session request.getSession().setAttribute('userBean', queryUser); Cookie cookie = new Cookie('auto_login', username + '#' + password);// 創建 cookie cookie.setMaxAge(60*60*24*7); //設置時間為 一周 cookie.setPath(request.getContextPath()); response.addCookie(cookie);

3、創建一個過濾器,攔截所有的用戶請求4、在該過濾器中做相應的邏輯處理,如下:

獲取 服務器 session 緩存中同名的session。例如: UserBean userBean = (UserBean) request.getSession().getAttribute('userBean'); 驗證是否為空,不為空說明用戶登陸之后沒有關閉瀏覽器 ,直接讓請求通過過濾器,并定位到相應界面 如果session為空,說明用戶 從上一次登陸后關閉過瀏覽器,則 獲取 用戶請求中的cookie,驗證是否有我們定義的可以標識用戶的特殊cookie。 如果沒有改cookie ,則直接返回登陸界面。 如果有該cookie,則通過cookie中的信息查新到用戶的信息,并跳轉到用戶想跳轉的界面 核心代碼示例

servlet 登陸邏輯代碼

package com.wl.servlet;import com.wl.dao.UserDao;import com.wl.dao.daoImpl.UserDaoImpl;import com.wl.domain.UserBean;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.sql.SQLException;@WebServlet(name = 'LoginServlet')public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {try { String username = request.getParameter('username'); String password = request.getParameter('password'); String autoLogin = request.getParameter('auto_login'); System.out.println(username + ' = ' + password + ' ' + autoLogin); UserBean userBean = new UserBean(); userBean.setPassword(password); userBean.setUsername(username); UserDao userDao = new UserDaoImpl(); UserBean queryUser = userDao.login(userBean); if(queryUser != null){if('on'.equals(autoLogin)){ Cookie cookie = new Cookie('auto_login', username + '#' + password); cookie.setMaxAge(60*60*24*7); cookie.setPath(request.getContextPath()); response.addCookie(cookie);}request.getSession().setAttribute('userBean', queryUser);response.sendRedirect('index.jsp'); }else {request.getSession().setAttribute('errorInfo', '用戶名密碼不正確');request.getRequestDispatcher('login.jsp').forward(request,response); }} catch (SQLException e) { e.printStackTrace();} }}

filter 過濾器核心代碼

package com.wl.filter;import com.wl.dao.UserDao;import com.wl.dao.daoImpl.UserDaoImpl;import com.wl.domain.UserBean;import util.CookieUtil;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import java.io.IOException;import java.sql.SQLException;@WebFilter(filterName = 'AutoLoginFilter')public class AutoLoginFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {HttpServletRequest request = (HttpServletRequest) req;UserBean userBean = (UserBean) request.getSession().getAttribute('userBean');if(userBean != null){ chain.doFilter(req, resp);} else { Cookie[] cookies = request.getCookies(); Cookie auto_login = CookieUtil.findCookie(cookies, 'auto_login'); if(auto_login == null) {chain.doFilter(req,resp); } else {String value = auto_login.getValue();String username = value.split('#')[0];String password = value.split('#')[1];UserBean user = new UserBean();user.setUsername(username);user.setPassword(password);UserDao dao = new UserDaoImpl();try { UserBean login = dao.login(user); request.getSession().setAttribute('userBean', login);} catch (SQLException e) { e.printStackTrace();}chain.doFilter(req, resp); }}chain.doFilter(req, resp); } public void init(FilterConfig config) throws ServletException { }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 活性炭厂家-蜂窝活性炭-粉状/柱状/果壳/椰壳活性炭-大千净化-活性炭 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 日本SMC气缸接头-速度控制阀-日本三菱伺服电机-苏州禾力自动化科技有限公司 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | 动环监控_机房环境监控_DCIM_机房漏水检测-斯特纽 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 户外健身路径_小区健身器材_室外健身器材厂家_价格-浩然体育 | 真空包装机-诸城市坤泰食品机械有限公司 | 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 医院专用门厂家报价-医用病房门尺寸大全-抗菌木门品牌推荐 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 焦作网 WWW.JZRB.COM | 陕西鹏展科技有限公司| 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 |