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

📄 loginaction.java

📁 基于J2EE的办公自动化系统。实现流程定义流程办理等。运用了hibernate+struts+spring框架综合运用的系统。
💻 JAVA
字号:
//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.0/xslt/JavaClass.xsl

package com.oa.module.login;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Vector;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.oa.module.hints.HintBean;
import com.oa.module.office.user.Tuser;
import com.oa.util.ToolUtil;




/** 
 * MyEclipse Struts
 * Creation date: 01-17-2008
 * 
 * XDoclet definition:
 * @struts.action path="/logi" name="logiForm" input="/form/logi.jsp" scope="request" validate="true"
 */
public class LoginAction extends DispatchAction {

	// --------------------------------------------------------- Instance Variables
	private LoginDAO logindao;
	// --------------------------------------------------------- Methods

	/** 
	 * Method login
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException 
	 */
	public ActionForward login(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws IOException {
		LoginForm loginForm = (LoginForm) form;
		HttpSession session = request.getSession();
		String rand = (String) session.getAttribute("rand");
		PrintWriter out = response.getWriter();
		ServletContext context = this.getServlet().getServletContext();
		String contextPath = request.getContextPath();
//		int loginCount = 0 ;
//		String lgcount = (String) session.getAttribute("loginCount");
//		if(lgcount==null){			
//			lgcount="1";
//		}		
		
		if(!loginForm.getRand().equals(rand)){
			out.print("<script>");
			out.print("alert('验证码出错,请输入正确的验证码!');");
			out.print("history.back();");
			out.print("</script>");
		}

//		if(loginCount == 3 ){
//			out.println("<script>");			
//			out.println("alert('三次错误,系统将提示退出!');");
//			out.println("top.window.close();");		
//			out.println("</script>");
//			out.flush();
//			out.close();
//		}

		String message = logindao.checkLogin(loginForm,request);
		if(message==null){

			Tuser tuser = logindao.getUser(loginForm.getUname());//封装用户信息,存放在session里
			//写属性的时候.触发监听
			if(tuser.getUisonline().equals("1")){				
				out.print("<script>");
				out.print("alert('该用户已在线,无法重复登录!');");
				out.print("window.location.href='"+contextPath+"/Jsp_file/login/login.jsp';");
				out.print("</script>");
				
			}
			if(tuser.getUislocked().equals("1")){
				out.print("<script>");
				out.print("alert('该用户已被冻结,暂时无法登录!');");
				out.print("window.location.href='"+contextPath+"/Jsp_file/login/login.jsp';");
				out.print("</script>");
				
			}else{
				logindao.setonline("1",tuser);
				session.setAttribute("user",tuser);
				out.print("<script>");
				out.print("window.location.href ='"+contextPath+"/Jsp_file/index.jsp';");
				out.print("</script>");
				out.flush();
				out.close();
			}
		}else{
			out.print(message);
			out.flush();
			out.close();
		}
		return null;
	}
	public LoginDAO getLogindao() {
		return logindao;
	}
	public void setLogindao(LoginDAO logindao) {
		this.logindao = logindao;
	}
	
	
	/** 
	 * Method close
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException 
	 * @throws ServletException 
	 */
	public ActionForward close(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws IOException, ServletException {
		HttpSession session = request.getSession();
		Tuser tuser = (Tuser)session.getAttribute("user");
		logindao.setonline("0",tuser);
		session.removeAttribute("user");
//		return new ActionForward("/Jsp_file/login/login.jsp");
		String contextPath = request.getContextPath();
		PrintWriter out = response.getWriter();
		out.print("<script>"
				+ "window.top.location.href='" + request.getContextPath()
				+ "/Jsp_file/login/login.jsp';");
		out.print("</script>");
		out.flush();
		out.close();
		return null;
	}
	
	/** 
	 * Method settop
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException 
	 * @throws ServletException 
	 */
	public ActionForward settop(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws IOException, ServletException {
		HttpSession session = request.getSession();
		Tuser user = (Tuser) session.getAttribute("user");
		Map hints = logindao.getHints(user.getUno());
		if (((String)hints.get("hshowtype")).equals("1")){//该用户是否需要显示小贴士
			HintBean hint = new HintBean();
			if(((String)hints.get("haffair")).equals("1")){//是否需要提示事务
				//取出所有登录用户当前未处理的事务
				List list = logindao.getAffair();
				int num = 0;
				if (list!=null){
					num = list.size();//获取当前未处理事务个数
				}
				String affairnum = String.valueOf(num)+"个";
				hint.setAffairname("您有当前未处理的事务");
				hint.setAffairpath("http://www.baidu.com");
				hint.setAffairnumber(affairnum);
			}
			
			if(((String)hints.get("hmeeting")).equals("1")){//是否需要提示会议
				//取出所有还没结束的会议信息
				List list = logindao.getMeeting();
				List newlist = new ArrayList();
				//是否有登录用户参加的会议
				for (int i = 0; i < list.size(); i++) {
					Map meet = (Map) list.get(i);
					String unos = (String) meet.get("munos");
					String[] uno = unos.split(",");
					for (int j = 0; j < uno.length; j++) {
						if(user.getUno().equals(uno[j])){
							newlist.add(list.get(i));//加入新的列表里
						}
					}
				}
				int num = 0;
				if (newlist!=null){
					num = newlist.size();//获取有参加的会议个数
				}
				String meetingnum = String.valueOf(num) + "个";
				hint.setMeetingname("您有待参加的会议通知");//标题
				hint.setMeetingpath("meet.do?task=query&uno="+user.getUno());//链接
				hint.setMeetingnumber(meetingnum);//数量
			}
			
			if(((String)hints.get("hemail")).equals("1")){//是否需要提示邮件
				//取出所有收件箱的未读邮件
				List list = logindao.getEmail();
				List newlist = new ArrayList();
				//是否有登录用户的邮件
				for (int i = 0; i < list.size(); i++) {
					Map meet = (Map) list.get(i);
					String unos = (String) meet.get("receiveid");
					String[] uno = unos.split(",");
					for (int j = 0; j < uno.length; j++) {
						if(user.getUno().equals(uno[j])){
							newlist.add(list.get(i));//加入新的列表里
						}
					}
				}
				int num = 0;
				if (newlist!=null){
					num = newlist.size();//获取未读邮件个数
				}
				String emailnum = String.valueOf(num)+"封";
				hint.setEmailname("您的收件箱有未读邮件");
				hint.setEmailpath("email.do?method=receiveBox&emailtype=0");
				hint.setEmailnumber(emailnum);
			}
			String interval = (String)hints.get("hshowtime");
			interval = interval+"000";//把秒化为毫秒
			hint.setInterval(interval);
			request.setAttribute("hint",hint);
		}
		return mapping.findForward("top");
	}
	
	
	/** 
	 * Method menu
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException 
	 * @throws ServletException 
	 */
	public ActionForward menu(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws IOException, ServletException {
		HttpSession session = request.getSession();
		Tuser user = (Tuser) session.getAttribute("user");
		List pmenu = logindao.getPmenu(user.getUname());
		List cmenu = logindao.getCmenu(user.getUname());
		request.setAttribute("pmenu",pmenu);
		request.setAttribute("cmenu",cmenu);
		//request.getRequestDispatcher("/Jsp_file/left.jsp").forward(request,response);
		return mapping.findForward("menu");
		
	}
	
	/** 
	 * Method main
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException 
	 */
	public ActionForward main(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws IOException {
		HttpSession session = request.getSession();
		Tuser user = (Tuser) session.getAttribute("user");
		List email = logindao.getEmail(user.getUno());
		List affair = logindao.getAffair(user.getUno());
		List meeting = logindao.getMeeting(user.getUno());
		String nowdate = ToolUtil.getNowDate();
		List affiche = logindao.getAffiche(nowdate);
		request.setAttribute("email",email);
		request.setAttribute("affair",affair);
		request.setAttribute("affiche",affiche);
		request.setAttribute("meeting",meeting);
		return mapping.findForward("main");
		
	}
	
}

⌨️ 快捷键说明

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