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

📄 loginaction.java

📁 网上购物系统
💻 JAVA
字号:
// ----------------------------------------------------------
// $Id: $
// Copyright (c) SHSAFE 2005-2006. All Rights Reserved.
// ----------------------------------------------------------
package example.login;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

import com.shsafe.common.database.DatabaseConnection;
import com.shsafe.common.database.DatabaseConnectionManager;

import example.common.dto.UserDTO;
import example.common.struts.CommonAction;

/**
 * @author Michael J Chane
 * @version $Revision: $ $Date: $
 */
public class LoginAction extends CommonAction {

	/**
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward init(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		UserDTO userInfo = (UserDTO) request.getSession(true).getAttribute(
				"userInfo");
		if (userInfo != null) {
			request.setAttribute("userName", userInfo.getName());
		} else {
			request.setAttribute("userName", "游客");
		}
		return mapping.findForward("success");
	}

	/**
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward login(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		log.trace("Start");
		LoginForm loginForm = ((LoginForm) form);

		DatabaseConnection connection = DatabaseConnectionManager
				.getMyConnection();
		LoginDAO dao = new LoginDAO(connection);
		UserDTO userInfo = dao.findByPrimaryKey(loginForm.getUserId());

		ActionMessages msgs = new ActionMessages();

		if (userInfo != null) {
			String pwd = userInfo.getPassword();
			if (!pwd.equals(loginForm.getPassword())) {
				msgs.add("password", new ActionMessage("Invalid password!"));
				saveErrors(request, msgs);
				loginForm.setPassword("");
				return mapping.findForward("failure");
			}
		} else {
			msgs.add("userName", new ActionMessage("User not found!"));
			saveErrors(request, msgs);
			loginForm.setPassword("");
			return mapping.findForward("failure");
		}

		request.getSession().setAttribute("userInfo", userInfo);
		request.setAttribute("userName", userInfo.getName());
		loginForm.setUserId("");
		loginForm.setPassword("");
		log.trace("End");
		return mapping.findForward("success");
	}

	/**
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws Exception
	 */
	public ActionForward logout(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		log.trace("Start");

		request.getSession().invalidate();

		log.trace("End");
		return new ActionForward("/login.do?processCategory=init");
	}
}

⌨️ 快捷键说明

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