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

📄 actionservlet.java

📁 用户管理系统:用户登录,用户注册,用户修改,用户删除等等功能
💻 JAVA
字号:
package com.allan.ums.action;

import java.io.IOException;
import java.util.Collection;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.allan.ums.entity.Administrator;
import com.allan.ums.entity.User;
import com.allan.ums.service.AdministratorService;
import com.allan.ums.service.UserService;
import com.allan.ums.util.RequestUtil;
import com.allan.ums.util.TokenUtil;
import com.allan.ums.util.UmsUtil;

public class ActionServlet extends HttpServlet {
	private UserService userService = new UserService();

	private AdministratorService adminService = new AdministratorService();

	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String path = request.getServletPath();
		path = path.substring(0, path.indexOf("."));
		String nextPage = null;
		if (path.equals("/user/search")) {
			// HttpSession session = request.getSession(false);
			// if(session == null){
			// nextPage = "/index.html";
			// }else if(session.getAttribute("admin") == null){
			// nextPage = "/index.html";
			// } else {
			nextPage = searchUsers(request, response);
			// }
		} else if (path.equals("/user/add")) {
			// boolean isLegal = TokenUtil.isTokenValid(request);
			// if (isLegal) {
			nextPage = addUser(request, response);
			// response.sendRedirect(nextPage);
			// } else {
			// nextPage = "/user/add.jsp";
			// }
		} else if (path.equals("/user/modify")) {
			nextPage = modifyUser(request, response);
		} else if (path.equals("/user/remove")) {
			nextPage = removeUser(request, response);
		} else if (path.equals("/user/load")) {
			nextPage = loadUser(request, response);
		} else if (path.equals("/login")) {
			// boolean isLegal = TokenUtil.isTokenValid(request);
			// if (isLegal) {
			nextPage = login(request, response);
			// } else {
			// nextPage = "/index.jsp";
			// }
		} else if (path.equals("/logout")) {
			nextPage = logout(request, response);
		} else {
			response.sendError(HttpServletResponse.SC_NOT_FOUND, path
					+ " is not a valid request url");
		}

		RequestUtil.forward(getServletContext(), request, response, nextPage);
	//	response.sendRedirect(nextPage);
	}

	private String searchUsers(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		User user = new User();
		String username = request.getParameter("username");
		if (username != null && username.trim().length() > 0) {
			user.setUsername(username);
		}
		String gender = request.getParameter("gender");
		if (gender != null && !gender.equals("all")) {
			user.setGender(gender);
		}

		String email = request.getParameter("email");
		if (email != null && email.trim().length() > 0) {
			user.setEmail(email);
		}
		System.out.println(user);
		// 获取当前的会话,在登录时开始的.(加入会话)
		HttpSession session = request.getSession();
		// 将查询条件保存的会话空间中,供以后的功能使用
		session.setAttribute("searchCondition", user);
		try {
			Collection<User> users = userService.find(user);
			request.setAttribute("users", users);
			return "/user/list.jsp";
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "/error.jsp";
	}

	private String removeUser(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		try {
			userService.remove(Integer.parseInt(id));
			HttpSession session = request.getSession();
			User user = (User) session.getAttribute("searchCondition");
			Collection<User> users = userService.find(user);
			request.setAttribute("users", users);
			return "/user/list.jsp";
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "/error.jsp";
	}

	private String loadUser(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		System.out.println("id:" + id);
		try {
			User user = userService.find(Integer.parseInt(id));
			System.out.println(user);
			request.setAttribute("user", user);
			return "/user/edit.jsp";
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "/error.jsp";
	}

	private String addUser(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String gender = request.getParameter("gender");
		String email = request.getParameter("email");
		String[] hobbies = request.getParameterValues("hobbies");
		User user = new User();
		user.setUsername(username);
		user.setPassword(password);
		user.setGender(gender);
		user.setEmail(email);
		user.setHobbies(UmsUtil.join(hobbies, ','));
		try {
			userService.add(user);
			Collection<User> users = userService.find(new User());
			request.setAttribute("users", users);
			return "/user/list.jsp";
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "/error.jsp";
	}

	private String modifyUser(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String gender = request.getParameter("gender");
		String email = request.getParameter("email");
		String[] hobbies = request.getParameterValues("hobbies");
		User user = new User();
		user.setId(Integer.parseInt(id));
		user.setUsername(username);
		user.setPassword(password);
		user.setGender(gender);
		user.setEmail(email);
		user.setHobbies(UmsUtil.join(hobbies, ','));
		try {
			userService.modify(user);
			Collection<User> users = userService.find(new User());
			request.setAttribute("users", users);
			return "/user/list.jsp";
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "/error.jsp";
	}

	private String login(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String username = request.getParameter("username");
		String password = request.getParameter("password");

		try {
			Administrator admin = adminService.find(username.trim(), password
					.trim());
			if (admin != null) {
				// 处理Cookie信息
				int period = Integer.parseInt(request.getParameter("period"));
				if (period > 0) {
					Cookie u = new Cookie("username", username);
					Cookie p = new Cookie("password", password);
					u.setMaxAge(60 * 60 * 24 * 30 * period);
					p.setMaxAge(60 * 60 * 24 * 30 * period);
					response.addCookie(u);
					response.addCookie(p);
				}
				// 创建会话对象(开始会话)
				HttpSession session = request.getSession();
				session.setAttribute("admin", admin);
				return "/user/search.jsp";
			} else {
				return "/index.jsp";
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "/error.jsp";
	}

	private String logout(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession();
		session.invalidate();
		return "/index.jsp";
	}

	@Override
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		execute(request, response);
	}

	@Override
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		execute(request, response);
	}
}

⌨️ 快捷键说明

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