package com.usemodj.jpetstore.struts.action; import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; import org.apache.struts2.ServletActionContext; import com.usemodj.jpetstore.domain.Signon; import com.usemodj.jpetstore.service.SignonService; import com.usemodj.struts.Constants; import com.usemodj.struts.action.BaseAction; public class LoginAction extends BaseAction { private static Logger logger = Logger.getLogger(LoginAction.class); private SignonService signonService = new SignonService(); private Signon signon = null; private String url = null; //redirect url public String execute() throws Exception { Signon _signon = signonService.selectSignon( this.getSqlSessionFactory().openSession(), signon.getUsername()); if( null == _signon || !_signon.getPassword().equals(this.signon.getPassword())) { this.signon.setPassword(""); this.addActionError(getText("login.error")); return INPUT; } this.setSignon(_signon); this.setSession(this.LOGIN, this.signon); //url = request.getParameter( Constants.URL); if( null == url) { url = (String)request.getAttribute( Constants.URL); } if( null != url) return Constants.REDIRECT; return SUCCESS; } /** * logout action process */ public String input() throws Exception { //HttpServletRequest request = ServletActionContext.getRequest(); String logout = request.getParameter( Constants.LOGOUT); if( null != logout && "true".equals(logout.toLowerCase())) { logout(); } // //url = request.getParameter( Constants.URL); // if( null == url) { // url = (String)request.getAttribute( Constants.URL); // } // if( null != url) return Constants.REDIRECT; //this.signon = new Signon(); return INPUT; } public void logout() throws Exception { logger.debug(" -- logout method called!!"); this.removeSession( LOGIN); } // -- getter/setter -- public Signon getSignon() { return signon; } public void setSignon(Signon signon) { this.signon = signon; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }