ManagerAction.java
上传用户:toby828
上传日期:2015-06-26
资源大小:8558k
文件大小:9k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.webtier;
  2. import org.apache.struts.action.*;
  3. import javax.servlet.http.*;
  4. import com.domain.ManagerForm;
  5. import com.dao.ManagerDao;
  6. import com.tool.Chinese;
  7. import com.tool.ManagerList;
  8. import java.util.*;
  9. import com.tool.ManagerTrace;
  10. //后台管理员的Action
  11. public class ManagerAction
  12.     extends Action {
  13.   private ManagerDao dao = null;
  14.   private int action;
  15.   private HttpSession session = null;
  16.   public ActionForward execute(ActionMapping mapping,
  17.                                ActionForm form,
  18.                                HttpServletRequest request,
  19.                                HttpServletResponse response) {
  20.     dao = new ManagerDao();
  21.     action = Integer.parseInt(request.getParameter("action"));
  22.     switch (action) {
  23.       case 0: {
  24.         return managerCheck(mapping, form, request, response); //判断管理员登录后台
  25.       }
  26.       case 1: {
  27.         return managerSelect(mapping, form, request, response); //查询所有的管理员信息
  28.       }
  29.       case 2: {
  30.         return managerForwardInsert(mapping, form, request, response); //通过类转向添加管理员的页面
  31.       }
  32.       case 3: {
  33.         return managerInsert(mapping, form, request, response); //添加管理员信息
  34.       }
  35.       case 4: {
  36.         return managerDelete(mapping, form, request, response); //添加管理员信息
  37.       }
  38.       case 5: {
  39.         return managerSelectContent(mapping, form, request, response); //查询管理员信息
  40.       }
  41.       case 6: {
  42.         return managerUpdate(mapping, form, request, response); //修改管理员信息
  43.       }
  44.       case 7: {
  45.         return managerForwardPassword(mapping, form, request, response); //转向修改密码的页面
  46.       }
  47.       case 8: {
  48.         return managerUpdatePassword(mapping, form, request, response); //转向修改密码的页面
  49.       }
  50.     }
  51.     throw new java.lang.UnsupportedOperationException(
  52.         "Method $execute() not yet implemented.");
  53.   }
  54. //修改管理员密码
  55.   public ActionForward managerUpdatePassword(ActionMapping mapping,
  56.                                              ActionForm form,
  57.                                              HttpServletRequest request,
  58.                                              HttpServletResponse response) {
  59.     ManagerForm managerForm = (ManagerForm) form;
  60.     managerForm.setAccount(request.getParameter("account"));
  61.     managerForm.setPassword(request.getParameter("password"));
  62.     dao.updateManagerPassword(managerForm);
  63.     request.setAttribute("success", "修改后台管理员密码成功!!!");
  64.     return mapping.findForward("managerOperation");
  65.   }
  66. //转向修改密码的页面
  67.   public ActionForward managerForwardPassword(ActionMapping mapping,
  68.                                               ActionForm form,
  69.                                               HttpServletRequest request,
  70.                                               HttpServletResponse response) {
  71.     return mapping.findForward("managerForwardPassword");
  72.   }
  73. //修改管理员信息
  74.   public ActionForward managerUpdate(ActionMapping mapping,
  75.                                      ActionForm form,
  76.                                      HttpServletRequest request,
  77.                                      HttpServletResponse response) {
  78.     ManagerForm managerForm = (ManagerForm) form;
  79.     managerForm.setAccount(request.getParameter("account"));
  80.     managerForm.setPassword(request.getParameter("password"));
  81.     managerForm.setName(Chinese.chinese(request.getParameter("name")));
  82.     managerForm.setId(Integer.valueOf(request.getParameter("id")));
  83.     dao.updateManager(managerForm);
  84.     request.setAttribute("success", "修改后台管理员信息成功!!!");
  85.     return mapping.findForward("managerOperation");
  86.   }
  87. //单独查询管理员信息
  88.   public ActionForward managerSelectContent(ActionMapping mapping,
  89.                                             ActionForm form,
  90.                                             HttpServletRequest request,
  91.                                             HttpServletResponse response) {
  92.     request.setAttribute("manager",
  93.                          dao.selectOne(request.getParameter("account")));
  94.     return mapping.findForward("managerSelectContent");
  95.   }
  96.   //添加管理员信息
  97.   public ActionForward managerDelete(ActionMapping mapping,
  98.                                      ActionForm form,
  99.                                      HttpServletRequest request,
  100.                                      HttpServletResponse response) {
  101.     dao.deleteManager(Integer.valueOf(request.getParameter("id")));
  102.     request.setAttribute("success", "删除后台管理员信息成功!!!");
  103.     return mapping.findForward("managerOperation");
  104.   }
  105. //添加管理员信息
  106.   public ActionForward managerInsert(ActionMapping mapping,
  107.                                      ActionForm form,
  108.                                      HttpServletRequest request,
  109.                                      HttpServletResponse response) {
  110.     ManagerForm managerForm = (ManagerForm) form;
  111.     String account = request.getParameter("account");
  112.     ManagerForm manager = dao.selectOne(account);
  113.     if (manager == null || manager.equals("")) {
  114.       managerForm.setAccount(account);
  115.       managerForm.setPassword(request.getParameter("password"));
  116.       managerForm.setName(Chinese.chinese(request.getParameter("name")));
  117.       dao.insertManager(managerForm);
  118.       request.setAttribute("success", "添加后台管理员信息成功!!!");
  119.     }
  120.     else {
  121.       request.setAttribute("success", "此用户名已经存在!!!");
  122.     }
  123.     return mapping.findForward("managerOperation");
  124.   }
  125. //通过类转向添加管理员的页面
  126.   public ActionForward managerForwardInsert(ActionMapping mapping,
  127.                                             ActionForm form,
  128.                                             HttpServletRequest request,
  129.                                             HttpServletResponse response) {
  130.     return mapping.findForward("managerForwardInsert");
  131.   }
  132. //查询所有的管理员信息
  133.   public ActionForward managerSelect(ActionMapping mapping,
  134.                                      ActionForm form,
  135.                                      HttpServletRequest request,
  136.                                      HttpServletResponse response) {
  137.     List list = dao.selectManager();
  138.     int pageNumber = list.size(); //计算出有多少条记录
  139.     int maxPage = pageNumber; //计算有多少页数
  140.     String number = request.getParameter("i");
  141.     if (maxPage % 7 == 0) {
  142.       maxPage = maxPage / 7;
  143.     }
  144.     else {
  145.       maxPage = maxPage / 7 + 1;
  146.     }
  147.     if (number == null) {
  148.       number = "0";
  149.     }
  150.     request.setAttribute("number", String.valueOf(number));
  151.     request.setAttribute("maxPage", String.valueOf(maxPage));
  152.     request.setAttribute("pageNumber", String.valueOf(pageNumber));
  153.     request.setAttribute("list", list);
  154.     return mapping.findForward("managerSelect");
  155.   }
  156.   //判断管理员登录后台
  157.   public ActionForward managerCheck(ActionMapping mapping,
  158.                                     ActionForm form,
  159.                                     HttpServletRequest request,
  160.                                     HttpServletResponse response) {
  161.     String account = Chinese.chinese(request.getParameter("account"));
  162.     String password = dao.selectPassword(account);
  163.     //-----------------------------------------------------
  164.     boolean flag = true;
  165.     session = request.getSession();
  166.     ManagerList manger = ManagerList.getInstance();
  167.     Vector vc = manger.getList();
  168.     ManagerForm manager = dao.selectOne(account);
  169.     if (!vc.isEmpty() && vc != null) {
  170.       Enumeration en = vc.elements();
  171.       while (en.hasMoreElements()) {
  172.         ManagerForm admin = (ManagerForm) en.nextElement();
  173.         if (admin.getAccount().equals(account)) {
  174.           flag = false; //管理员在线
  175.         }
  176.       }
  177.     }
  178.     else {
  179.       flag = true;
  180.     }
  181.     //-----------------------------------------------------
  182.     if (password.equals("") || password == null) {
  183.       request.setAttribute("result", "您输入的账号和密码不存在!!!");
  184.       return mapping.findForward("checkResult");
  185.     }
  186.     else if (!password.equals(Chinese.chinese(request.getParameter("password")))) {
  187.       request.setAttribute("result", "您输入的密码不存在!!!");
  188.       return mapping.findForward("checkResult");
  189.     }
  190.     else if (!flag) {
  191.       request.setAttribute("result", "您输入的用户名正在使用中!!!");
  192.       return mapping.findForward("checkResult");
  193.     }
  194.     else {
  195.       int id = manager.getId().intValue();
  196.       ManagerTrace managerTrace = new ManagerTrace();
  197.       managerTrace.setId(id);
  198.       manger.addManager(manager);
  199.       session.setAttribute("managerTrace", managerTrace);
  200.       session.setAttribute("id", String.valueOf(id));
  201.       request.setAttribute("manager", manager);
  202.       return mapping.findForward("checkResult");
  203.     }
  204.   }
  205. }