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

📄 adminservlet.java

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

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;

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

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.qyg.shop.product.Product;
import com.qyg.shop.product.ProductManageDAO;
import com.qyg.shop.sales.Sales;
import com.qyg.shop.sales.SalesDAO;
import com.qyg.shop.sales.SalesManageDAO;
import com.qyg.shop.user.User;
import com.qyg.shop.user.UserDAO;
import com.qyg.shop.user.UserManageDAO;
import com.qyg.tools.MD5;

public class AdminServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public AdminServlet() {
		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 {
		String action = request.getParameter("action");
		
		if(action!=null){
			if(action.equals("adminLogin")){
				String adminName=request.getParameter("admin");
				String adminPwd=request.getParameter("pwd");
				String checkWord=request.getParameter("check");
				String adminPm="admin";
				UserDAO ud=new UserManageDAO();
				User user=null;
				//是否存在名为adminName用户
				//new MD5().getMD5ofStr
				MD5 m = new MD5();
				if((user=ud.findUserByName(adminName))!=null){
					if (checkWord.equals(request.getSession().getAttribute("rand"))) {
						if (user.getPwd().equals(m.getMD5ofStr(adminPwd))
								&& user.getPower().equals(adminPm)) {
							request.getSession().setAttribute("adminName", adminName);
							request.getSession().setAttribute("adminId", user.getId());
							response.sendRedirect("../manage/Index.jsp");
						} else {
							response.sendRedirect("../manage/Login.jsp?err=1");
						}
					}
					else{
						response.sendRedirect("../manage/Login.jsp?err=2");
					}
				}
				else{
					response.sendRedirect("../manage/Login.jsp?err=1");
				}
			}
			
			else if(action.equals("productEdit")){
				request.setCharacterEncoding("GBK");
				response.setCharacterEncoding("GBK");
				String fileName=null;//文件名
				String productName=null;
				double price=0.0;
				int cid=0;
				String disc=null;

					FileItemFactory fif=new DiskFileItemFactory();
					ServletFileUpload sfu=new ServletFileUpload(fif);//这两行构造了一个上传处理对象
					Iterator items;
					
					try{
						items=sfu.parseRequest(request).iterator();//解析出表单中提交的所有内容
						while(items.hasNext()){
							
							FileItem fi=(FileItem)items.next();
							//利用fi.getFieldName得到表单提交项名称
							System.out.println(fi.getFieldName()+"9999");//测试fi中的字段
							if(fi.getFieldName().equals("name")){
								productName=fi.getString();//利用fi.getString得到表单提交项的具体值,存在编码问题
								productName=new String(productName.getBytes("ISO-8859-1"),"GBK");
							}
							if(fi.getFieldName().equals("cid")){
								cid=Integer.parseInt(fi.getString());
							}
							if(fi.getFieldName().equals("price")){
								price=Double.parseDouble(fi.getString());
							}
							if(fi.getFieldName().equals("disc")){
								disc=fi.getString();
								disc=new String(disc.getBytes("ISO-8859-1"),"GBK");
							}
							if(!fi.isFormField()){
								String name=fi.getName();
								fileName=name.substring(name.lastIndexOf('\\')+1,name.length());//以上两行获得文件名
								String filePath=request.getRealPath("img")+File.separatorChar+fileName;//获得文件上传后服务器存储路径,并存到file文件夹中
								File uploadeFile=new File(filePath);
								fi.write(uploadeFile);//以上两行代码将上传文件存储到服务器中
								
								//打印上传成功信息
								response.setContentType("text/html");
								response.setCharacterEncoding("GBK");
								PrintWriter out=response.getWriter();
								out.print("name:"+name);
								out.print("url"+filePath);
								
							}
						}
					}
					catch (Exception e) {
						// TODO: handle exception
						System.out.print("上传文件错误");
						e.printStackTrace();
					}
//				}
				//更新id对应的商品
				if (request.getSession().getAttribute("id") != null) {
					int id=Integer.parseInt(request.getSession().getAttribute("id").toString());
					Product product=new Product();
					product.setProduct_id(id);
					product.setProduct_name(productName);
					product.setProduct_cId(cid);
					product.setProduct_price(price);
					product.setProduct_descr(disc);
					if (fileName != null) {
						product.setProduct_image(fileName);
					} else {
						product.setProduct_image("md_raitaca328.jpg");
					}
					new ProductManageDAO().update(product);
				}
				//新增商品
				else{
					Product product=new Product();
					product.setProduct_name(productName);
					product.setProduct_cId(cid);
					product.setProduct_price(price);
					product.setProduct_descr(disc);
					if (fileName != null) {
						product.setProduct_image(fileName);
					} else {
						product.setProduct_image("md_raitaca328.jpg");
					}
					new ProductManageDAO().add(product);
				}
			}
			
			else if(action.equals("userEdit")){
				response.setContentType("text/html");
				response.setCharacterEncoding("GBK");
				PrintWriter out = response.getWriter();
				//更新id对应的用户
				if(request.getSession().getAttribute("id")!=null){
					int id=Integer.parseInt(request.getSession().getAttribute("id").toString());
					User user=new User();
					user.setId(id);
					// String name=request.getSession().getAttribute("name").toString();测试用
					user.setName(request.getParameter("name"));
					user.setPwd(new MD5().getMD5ofStr(request.getParameter("pwd")));
					user.setPhone(request.getParameter("phone"));
					user.setAddr(request.getParameter("addr"));
					user.setPower(request.getParameter("power"));
					user.setMoney(Double.parseDouble(request.getParameter("money")));
					new UserManageDAO().update(user);
					out.println("修改成功");
					out.print("<a href='../manage/User.jsp'>返回管理页</a>");
					out.flush();
					out.close();
				}
				//新增用户
				else{
					User user=new User();
					// String name=request.getSession().getAttribute("name").toString();测试用
					user.setName(request.getParameter("name"));
					user.setPwd(new MD5().getMD5ofStr(request.getParameter("pwd")));
					user.setPhone(request.getParameter("phone"));
					user.setAddr(request.getParameter("addr"));
//					user.setRdate(new Date());
					user.setPower(request.getParameter("power"));
					user.setMoney(Double.parseDouble(request.getParameter("money")));
					new UserManageDAO().add(user);
					out.println("新增成功");
					out.print("<a href='../manage/User.jsp'>返回管理页</a>");
					out.flush();
					out.close();
				}
			}
			
			else if(action.equals("quitAdmin")){
				response.setContentType("text/html");
				PrintWriter out = response.getWriter();
				request.getSession().removeAttribute("adminName");
				request.getSession().removeAttribute("adminId");
				//利用JS实现整个框架跳转
				out.print("<script language='javascript'>if (top != self)top.location.href ='../manage/Login.jsp';" +
						"</script>");
				out.flush();
				out.close();
			}
			
			else if(action.equals("orderOver")){
				String salesid = request.getParameter("salesid");
				int sales_id = 20;
				try{
					sales_id = Integer.parseInt(salesid);
				}catch(Exception e){
					System.out.println("NumberFormatException");
				}
				SalesDAO dao = new SalesManageDAO();
				Sales sales = dao.getSalesById(sales_id);
				sales.setSales_state(1);                  //将消费状态设置为1
				dao.update(sales);
				response.sendRedirect("../manage/order.jsp");
			}
			
		}		
	}

	/**
	 * 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 + -