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

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

Java Web實現自動登陸功能

瀏覽:9日期:2023-12-05 14:07:06

Java對自動登陸功能的簡單實現,僅用到了servlet和一個filter。第一次寫博文,如有不足的地方,敬請指正,謝謝。

登陸界面

<%@ page language='java' import='java.util.*' pageEncoding='UTF-8'%><html> <head> <title>登陸頁面</title> </head> <body> <form action='<%=request.getContextPath()%>/LoginAction' method='post'> 用戶名:<input type=“text” name='name' > <br> 密 碼:<input type=“password” name='passwd' > <br> 保存時間<select name='savetime'> <option value='7'>一 周</option> <option value='30'>一個月</option> </select><br> <input type='submit' value='登陸'> </form> </body></html>

填寫完用戶名和密碼后選擇保存時間。這里就沒有設置不保存選項,默認保存時間是一周。

LoginBiz類,負責校驗用戶輸入的用戶名和密碼是否正確。

package com.autologin; public class LoginBiz { static boolean isValid(String name,String passwd){ if(name.equals('admin')&&passwd.equals('1234')){ return true; }else{ return false; } }}

本類為LoginAction提供服務,相當于Biz層。

LoginAction類,負責頁面跳轉。

package com.autologin; import java.io.IOException;import java.io.PrintWriter; import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; public class LoginAction extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name=request.getParameter('name'); String passwd=request.getParameter('passwd'); String savetimeString=request.getParameter('savetime'); if(new LoginBiz().isValid(name, passwd)){ int savetime=Integer.parseInt(savetimeString)*24*3600; Cookie loginInfo=new Cookie('loginInfo',name+','+passwd); loginInfo.setMaxAge(savetime); response.addCookie(loginInfo); response.sendRedirect('/TestWeb/success.jsp'); }else{ response.sendRedirect('/TestWeb/error.jsp'); } } }

用戶第一次登陸時會調用此servlet來驗證用戶信息和設置cookie。根據登陸時的設置的時間計算出秒數,然后把保存有用戶名和密碼的Cookie(loginInfo)add到客戶端。為了方便用戶名和密碼設置在了一個cookie中,用','隔開。(真正項目中,當然要給密碼做加密處理。)

如果第一次成功登陸,再次請求login.jsp時即可直接跳轉到success頁面,無需再次輸入用戶名和密碼,這里就用到了下面這個Filter。

CheckFilter類

package com.autologin; import java.io.IOException; import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; public class CheckFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest)arg0; HttpServletResponse response=(HttpServletResponse)arg1; Cookie[] cookies=request.getCookies(); String name = ''; String passwd = ''; if(cookies!=null){ for(Cookie coo:cookies){ if(coo.getName().equals('loginInfo')){ String[] info=coo.getValue().split(','); name=info[0]; passwd=info[1]; } } } //如果在cookie中得到保存的用戶名和密碼,驗證正確后,直接轉到success頁 if(new LoginBiz().isValid(name, passwd)){ response.sendRedirect('/TestWeb/success.jsp'); }else{ arg2.doFilter(request, response); } } public void init(FilterConfig arg0) throws ServletException { } }

當用戶請求login.jsp頁面時,首先會通過此Filter,這時會嘗試從請求信息的Cookie中得到用戶名和密碼,如果是第一次登陸沒有設置過Cookie,那么會把登陸請求交給LoginAction處理。如果之前成功登陸過,就已保存有Cookie,獲取到正確的用戶名和密碼并驗證成功(安全起見,這里再次驗證)后直接跳轉到success頁面,此時就不經過LoginAction了。配置文件如下:

<servlet> <servlet-name>LoginAction</servlet-name> <servlet-class>com.autologin.LoginAction</servlet-class> </servlet> <filter> <filter-name>CheckFilter</filter-name> <filter-class>com.autologin.CheckFilter</filter-class> </filter> <servlet-mapping> <servlet-name>LoginAction</servlet-name> <url-pattern>/LoginAction</url-pattern> </servlet-mapping> <filter-mapping> <filter-name>CheckFilter</filter-name> <url-pattern>/login.jsp</url-pattern></filter-mapping>

第一次登陸成功后,chrome保存的Cookie信息

Java Web實現自動登陸功能

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

標簽: Java
相關文章:
主站蜘蛛池模板: 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 兰州牛肉面加盟,兰州牛肉拉面加盟-京穆兰牛肉面 | 营养师网,营养师考试时间,报名入口—网站首页 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 范秘书_懂你的范文小秘书 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 事迹材料_个人事迹名人励志故事 学生作文网_中小学生作文大全与写作指导 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 周口市风机厂,周鼓风机,河南省周口市风机厂 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 沈阳庭院景观设计_私家花园_别墅庭院设计_阳台楼顶花园设计施工公司-【沈阳现代时园艺景观工程有限公司】 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | 昆明化妆培训-纹绣美甲-美容美牙培训-昆明博澜培训学校 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 广州办公室设计,办公室装修,写字楼设计,办公室装修公司_德科 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 法钢特种钢材(上海)有限公司 - 耐磨钢板、高强度钢板销售加工 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 400电话_400电话申请_888元包年_400电话办理服务中心_400VIP网 | 必胜高考网_全国高考备考和志愿填报信息平台 | 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | 翰墨AI智能写作助手官网_人工智能问答在线AI写作免费一键生成 |