📄 usermatchaction.java
字号:
package cn.edu.jlu.csw.team5.action;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.*;
import java.sql.SQLException;
import cn.edu.jlu.csw.team5.entity.UserInfoForm;
import cn.edu.jlu.csw.team5.bussness.UserInfoBo;
public class UserMatchAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
UserInfoForm userInfoForm = (UserInfoForm) actionForm;
//从web层获得用户名和口令
String username = userInfoForm.getUsername().trim();
String password = userInfoForm.getPassword().trim();
//声明错误集对象
ActionErrors errors = new ActionErrors();
//声明数据源和连接对象
DataSource dataSource;
Connection cnn = null;
//校验输入
if (username.equals("")) {
ActionError error = new ActionError("error.missing.username");
errors.add(ActionErrors.GLOBAL_ERROR, error);
}
if (password.equals("")) {
ActionError error = new ActionError("error.missing.password");
errors.add(ActionErrors.GLOBAL_ERROR, error);
}
//调用业务逻辑
if (errors.size() == 0) {
String validated = "";
try {
//取得数据库连接
dataSource = getDataSource(servletRequest);
cnn = dataSource.getConnection();
UserInfoBo userInfoBo = new UserInfoBo(cnn);
validated = userInfoBo.validatePwd(username, password);
if (validated.equals("user")) {
//一切正常就保存用户信息并转向成功的页面
HttpSession session = servletRequest.getSession();
session.setAttribute("userInfoForm", actionForm);
return actionMapping.findForward("user");
}
if (validated.equals("admin")) {
//一切正常就保存用户信息并转向成功的页面
HttpSession session = servletRequest.getSession();
session.setAttribute("userInfoForm", actionForm);
return actionMapping.findForward("admin");
}
if (validated.equals("error.password.invalid")) {
//如果用户名与口令不匹配则报此错
ActionError error = new ActionError(
"error.password.invalid");
errors.add(ActionErrors.GLOBAL_ERROR, error);
}
if (validated.equals("error.noMatch")) {
//一切正常就保存用户信息并转向成功的页面
ActionError error = new ActionError("error.noMatch");
errors.add(ActionErrors.GLOBAL_ERROR, error);
}
}
catch (Throwable e) {
//处理可能出现的错误
e.printStackTrace();
ActionError error = new ActionError(e.getMessage());
errors.add(ActionErrors.GLOBAL_ERROR, error);
}
}
//如出错就转向输入页面,并显示相应的错误信息
saveErrors(servletRequest, errors);
return new ActionForward(actionMapping.getInput());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -