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

📄 loginaction.java

📁 学生成绩管理系统
💻 JAVA
字号:
package com.stuman.web.struts.action;import java.io.UnsupportedEncodingException;import java.lang.reflect.InvocationTargetException;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.commons.beanutils.BeanUtilsBean;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 org.apache.struts.validator.DynaValidatorForm;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import com.stuman.dao.hibernate.HibernateUtil;import com.stuman.domain.Admin;import com.stuman.domain.Student;import com.stuman.domain.Teacher;import com.stuman.web.struts.form.LoginForm;public class LoginAction extends Action {	private BeanUtilsBean beanUtilsBean;	public LoginAction() {		this.beanUtilsBean = new BeanUtilsBean();	}	 	/**	 * Method execute	 * 	 * @param mapping	 * @param form	 * @param request	 * @param response	 * @return ActionForward	 * @throws UnsupportedEncodingException	 */	public ActionForward execute(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws UnsupportedEncodingException {		// TODO Auto-generated method stub		HttpSession session = request.getSession();		Session s = HibernateUtil.currentSession();		LoginForm loginForm = new LoginForm();		DynaValidatorForm dform = (DynaValidatorForm) form;		try {			this.getBeanUtilsBean().copyProperties(loginForm, dform);		} catch (IllegalAccessException e1) {			// TODO Auto-generated catch block			e1.printStackTrace();		} catch (InvocationTargetException e1) {			// TODO Auto-generated catch block			e1.printStackTrace();		}		// 声明字符串型变量sort,并调用loginForm的getSort函数取得类型为其赋值		String sort = loginForm.getSort();		// 声明字符串型变量username,并调用loginForm的getUsername函数取得用户名为其赋值		String username = loginForm.getUsername();		// 声明字符串型变量password,并调用loginForm的getPassword函数取得密码为其赋值		String password = loginForm.getPassword();		// 声明整型变量loginSort,将上面的字符串类型变量sort表示的数字转换成整型为其赋值		int loginSort = Integer.parseInt(sort);		// 声明字符串类型数组userlist		String[] userlist = new String[2];		// 分别将刚刚取得的用户名和密码存入到userlist中		userlist[0] = username;		userlist[1] = password;		List list = new ArrayList();		try {			// 开始事务			HibernateUtil.beginTransaction();			String str = new String();			// 使用程序结构控制语句swicth,根据loginSort的值进入不同的分支			switch (loginSort) {			// 类型1为学生用户			case 1:				str = " from Student as stu where stu.name=:stuName and stu.password=:stuPassword";				Query query = s.createQuery(str);				// System.out.println(username + " " + password);				// 调用其setString方法,并为str中的stuName,stuPassword赋值为username				// 和password				query.setString("stuName", username);				query.setString("stuPassword", password);				// 调用query对象的list函数执行查询,				list = query.list();				if (list.size() > 0) {					// 如果结果大于0,表示找到该用户名,关闭Session对象s					request.getSession().setAttribute("stuid",							((Student) list.get(0)).getId());					request.getSession().setAttribute("deptment",							((Student) list.get(0)).getDepartment());					s.close();					// 页面跳转					return mapping.findForward("studentLoginsuccess");				} else					// 否则表示该用户不存在					break;			case 2:				str = " from Teacher tea where tea.name =? and tea.password ='"						+ password + "'";				Query query2 = s.createQuery(str);				// System.out.println(username + " " + password);				query2.setString(0, username);				list = query2.list();				if (list.size() > 0) {					request.getSession().setAttribute("teaid",							((Teacher) list.get(0)).getId());					request.getSession().setAttribute("teacherId",							((Teacher) list.get(0)).getId());					s.close();					return mapping.findForward("teacherLoginsuccess");				} else					break;			case 3:				str = " from Admin admin where admin.name = ? and admin.password ='"						+ password + "'";				// System.out.println(username + " " + password);				Query query3 = s.createQuery(str);				query3.setString(0, username);				list = query3.list();				if (list.size() > 0) {					request.getSession().setAttribute("id",							((Admin) list.get(0)).getId());					s.close();					return mapping.findForward("adminLoginsuccess");				} else					break;			default:				break;			}		} catch (HibernateException e) {			// 如果有异常,打印出异常结果			e.printStackTrace();		} finally {			s.close();		}		// 创建ActionMessages类的对象errors,用来保存错误信息		ActionMessages errors = new ActionMessages();		errors.add("login error", new ActionMessage("login.error"));		saveErrors(request, errors);		return mapping.getInputForward();	}	public BeanUtilsBean getBeanUtilsBean() {		return beanUtilsBean;	}}

⌨️ 快捷键说明

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