博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户登陆,退出等基本Action(2)
阅读量:2453 次
发布时间:2019-05-10

本文共 3406 字,大约阅读时间需要 11 分钟。

用户登陆页面user_login.jsp对应action为login.do:

用户登陆
用户名:
密 码:
验证码:  
  记住用户名
 

  用户登陆类(UserLogin.java):

package com.web.struts.action;import javax.servlet.http.Cookie;import org.apache.commons.lang.StringUtils;import commodel.Member;import com.service.IMemberService;import com.tools.Constant;import com.tools.MD5Bean;/** * title:用户登陆 *  * @author conkeyn * @时间 2009-3-24:上午10:06:25 */public class UserLogin extends BaseAction {	/**  */	private static final long serialVersionUID = -8059803575427183277L;	private Member member;	public void setMemberService(IMemberService memberService) {		this.memberService = memberService;	}	private IMemberService memberService;	/**	 * 退出	 * 	 * @return	 */	public String logout() {		getSession().removeAttribute(Constant.MEMBER_SESSION_ID);		Cookie[] cookies = getRequest().getCookies();		Cookie member_cookie = null;		for (int i = 0; i < cookies.length; i++) {			member_cookie = cookies[i];			if (member_cookie != null					&& StringUtils.isNotBlank(member_cookie.getName())					&& StringUtils.isNotBlank(member_cookie.getValue())					&& member_cookie.getName().equals(							Constant.MEMBER_SESSION_ID)) {				member_cookie.setMaxAge(-1);// 设置有效期为-1秒,浏览器会自动删除				getResponse().addCookie(member_cookie);				break;			}		}		return SUCCESS;	}	/**	 * 用户登陆	 * 	 * @return	 */	public String login() {		return "login";	}	/**	 * 处理用户登陆	 * 	 * @return	 */	public String process() {		String confirm_code = getRequest().getParameter("confirm_code");		String confirmcode = (String) getSession().getAttribute("confirmcode");		if (StringUtils.isNotBlank(confirm_code)				&& StringUtils.isNotBlank(confirmcode)				&& confirm_code.equals(confirmcode)) {			String username = getRequest().getParameter("username");			String pwd = getRequest().getParameter("pwd");			String rember_me = getRequest().getParameter("rember_me");			MD5Bean md5 = new MD5Bean();			pwd = md5.MD5Encrypt(pwd);			member = memberService.getMember(username);			if (member == null) {				this.addActionError("不存在该用户,请注册后再登陆!");				return ERROR;			} else if (!pwd.equalsIgnoreCase(member.getPwd())) {				this.addActionError("密码错误,请重新输入!");				return ERROR;			}			getSession().setAttribute(Constant.MEMBER_SESSION_ID,					member.getUsername());			// 设置cookie			if (StringUtils.isNotBlank(rember_me)					&& rember_me.equalsIgnoreCase("true")) {				Cookie cookie = new Cookie(Constant.MEMBER_SESSION_ID, member						.getUsername());				cookie.setMaxAge(60 * 60 * 24 * 365);				getResponse().addCookie(cookie);			}			member.setLoged(true);			memberService.saveMember(member);		} else {			this.addActionError("验证码错误,请重新输入!");			return ERROR;		}		return SUCCESS;	}	public Member getMember() {		return member;	}	public void setMember(Member member) {		this.member = member;	}}

 

Struts配置文件(struts-login.xml):

/WEB-INF/pages/userlogin.jsp
login
/WEB-INF/pages/userlogin.jsp
/WEB-INF/pages/userlogin_msg.jsp
 

 

 

 

 

 

 

转载地址:http://dzdhb.baihongyu.com/

你可能感兴趣的文章
2017年最喜欢的Visual Studio代码扩展
查看>>
gvim文本编辑器帮助_如何帮助您的文本编辑器帮助您
查看>>
函数setState是React的未来
查看>>
山东大学有人陪!真的吗?_10,000小时! 您真的需要那么多吗?
查看>>
为什么要在JavaScript中使用静态类型? 我们是否应该使用它们?
查看>>
macos 安装scala_如何在MacOS上安装Scala和Apache Spark
查看>>
ES6中修复的5个JavaScript“不良”部分
查看>>
实习一年算工作一年吗?_如何在不到一年的时间里获得开发人员的工作
查看>>
node.js ejs_如何在Node.js应用程序中使用EJS模板
查看>>
lynda ux_UX编排原理
查看>>
创建微信机器人和女朋友聊天_创建聊天机器人
查看>>
scrum master_从Scrum Master到工程副总裁:职称为何重要
查看>>
sdlc 瀑布式 生命周期_SDLC指南–软件开发生命周期的阶段和方法
查看>>
大omega记号_什么是大欧米茄符号?
查看>>
react 使用 mobx_如何使用React和MobX状态树构建基于状态的路由器
查看>>
移动认证_如何在移动设备上实施安全的生物特征认证
查看>>
敏捷开发创始人_开发人员和技术创始人如何将他们的想法转化为UI设计
查看>>
node aws 内存溢出_在AWS Elastic Beanstalk上运行生产Node应用程序的现实
查看>>
我如何在昌迪加尔大学中心组织Google Hash Code 2019
查看>>
子集和与一个整数相等算法_背包问题的一个变体:如何解决Java中的分区相等子集和问题...
查看>>