loginaction.java

来自「针对网络跑步爱好者作为用户而开发的」· Java 代码 · 共 71 行

JAVA
71
字号
package com.briup.run.web.action;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.briup.run.common.util.BeanFactory;
import com.briup.run.dao.bean.MemberInfo;
import com.briup.run.service.IMemberService;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
	private String username;
	private String password;
	private Boolean autoLogin = false;
	
	public Boolean getAutoLogin() {
		return autoLogin;
	}

	public void setAutoLogin(Boolean autoLogin) {
		this.autoLogin = autoLogin;
	}

	public String getPassword() {
		return password;
	}

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

	public String getUsername() {
		return username;
	}

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

	@Override
	public String execute() throws Exception {
		MemberInfo info = null;
		IMemberService memberservice = (IMemberService) BeanFactory
				.getBean("memberService");
		HttpServletResponse response = ServletActionContext.getResponse();
		HttpServletRequest request = ServletActionContext.getRequest();
		try {
			info = memberservice.login(username, password);
		} catch (Exception e) {
			request.getSession().setAttribute("message", e.getMessage());
			return "failure";
		}
		if (autoLogin) {
			Cookie nameCookie = new Cookie("username", username);
			Cookie passwdCookie = new Cookie("password", password);
			nameCookie.setMaxAge(1000000000);
			nameCookie.setPath("/");
			passwdCookie.setMaxAge(1000000000);
			passwdCookie.setPath("/");
			response.addCookie(nameCookie);
			response.addCookie(passwdCookie);
		}
		request.getSession().setAttribute("member", info);
		return "success";
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?