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

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

Cookie在Java中的使用

瀏覽:122日期:2022-08-12 11:44:08
目錄什么是CookieCookie的必要Cookie如何工作模擬用戶登錄什么是Cookie

在現實生活中,當顧客第一次在超市購物,通常服務員會詢問是否辦理一張會員卡來積分以便日后折扣等福利活動。會員卡會記錄顧客的姓名、積分、消費記錄等信息,如果顧客要參與超市的福利活動等都需要提供會員卡,服務員在后臺刷卡查詢即可知道是哪個用戶在使用會員卡。

現在將現實生活中的案例中的角色互換一下。

當用戶沒有在Web服務器登記過用戶信息,而使用網站提供的需登錄的服務時,服務器會告知瀏覽器跳轉到登陸頁面進行用戶信息的登記操作,登錄完成之后,瀏覽器向服務器發起一次登陸請求,服務器將用戶的信息存儲到Cookie中,并響應給瀏覽器新的Cookie,瀏覽器得到Cookie之后將它存儲到緩存區。

當用戶在Web服務器登記過用戶信息,而使用網站提供的需登錄的服務時,服務器會通過請求中攜帶的Cookie判斷此次請求時哪個用戶,并以這個Cookie的信息去查詢數據庫等操作,完成用戶需要的服務。

Cookie的必要

HTTP是無狀態協議,意味著服務器不會在兩個請求之間保留任何數據(狀態)。由于Web服務器要面對很多用戶的并發訪問,為了提高Web服務器對并發訪問的處理能力,在設計HTTP協議時規定Web服務器發送HTTP應答報文和文檔時,不保存發出請求的Web瀏覽器進程的任何狀態信息,從而減輕服務器端的負載,同時無狀態也減小了HTTP請求的開銷。

但是在必要的場景,如登陸、購物等都需要保存用戶的狀態(信息),就不得不用到Cookie。

Cookie如何工作

第一次訪問服務器,沒有Cookie,向服務器登記新的Cookie。

Cookie在Java中的使用

第二次及以后訪問服務器,有Cookie,無需登記新的Cookie。

Cookie在Java中的使用

模擬用戶登錄

需求分析:

當用戶訪問homepage.jsp時,判斷請求中是否攜帶username的Cookie,如果不存在就通知瀏覽器跳轉到登錄頁面進行用戶信息的登記。當用戶再次訪問homepae.jsp時,不會被攔截,可以讓用戶訪問個人主頁頁面。

編寫代碼:

個人主頁的Servlet

@WebServlet(name = 'homepageServlet', urlPatterns = '/homepage')public class HomePageServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Cookie[] cookies = req.getCookies();for (Cookie cookie : cookies) { if (!cookie.getName().equals('username')) {// 如果用戶是第一次訪問個人主頁,就通知瀏覽器跳轉到登陸頁面進行登錄resp.sendRedirect(req.getContextPath() + '/login.jsp'); }} }}

用戶登錄的Servlet

@WebServlet(name = 'loginServlet', urlPatterns = '/login')public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 獲取http請求參數usernameString username = request.getParameter('username');// 設置響應內容的類型response.setContentType('text/html;charset=utf-8');// 獲取Cookie值Cookie[] cookies = request.getCookies();for (Cookie cookie : cookies) { if (!cookie.getName().equals('username')) { // 用戶第一次訪問Cookie userCookie = new Cookie('username', username);userCookie.setMaxAge(300);response.addCookie(userCookie); } response.sendRedirect(request.getContextPath() + '/homepage.jsp');} }}

打開瀏覽器,實驗一下:

Cookie在Java中的使用

在第一次訪問homepage頁面時,看到瀏覽器緩存區并沒有名為username的Cookie,只有當登錄之后,瀏覽器緩存區才有了這個Cookie。

以上就是Cookie在Java中的使用的詳細內容,更多關于Cookie的使用的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 综合管廊模具_生态,阶梯护坡模具_检查井模具制造-致宏模具厂家 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 医学模型生产厂家-显微手术模拟训练器-仿真手术模拟训练系统-北京医教科技 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 岩石钻裂机-液压凿岩机-劈裂机-挖改钻_湖南烈岩科技有限公司 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 山东成考网-山东成人高考网| 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 医学模型生产厂家-显微手术模拟训练器-仿真手术模拟训练系统-北京医教科技 | 辐射仪|辐射检测仪|辐射巡测仪|个人剂量报警仪|表面污染检测仪|辐射报警仪|辐射防护网 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | 联系我们-腾龙公司上分客服微信19116098882 | 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 美国查特CHART MVE液氮罐_查特杜瓦瓶_制造全球品质液氮罐 | 气动隔膜阀_气动隔膜阀厂家_卫生级隔膜阀价格_浙江浙控阀门有限公司 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 贵阳用友软件,贵州财务软件,贵阳ERP软件_贵州优智信息技术有限公司 | 吉林污水处理公司,长春工业污水处理设备,净水设备-长春易洁环保科技有限公司 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 |