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

📄 e008946d5d16001c16a7a17a40860049

📁 使用JSP+Servlet+Hibernate+Struts实现的一个学生软件发布平台
💻
字号:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package edu.neu.struts.action;

import java.util.List;

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

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 org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

import edu.neu.sspp.hibernate.HibernateSessionFactory;
import edu.neu.sspp.hibernate.TAdmin;
import edu.neu.sspp.hibernate.TAdminDAO;
import edu.neu.sspp.hibernate.TTeacher;
import edu.neu.sspp.hibernate.TTeacherDAO;
import edu.neu.sspp.hibernate.TUser;
import edu.neu.sspp.hibernate.TUserDAO;
import edu.neu.struts.form.LoginForm;

/** 
 * MyEclipse Struts
 * Creation date: 06-05-2000
 * 
 * XDoclet definition:
 * @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true"
 * @struts.action-forward name="failure" path="/login.html"
 * @struts.action-forward name="success" path="/success.html"
 */
public class LoginAction extends Action {
	/*
	 * Generated Methods
	 */

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
		
		TAdminDAO adminDAO = new TAdminDAO();
		List list = adminDAO.findByName(loginForm.getName());
		if(!list.isEmpty()) {
			TAdmin admin = (TAdmin)list.get(0);
			if(admin != null && admin.getPassword().equals(loginForm.getPassword())) {
				HttpSession httpSession = request.getSession();
				//用于判断用户身份,尽量不要在session范围内保存对象
				//不在session中保存teacher对象以减小内存开销(但是加大访问数据库的负担,是否合算?)
				httpSession.setAttribute("login", "admin");
				//用于按ID进行查询
				httpSession.setAttribute("id", admin.getAdminUid());

				HibernateSessionFactory.closeSession();
				return mapping.findForward("login_success");
			}
		}
		
		TTeacherDAO teacherDAO = new TTeacherDAO();
		list = teacherDAO.findByName(loginForm.getName());
		if(!list.isEmpty()) {
			TTeacher teacher = (TTeacher)list.get(0);
			if(teacher != null && teacher.getPassword().equals(loginForm.getPassword())) {
				HttpSession httpSession = request.getSession();

				httpSession.setAttribute("login", "teacher");
				httpSession.setAttribute("id", teacher.getTeaUid());
				//用于下一个页面对用户名的显示(可以考虑在session范围内保存)
				request.setAttribute("name", teacher.getRealName());
				
				HibernateSessionFactory.closeSession();
				return mapping.findForward("login_success");
			}
		}
		
		TUserDAO userDAO = new TUserDAO();
		list = userDAO.findByUserName(loginForm.getName());
		if(!list.isEmpty()) {
			TUser user = (TUser)list.get(0);
			if(user != null && user.getPassword().equals(loginForm.getPassword())) {
				HttpSession httpSession = request.getSession();
				
				httpSession.setAttribute("login", "user");
				httpSession.setAttribute("id", user.getUserUid());
				//同上
				httpSession.setAttribute("name", user.getNick());
				request.setAttribute("name", user.getNick());
				
				HibernateSessionFactory.closeSession();
				return mapping.findForward("login_success");
			}
		}
		
		HibernateSessionFactory.closeSession();
		
		ActionMessages errors = new ActionMessages();
		errors.add("failure", new ActionMessage("error.login.password.wrong"));
		saveErrors(request,errors);

		return new ActionForward(mapping.getInput());
	}
}

⌨️ 快捷键说明

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