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