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

📄 userservlet.java

📁 这是我们做的一个网上购物系统,包手用户和管理员两大功能模块,采用jsp+servlet+java bean技术.
💻 JAVA
字号:
package com.qyg.servlets;

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

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 com.qyg.shop.account.*;
import com.qyg.shop.sales.*;
import com.qyg.shop.user.*;
import com.qyg.tools.Card;
import com.qyg.tools.MD5;

public class UserServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public UserServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request,response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//获取请求的参数信息
		HttpSession session = request.getSession();
		String action = request.getParameter("action");
		
		if(action!=null){
			if(action.equals("regist")){
				String userName = request.getParameter("userName");
				String password = request.getParameter("password");
				String address = request.getParameter("address");
				String phone = request.getParameter("phone");
				
				String newpwd = new MD5().getMD5ofStr(password);
				//创建一个用户对象
				User newUser = new User();
				//设置用户的个人信息
				newUser.useAutoID();
				int id = newUser.getId();
				newUser.setName(userName);
				newUser.setPwd(newpwd);
				newUser.setMoney(100000);
				newUser.setPower("member");
		
				if(phone!=null){
					newUser.setPhone(phone);
				}
				if(address!=null){
					newUser.setAddr(address);
				}
				UserDAO dao = new UserManageDAO();
				if(dao.getUserById(id)!=null){
					dao.addUser(newUser);
				}
				else{
					newUser.useAutoID();
					dao.addUser(newUser);
				}
				response.sendRedirect("../registPage.jsp?errInfo=null_error&id="+newUser.getId());
			}
			
			else if(action.equals("login")){
				String idString = request.getParameter("id");
				String password = request.getParameter("pwd");
				String check = request.getParameter("check");
				
				String verify = (String)session.getAttribute("rand");
				int id = 0;
				try{
					id = Integer.parseInt(idString);
				}catch(NumberFormatException e){
					System.out.println("NumberFormatError");
					response.sendRedirect("../headpage.jsp?errInfo=id_error");
					return;
				}
				if(verify.equals(check)){
					UserDAO dao = new UserManageDAO();
					User user = dao.getUserById(id);
					if(new MD5().getMD5ofStr(password).equals(user.getPwd())){
						session.setAttribute("loginUser", user);
						Card card = new Card();
						session.setAttribute("mycard", card);
						response.sendRedirect("../userframe.jsp");
					}
					else{
						response.sendRedirect("../headpage.jsp?errInfo=pwd_error");
					}
				}else{
					response.sendRedirect("../headpage.jsp?errInfo=verify_error");
				}
			}
			
			else if(action.equals("changeInfo")){
				String newAddr = request.getParameter("newAddr");
				String newPhone = request.getParameter("newPhone");
				if("".equals(newAddr)){
					newAddr="null";
				}
				if("".equals(newPhone)){
					newPhone = "null";
				}
				User currUser = (User)session.getAttribute("loginUser");
				currUser.setAddr(newAddr);
				currUser.setPhone(newPhone);
		
				UserDAO userDao = new UserManageDAO();
				userDao.update(currUser);
				response.sendRedirect("../page/userInfo.jsp");
			}
			
			else if(action.equals("changePwd")){
				User loginUser = (User)session.getAttribute("loginUser");
				String oldPwd = request.getParameter("oldPwd");
				String newPwd = request.getParameter("newPwd");
				if(loginUser!=null){
					UserDAO userDao = new UserManageDAO();
					try {
						User user = userDao.getUserById(loginUser.getId());
						
						String password = user.getPwd();
						if(password.equals(new MD5().getMD5ofStr(oldPwd))){
							user.setPwd(new MD5().getMD5ofStr(newPwd));
							userDao.update(user);
							response.sendRedirect("../page/changePwd.jsp?errInfo=null_error");
						}else{
							response.sendRedirect("../page/changePwd.jsp?errInfo=pwd_error");
						}
						
					} catch (Exception e) {
						// TODO Auto-generated catch block
						response.sendRedirect("../page/changePwd.jsp?errInfo=changepwd_error");
					} 
				}else{
					response.sendRedirect("../page/changePwd.jsp?errInfo=nulluser_error");
				}
			}
			
			else if(action.equals("delAccount")){
				User currUser = (User)session.getAttribute("loginUser");
				UserDAO userDao = new UserManageDAO();
				SalesDAO sdao = new SalesManageDAO();
				if(currUser!=null){
					int id = currUser.getId();
					try {
						userDao.delete(id);
						//注销用户的同时删除数据库中用户的消费信息
						String SQL = "select * from sales where sales_userId="+id;
						ArrayList<Sales> sals = sdao.getSalesBySQL(SQL);
						if(sals!=null){
							for(int i=0;i<sals.size();i++){
								sdao.delete(sals.get(i).getSales_id());
							}
						}
					} catch (Exception e) {
						// TODO Auto-generated catch block
						System.out.println("删除用户失败");
						e.printStackTrace();
					}
					session.removeAttribute("loginUser");
					response.getWriter().print("<script language='javascript'>if (top != self)top.location.href ='../headpage.jsp';" +
					"</script>");
					//response.sendRedirect("../headpage.jsp");
				}else{
					response.sendRedirect("../page/DelAccounts.jsp?errorInfo=nulluser_error");
				}
			}
			
			else if(action.equals("requestAccount")){
				String accountStr = request.getParameter("account");//获取充值金额
				double account_money = 0.0;
				try{
					account_money = Double.parseDouble(accountStr);
				}catch(Exception e){
					System.out.print(e.getClass()+": "+e.getStackTrace());
					response.sendRedirect("../page/requestAccount.jsp?errorInfo=format_error");
					return;
				}
				User loginUser = (User)session.getAttribute("loginUser");
				Account requestAccount = new Account();
				requestAccount.setAccount_money(account_money);
				if(loginUser!=null){
					requestAccount.setAccount_userId(loginUser.getId());
					AccountDAO accDao = new AccountManageDAO();
					accDao.add(requestAccount);
					response.sendRedirect("../page/requestAccount.jsp?errorInfo=null_error");
				}else{
					response.sendRedirect("../page/requestAccount.jsp?errorInfo=nulluser_error");
				}
			}
			
		}
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}

⌨️ 快捷键说明

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