⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginaction.java

📁 在线读书交流平台
💻 JAVA
字号:
package com.olr.control.approval;

import java.util.Map;

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

import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.CookiesAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;



import com.olr.BO.ApprovalBO;
import com.olr.control.common.BaseAction;
import com.olr.util.Constants;
import com.opensymphony.xwork2.ActionContext;

public  class LoginAction extends BaseAction implements ServletResponseAware, ServletRequestAware, SessionAware, CookiesAware{
	
	private ApprovalBO approvalBO;
	private String username;
	private String password;
	private int power;
	  //记录cookie相关
	  private boolean rememberMe;  
	  private HttpServletResponse response;  
	  private HttpServletRequest request;  
	  private Map session;  
	  private Map cookies;  
	  private String goingToURL; 
	
	Logger log = Logger.getLogger(this.getClass());
    //验证登录表单
    public void validate(){
    	log.info("开始验证");
    	this.clearErrorsAndMessages();
    	if(username==null||username.equals("")){
    		this.addFieldError("username", "请输入用户名");
    	}
    	if(password==null||password.equals("请输入密码")){
    		this.addFieldError("password","请输入密码");
    	}
    	log.info("验证通过");
    }
    //执行登录操作
    public  String execute()throws Exception  {
    	log.info("开始执行");
    	if(this.approvalBO.isValid(username,password,power)){
    		ActionContext.getContext().getSession().put("username",username);
    		if (rememberMe){  
                Cookie cookie = new Cookie(Constants.COOKIE_REMEMBERME_KEY, username + ":" + password+":"+power);  
                cookie.setMaxAge(60 * 60 * 24 * 14);  
                response.addCookie(cookie);  
            }  
    		this.setSession("power", power);
    		this.setSession("spaceOwnerName", username);
    		this.setSession("userId",this.getApprovalBO().getUser(username).getUserId());
    		//ActionContext.getContext().getSession().put("userId",this.getApprovalBO().getUser(username).getUserId());
    		this.getApprovalBO().login(username,power);
    		log.info(username+"login");
    		String goingToURL = (String) session.get(Constants.GOING_TO_URL_KEY);  
            if (goingToURL!=null&&!goingToURL.equals("")){  
                setGoingToURL(goingToURL);  
                session.remove(Constants.GOING_TO_URL_KEY);  
            }else{  
                setGoingToURL("space.do");  
            }  
    		return SUCCESS;
    	}else{
    		super.addActionError(super.getText("用户名或者密码错误!"));
    		this.addFieldError("login_wrong", "用户名或者密码错误!");
    		log.error("登录失败");
    		return INPUT;
    		
    	}

	}
    
	public ApprovalBO getApprovalBO() {
		return approvalBO;
	}
	public void setApprovalBO(ApprovalBO approvalBO) {
		this.approvalBO = approvalBO;
	}
	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 int getPower() {
		return power;
	}
	public void setPower(int power) {
		this.power = power;
	}
	public void setServletResponse(HttpServletResponse response) {
		this.response=response;
		
	}
	public void setServletRequest(HttpServletRequest request) {
		this.request=request;
		
	}
	public void setCookiesMap(Map cookies) {
		this.cookies=cookies;
		
	}
	public void setSession(Map session) {
		this.session=session;
		
	}  
    
	public String getGoingToURL() {  
	        return goingToURL;  
	    }  
	public void setGoingToURL(String goingToURL) {  
	        this.goingToURL = goingToURL;  
	    }  
	public boolean isRememberMe() {  
	        return rememberMe;  
	    }  
   public void setRememberMe(boolean rememberMe) {  
	        this.rememberMe = rememberMe;  
	    }
    
}

⌨️ 快捷键说明

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