loginaction.java
来自「一个基本的图书馆管理系统」· Java 代码 · 共 76 行
JAVA
76 行
package c18.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import c18.service.UserService;
import c18.service.UserServiceImpl;
import c18.struts.action.exception.ActionException;
import c18.struts.action.exception.InvalidPasswordActionException;
import c18.struts.action.exception.NotFindActionException;
import c18.struts.form.LoginForm;
/**
*
* 登陆Action类
* @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true"
* @struts.action-forward name="success" path="/main.jsp"
* @struts.action-forward name="failure" path="/login.jsp"
*/
public class LoginAction extends Action {
/**
* 日志操作对象
*/
private static final Log log = LogFactory.getLog(LoginAction.class);
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//转化Form为LoginForm对象
LoginForm loginForm = (LoginForm) form;
//得到登陆账号与密码
String loginName = loginForm.getLloginName();
String password = loginForm.getLpassword();
//得到当前页面路径
String reqpage = request.getParameter("pagename");
ActionForward actionforward = mapping.findForward(reqpage);
try {
UserService userservice = new UserServiceImpl();
//登陆
userservice.login(loginName, password, request, response);
} catch (ActionException e) {
//用户账号不存在情况下所进行的操作
if(e instanceof NotFindActionException){
request.setAttribute("loginerrorString", e.getExceptionString());
log.debug(e.getExceptionString(), e);
return actionforward;
}
//密码不正确情况下所进行的操作
else if(e instanceof InvalidPasswordActionException){
request.setAttribute("loginerrorString", e.getExceptionString());
log.debug(e.getExceptionString(), e);
return actionforward;
}
log.error(e);
}
return actionforward;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?