📄 loginaction.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 + -