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

📄 usercontrol.java

📁 基于J2EE技术的 电子购物商城系统
💻 JAVA
字号:

package controls;

import java.io.IOException;
import java.io.PrintWriter;

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

import dataservice.UserService;
import domain.Cart;
import domain.Counter;
import domain.Goods;
import domain.User;

@SuppressWarnings("serial")
public class UserControl extends HttpServlet {

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
//		out.println("UserControl doGet-><br>");
		
		request.setCharacterEncoding("gb2312");
		String action = request.getParameter("action");
				
		if (action.equals("login")) {
			String userName = request.getParameter("username").trim();
			String password = request.getParameter("password");
			User user = new User();
			user.setId(userName);
			user.setPassword(password);
			login(user, request, response);
		}
		else if (action.equals("register")) {
			String userName = request.getParameter("username").trim();
			String password = request.getParameter("password");
			String confirm = request.getParameter("confirm");
			if (confirm.equals(password)) {
				User user = new User();
				user.setId(userName);
				user.setPassword(password);
				register(user, request, response);				
			}
			else {
				out.println("<body bgcolor=00aaff>");
				out.println("注册失败: <br>");
				out.println("两次输入的密码不一致!<br>");
			}
		}
		else if (action.equals("updatepassword")) {
			HttpSession session = request.getSession();
			User user = (User)session.getAttribute("user");
			String oldPassword = request.getParameter("oldpassword");
			String newPassword = request.getParameter("newpassword");
			String confirm = request.getParameter("confirm");
			if (user.getPassword().equals(oldPassword)
					&& newPassword.equals(confirm)) {
				updatePassword(user, newPassword, request, response);
			}
			else {
				out.println("<body bgcolor=00aaff>");
				out.println("修改密码失败: <br>");
				out.println("输入的密码不一致!<br>");
			}
		}
		else if (action.equals("updateinfo")) {
			HttpSession session = request.getSession();
			User user = (User)session.getAttribute("user");
			User newUser = new User(user.getId(), user.getPassword());
			newUser.setBalance(user.getBalance());
			newUser.setName(request.getParameter("name").trim());
			newUser.setGender(request.getParameter("gender").trim());
			newUser.setNote(request.getParameter("note").trim());
			updateInfo(user, newUser, request, response);
		}
		else if (action.equals("deposit")) {
			HttpSession session = request.getSession();
			User user = (User)session.getAttribute("user");
			double depositBalance = 0;
			try {
				depositBalance = Double.parseDouble(request.getParameter("deposit").trim());
				deposit(user, depositBalance, request, response);
			} catch (NumberFormatException e) {
				out.println("<body bgcolor=00aaff>");
				out.println("充值金必须为数字><br>");
				out.println("<a href=\"./user/deposit.jsp\">返回充值页面.</a>");
			}
		}
		else if (action.equals("addtocart")) {
			HttpSession session = request.getSession();
			User user = (User)session.getAttribute("user");
			Goods goods = (Goods)session.getAttribute("goods");
			Cart cart = (Cart)session.getAttribute("cart");
			int count = Integer.parseInt(request.getParameter("count").trim());
			addToCart(user, goods, cart, count, request, response);
		}
		else if (action.equals("removegoodsfromcart")) {
			String[] goodsIds = request.getParameterValues("goodsid");
			if (goodsIds != null && goodsIds.length > 0) {
				HttpSession session = request.getSession();
				User user = (User)session.getAttribute("user");
				Cart cart = (Cart)session.getAttribute("cart");
				Goods[] goodses = new Goods[goodsIds.length];
				for (int i = 0; i < goodses.length; i++) {
					goodses[i] = new Goods(goodsIds[i]);
					removeFromCart(user, cart, goodses[i], request, response);
				}
			}
		}
		else if (action.equals("logout")) {
			HttpSession session = request.getSession();
			session.removeAttribute("user");
			session.removeAttribute("cart");
			session.removeAttribute("counter");
			response.sendRedirect("./index.jsp");
		}
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		
		PrintWriter out = response.getWriter();
//		out.println("UserControl doPost-><br>");
		doGet(request, response);
	}
	
	public void login(User user, HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
//		out.println("UserControl login-><br>");

		errorMsg = us.loginCheck(user.getId(), user.getPassword());
		
		if (errorMsg == null) {
			user = us.getUser(user.getId());
			Cart cart = us.getCart(user.getId());
			cart.setUser(user);
			Counter counter = us.getCounter(user.getId());
			counter.setUser(user);
			HttpSession session = request.getSession();
			session.setAttribute("user", user);
			session.setAttribute("cart", cart);
			session.setAttribute("counter", counter);
			dispatcher = this.getServletContext().getRequestDispatcher("/user/userhome.jsp");
			dispatcher.forward(request, response);
		}
		else {
			errorMsg = "登陆失败: " + errorMsg;
			error(request, response);
		}
	}
	
	public void register(User user, HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
//		out.println("UserControl register-><br>");
		
		errorMsg = us.register(user.getId(), user.getPassword());
		
		if (errorMsg == null) {
			HttpSession session = request.getSession();
			session.setAttribute("user", user);
			session.setAttribute("cart", new Cart(user));
			session.setAttribute("counter", new Counter(user));
			out.println("<body bgcolor=00aaff>");
			out.println("<cnter>注册成功!<br></center>");
			out.println("<a href=\"./user/userhome.jsp\">我的主页.</a>");
		}
		else {
			errorMsg = "注册失败: " + errorMsg;
			error(request, response);
		}
	}
	
	public void updatePassword(User user, String newPassword,
			HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
//		out.println("UserControl updatePassword-><br>");
		
		errorMsg = us.updatePassword(user.getId(), user.getPassword(), newPassword);
		
		if (errorMsg == null) {
			user.setPassword(newPassword);
			HttpSession session = request.getSession();
			session.setAttribute("user", user);

			out.println("<body bgcolor=00aaff>");
			out.println("密码修改成功!<br>");
			out.println("<a href=\"./user/userhome.jsp\">返回我的主页.</a><br>");
		}
		else {
			errorMsg = "密码修改失败: " + errorMsg;
			error(request, response);
		}
	}
	
	public void updateInfo(User user, User newUser, 
			HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
//		out.println("UserControl updateInfo-><br>");
		
		errorMsg = us.updateInfo(user.getId(), user.getPassword(), newUser.getName(), newUser.getGender(), newUser.getNote());
		
		if (errorMsg == null) {
			HttpSession session = request.getSession();
			session.setAttribute("user", newUser);
			
			out.println("<body bgcolor=00aaff>");
			out.println("修改信息成功!<br>");
			out.println("<a href=\"./user/info.jsp\">查看修改后的个人信息.</a><br>");
		}
		else {
			errorMsg = "修改信息失败: " + errorMsg;
			error(request, response);
		}
	}
	
	public void deposit(User user, double depositBalance, 
			HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
//		out.println("UserControl deposit-><br>");
		
		errorMsg = us.deposit(user.getId(), depositBalance);
		
		if (errorMsg == null) {
			HttpSession session = request.getSession();
			user = us.getUser(user.getId());
			session.setAttribute("user", user);
			
			out.println("<body bgcolor=00aaff>");
			out.println("充值成功!<br>");
			out.println("<a href=\"./user/info.jsp\">查看我的余额.</a><br>");
		}
		else {
			errorMsg = "充值失败: " + errorMsg;
			error(request, response);
		}
	}
	public void addToCart(User user, Goods goods, Cart cart, int count, 
			HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
//		out.println("UserControl addToCart-><br>");
		
		errorMsg = us.addGoodToCart(user.getId(), user.getPassword(), goods.getId(), count, "普通商品");
		
		if (errorMsg == null) {
			cart.addGood(goods, count);
			HttpSession session = request.getSession();
			session.setAttribute("cart", cart);
			
			out.println("<body bgcolor=00aaff>");
			out.println("添加商品成功!<br>");
			out.println("<a href=\"./goods/goodslist.jsp\">继续添加.</a><br>");
			out.println("<a href=\"./user/mycart.jsp\">查看我的购物车.</a><br>");
		}
		else {
			errorMsg = "添加失败: " + errorMsg;
			error(request, response);
		}
	}
	
	public void removeFromCart(User user, Cart cart, Goods goods,
			HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		PrintWriter out = response.getWriter();
//		out.println("UserControl removeFromCart-><br>");
		
		errorMsg = us.removeGoodFromCart(user.getId(), user.getPassword(), goods.getId(), "普通商品");
		
		if (errorMsg == null) {
			cart.removeGood(goods);
			HttpSession session = request.getSession();
			session.setAttribute("cart", cart);
			
			out.println("<body bgcolor=00aaff>");
			out.println("删除成功!<br>");
			out.println("<a href=\"./user/mycart.jsp\">查看我的购物车.</a><br>");
		}
		else {
			errorMsg = "删除失败: " + errorMsg;
			error(request, response);
		}
	}
	
	public void error(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		request.setAttribute("errorMsg", errorMsg);
		dispatcher = this.getServletContext().getRequestDispatcher("/error.jsp");
		dispatcher.forward(request, response);
	}
	
	String errorMsg = new String();
	UserService us = new UserService();
	RequestDispatcher dispatcher = null;
}

⌨️ 快捷键说明

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