logoncontroller.java

来自「基于SPRING+DWR+EXT 技术的一个小项目(附源码和数据库脚本)」· Java 代码 · 共 126 行

JAVA
126
字号
package com.hr.controller;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

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

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import com.hr.Unit;
import com.hr.User;
import com.hr.dao.LogonDAO;
import com.philisense.arc.base.ProxyArcContext;
import com.philisense.arc.base.ProxyWebArcContext;
import com.philisense.arc.base.log.LoggerAdvice;

public class LogonController implements Controller {

	private LoggerAdvice log = null;

	private LogonDAO logonDAO;

	private LoggerAdvice getLogger() {
		if (log == null) {
			ProxyArcContext context = ProxyWebArcContext.getProxyArcContext();
			try {
				log = (LoggerAdvice) context.getLogFactory().getObject(getClass());
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return log;
	}

	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		getLogger();

		String isUserManagerOperation = request.getParameter("isUserManagerOperation");

		if (isUserManagerOperation == null) {
			log.info("logon hr system");

			String userName = request.getParameter("userName");
			String passWord = request.getParameter("passWord");

			log.info("userName:" + userName + ",passWord:" + passWord);

			response.setContentType("text/html; charset=UTF-8");
			PrintWriter pw = response.getWriter();

			if (userName == null || passWord == null || userName.equals("") || passWord.equals("")) {
				log.info("log fail!");
				pw.print("用户名或者密码不能为空!");
			} else if (userName.indexOf(" ") != -1 || passWord.indexOf(" ") != -1) {
				log.info("log fail!");
				pw.print("输入无效!");
			}

			List results = logonDAO.getUserList(userName, passWord);

			if (results.size() == 1) {
				log.info("log success!");
				User user = (User) results.get(0);

				if (user.getIsValid() != 1) {
					pw.print("该用户已被锁定!");
				} else {
					request.getSession().setAttribute("user", user);
					pw.print("success");
				}
			} else {
				log.info("log fail!");
				pw.print("用户名或者密码不正确!");
			}
		} else {

			String id = request.getParameter("id");
			String userName = request.getParameter("userName");
			String passWord = request.getParameter("passWord");
			String isValid = request.getParameter("isValid");

			int count;

			response.setContentType("text/html; charset=UTF-8");
			PrintWriter pw = response.getWriter();

			if (id == null && userName != null) {
				count = logonDAO.insertUser(userName, passWord, isValid);
				if (count == 1) {
					pw.print(count);
				} else {
					pw.print("error");
				}
			} else if (id != null && userName != null) {
				count = logonDAO.updateUser(id, userName, passWord, isValid);
				if (count == 1) {
					pw.print(count);
				} else {
					pw.print("error");
				}
			}

		}
		return null;
	}

	public int removeRecords(ArrayList<String> ids) throws Exception {
		return logonDAO.removeRecords(ids);
	}

	public List<User> getRecords() throws Exception {
		return logonDAO.getRecords();
	}

	public LogonDAO getLogonDAO() {
		return logonDAO;
	}

	public void setLogonDAO(LogonDAO logonDAO) {
		this.logonDAO = logonDAO;
	}
}

⌨️ 快捷键说明

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