`
nickdine
  • 浏览: 45815 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一种登入和登出的实现

阅读更多
要实现一个登入和登出的功能,需要下面的预备知识。
session 一次连接的对象 主要用于客户端和服务器保持状态,从浏览器和客户端建立连接时开始 到客户端关闭时自动失效 无法再客户端保存状态。
cookie 客户端缓存的对象 主要用户在客户端保存登陆状态,可以设置过期时间保存在客户端。

login.JSP主要代码
<form action="login.action">
    name:<input type="text" name="username">
    <br>
    password:<input type="password" name="password" >
    <br>
    <input type="button" onclick="javascript:this,form.submit()" >
    
    </form>

loginAction.java
 public class loginAction extends ActionSupport  
    
{
    HttpServletResponse response; 
 	private String username;
	private String password;
	private String tips;
    HttpServletRequest request;
	public String getUsername()
	{
		return username;
	}

	public void setUsername(String username)
	{
		this.username = username;
	}

	public String getPassword()
	{
		return password;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}

	public String getTips()
	{
		return tips;
	}

	public void setTips(String tips)
	{
		this.tips = tips;
	}
 	public String execute()
	{
 		response=ServletActionContext.getResponse(); 
 		
		if ("zhangjin".equalsIgnoreCase(username)
				&& "password".equalsIgnoreCase(password))
		{
			ActionContext ctx=ActionContext.getContext();
  			ctx.getSession().put("username", "zhangjin");
  			Cookie cookie=new Cookie("username", "zhangjin"); 
  			cookie.setMaxAge(24*60*60);
  			response.addCookie(cookie);
			return "success";
		} 
		else
		{
            setTips("用户名/密码错误");
			return "input";
		}

	}
 	public String logOut()
 	{
 		response=ServletActionContext.getResponse(); 
 		request=ServletActionContext.getRequest();
 		request.getSession().invalidate();
 		Cookie[] cookies=request.getCookies();
 		if(cookies!=null)
 		{
 			for (int i=0;i<cookies.length;i++)
			{
 				Cookie cook=cookies[i];
 				if("username".equals(cook.getName()))
 				{
 					cook.setValue(null);
 					cook.setMaxAge(0);
 					response.addCookie(cook);
 				}
			}
 			
 		}
 		return "session";
 	}

	 
}
分享到:
评论

相关推荐

    基于 Go 实现登入和登出广东天翼校园网的命令行工具.zip

    基于 Go 实现登入和登出广东天翼校园网的命令行工具Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和...

    Discuz整合ECShop实现会员同步.rar

    在互联网时代,电子商务网站与社区论坛的结合已经成为一种常见的运营模式。Discuz是一款知名的社区论坛系统,而ECShop则是一款功能强大的B2C电子商务平台。当这两者进行整合时,能够实现会员数据的同步,提高用户...

    PHP+mysql简单的登入注销源码.ra

    【PHP+MySQL简单的登入注销源码】是一种基于PHP编程语言和MySQL数据库的用户身份验证系统。这个源码实现了基础的用户登入与登出功能,并具备防止未授权直接访问的保护措施。 首先,我们来深入理解这个系统的关键...

    通用数据挖掘系统

    在电信的业务中,有一种Unix实验室出租业务。只要用户向电信运营商申请一个Unix帐号,就可以远程登录Unix实验室,并使用Unix系统。 用户使用电信运营商提供的Unix实验室的服务需要缴纳一定的费用,电信运营商需要...

    网络信息系统安全体系-综合审计系统.pptx

    网络事件审计包括网络行为审计、网络探针、Telnet登入/登出过程、Ftp登入/登出过程、Web访问等。数据库事件审计包括数据库访问源分析、用户登录数据查询、数据修改、数据删除、数据定义权限管理等。 该系统支持多种...

    java登录操作

    记住密码功能通常涉及到SharedPreferences,这是Android提供的一种轻量级数据存储方式。当用户勾选“记住密码”选项时,我们可以将用户名和加密后的密码保存在SharedPreferences中。 ```java CheckBox ...

    j2se项目源码及介绍_last指令

    函数说明 把登录数据按一个登入一个登出匹配成一条完整的登录过程记录。 参数说明 Vector&lt;LogRecord&gt; logins 日志的登入数据 * Vector&lt;LogRecord&gt; logouts 日志的登出数据 返回说明 Vector&lt;MatchedRecord&gt; 所有完整...

    浅析分布式在线考试系统的实现.pdf

    分布式在线考试系统是一种基于互联网的考试模式,它利用现代网络技术,为用户提供了一个公平、便捷的在线考试环境。本文将详细介绍分布式在线考试系统的实现方法和关键技术,以及如何确保考试的公平性和安全性,同时...

    采用Websocket实现的单设备登录的SpringBoot的后端部分

    SpringBoot简化了Java应用的开发过程,而WebSocket则提供了一种双向通信机制,使得服务器和客户端可以实时交换数据。 首先,我们需要理解单设备登录的概念。在单设备登录系统中,同一用户在同一时间只能在一个设备...

    V-link:V-link是一种视频商务服务,在视频中使用交互性元素

    V-link是一种视频商务服务,在视频中使用交互性元素 使用Srping启动2.3.4 使用gradle构建 使用JPA 使用MongoDB(与Mongo地图集配合使用) 使用Mongo会话 使用胸腺 使用AWS(EC2,S3) 要求 为了构建和运行应用...

    单点登入--CAS3.0

    - CAS提供了一种安全的机制来防止会话劫持和票证伪造,如使用加密算法对票证进行签名和验证。 - 为了防止CSRF攻击,CAS通常会生成一个隐藏的令牌,确保只有来自合法页面的请求才会被处理。 6. **多语言支持**: ...

    毕业设计:ASP玩友交流网站的设计与实现(源代码)

    (1)登入/登出模块:系统有两种用户:普通用户及管理员用户,管理员用户是直接设定的,是不能通过注册得到的,而普通用户则是可以通过提交注册表单注册的。用户登录时不需要选择以普通用户或管理员的方式登录,登录...

    IBM主机登入手册,针对于ZOS

    - 当前处于ISPF环境时,连续按F3键直至出现以下两种情况之一: - **返回TSO READY界面**:此时可参照上述TSO READY环境下的退出步骤。 - **出现Specify Disposition of Log Data Set界面**: - 在Process Option...

    基于ASP+Access的玩友交流网站的设计与实现(源代码+论文)

    1)登入/登出模块:系统有两种用户:普通用户及管理员用户,管理员用户是直接设定的,是不能通过注册得到的,而普通用户则是可以通过提交注册表单注册的。用户登录时不需要选择以普通用户或管理员的方式登录,登录...

    spring boot创建项目,实现同域名下单点登录源码

    在IT行业中,单点登录(Single Sign-On,简称SSO)是一种身份验证机制,它允许用户在一个应用系统中登录后,无需再次输入凭证即可访问其他相互信任的应用系统。本项目基于Spring Boot框架,旨在实现同域名下的单点...

    QQ单个、批量登录器

    定时登录和登出则可以根据用户的需求设置时间,自动执行登录和退出操作,例如在工作时间自动登录,在非工作时间自动登出。 在实际应用中,QQ批量登录器广泛应用于企业客户服务、在线营销、社群管理等多个场景。例如...

    单点登录对接文档1

    单点登录(Single Sign-On, SSO)是一种用户在一次登录后就能访问多个相互信任的应用系统的技术。在本文档中,我们将深入理解SSO的实现细节,主要关注前端与后端的交互,以及如何与认证中心进行对接。 一、JS文件...

    java单点登录

    Java单点登录(Single Sign-On, SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。CAS(Central Authentication Service)是开源的SSO解决方案,由耶鲁大学开发,...

    单点登录小例子

    单点登录(Single Sign-On,简称SSO)是一种网络应用中的身份验证机制,它允许用户在一次登录后,就可以在多个相互独立的应用系统之间自由切换,而无需再次进行身份验证。这种技术极大地提升了用户体验,同时也简化...

Global site tag (gtag.js) - Google Analytics