JavaWeb使用Cookie实现10天免登录功能(自动登录)

简单理解:Cookie可以存放客户端提交给服务器的信息

特点:Cookie存放在客户端硬盘里,属于离线存放,所以安全性差。

           存放时间由setMaxAge()中的数值决定,以秒为单位。

Cookie的写入:(1)创建Cookie对象(2)设定Cookie属性(setMaxAge())

                        (3)调用respond.addCookie(Cookie c)方法写入客户端

Cookie的读取:获取Cookie数组(如:Cookie a[]=request.getCookies(); )

                        cookie.getName()可返回Cookie的名字,类型为String

这里多提一点,request.getCookies()方法可以返回客户端的Cookie对象,结果是一个cookie数组

查看网页Cookie:在网页中按F12进入开发者模式(检查),选择应用程序,左列中选择Cookie查看

开始实现功能:

        逻辑图:

Login.jsp

<body>
	<%
		//自动显示曾用用户名
		String username="";
		String password="";
		//返回客户端的cookie对象,结果是一个cookie数组
		Cookie[] cookies=request.getCookies();
		if(cookies!=null)
		{
			for(int i=0;i<cookies.length;i++)
			{
				Cookie currentC=cookies[i];
				if(currentC.getName().equals("username"))
				{
					username=currentC.getValue();
				}
				if(currentC.getName().equals("password"))
				{
					password=currentC.getValue();
				}
			}
		}
	%>
	<form action="Login_do.jsp" method="post">
        用户名:<input type="text" name="username" value="<%=username%>"><br>
        密码:<input type="password" name="password"><br>
         <input type="submit" value="登录">
    </form>
    <script src="Login_.js"></script>	
</body>

 Login_do.jsp

<body>
	<%
		//获取请求参数
		String username=request.getParameter("username");
		String password=request.getParameter("password");
		
		
		if(username!=null&&password!=null&&username.trim().equals("admin")&&password.equals("123"))
		{
			//可以登陆,但无Cookies
			//Cookie存储这个用户的登录信息,保存60s
			Cookie c=new Cookie("username",username);
			Cookie p=new Cookie("password",password);
			p.setMaxAge(60*60*24*10);
			c.setMaxAge(60*60*24*10);
			response.addCookie(c);
			response.addCookie(p);
		}
		//实现自动登录
		else
		{
				//有Cookies,获取Cookie数组对象
				Cookie[] cookies=request.getCookies();
			
				if(cookies!=null&&cookies.length>0)
				{
					for(Cookie cookie:cookies){
						//获取Cookie的名字
						String CookieName=cookie.getName();
						//找到Cookie中的username
						if("username".equals(CookieName)){
							//将Cookies中的值返还给请求参数
							String name=cookie.getValue();
							username=name;	
						}
						if("password".equals(CookieName)){
							String pword=cookie.getValue();
							password=pword;
						}
					}
				}
		}
		if(username!=null&&password!=null&&username.trim().equals("admin")&&password.equals("123"))
		{
				out.print("Hello! admin");
	    }else{
	        //如果既没有请求参数又没有cookie,就重定向到登录页面
	    	response.sendRedirect("Login.jsp");
	    }
	%>
</body>

参考文章:

cookie是什么?有什么用?cookie详解,一篇文章彻底搞懂cookie_cookie的作用_秃头披风侠.的博客-CSDN博客

java登录时jsp中的用户名_java_JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码),其中包含两个jsp文件,分别为l - phpStudy..._FBINA链世界的博客-CSDN博客

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图书管理系统JSP免费是指JSP技术的应用在图书管理系统中可以免费使用。JSP(Java Server Pages)是一种用于开发网页的Java技术,它允许将Java代码嵌入到HTML页面中,通过与Java编程语言结合,可以实现动态网页的生成和管理。 图书管理系统是一种通过计算机技术来管理图书馆资源的系统,它可以帮助图书馆快速、准确地管理图书的借还、库存、分类等数据。使用图书管理系统可以提高图书馆工作效率,提供更好的借阅体验。 免费的JSP图书管理系统具有以下优势: 1. 成本低廉:由于JSP技术是开源的,其使用和开发工具都是免费的,因此图书馆可以节省开发和维护系统的费用。 2. 功能强大:JSP技术可以与数据库和其他Java框架(如Spring、Hibernate等)集成,提供丰富的功能和灵活的定制选项。图书馆可以根据自身需要进行系统功能的开发和扩展。 3. 易于维护:免费的JSP图书管理系统通常有较大的用户群体,可以享受到更多的社区支持,可以及时获得问题解答和系统更新。 4. 开发灵活:JSP技术可以与前端的HTML、CSS和JavaScript相结合,使系统界面更加美观和交互友好。开发人员可以根据图书馆的品牌形象和用户需求进行自定义开发。 当然,即使JSP图书管理系统本身免费,图书馆在使用和维护时仍需要投入人力和资源去管理和更新系统。同时,对于一些特定功能需求较高或者需要定制化开发的图书馆来说,可能需要引入专业的开发团队进行定制开发。 总之,免费的JSP图书管理系统为图书馆提供了经济实惠且功能强大的管理工具,使图书馆能够更好地满足读者的需求和提供优质的服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值