作者:夜未央5788

项目介绍

本系统分为前后台,普通用户可在前台页面购买宠物,加入购物车、查看订单等;后台为管理员登录,可对用户、商品、订单、留言、新闻等进行管理。本系统分为普通用户和管理员两种角色;
管理员角色包含以下功能:
登录,首页,用户管理,宠物管理,订单管理,留言管理,新闻管理,新增用户,添加分类,添加宠物,添加新闻,分类管理等功能。

用户角色包含以下功能:
注册,登录,首页,狗狗分类,个人订单,详情页,结算,留言等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;

6.是否Maven项目:否;

技术栈

JSP+CSS+JavaScript+servlet+mysql

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中src/com/hr/dao/Basedao.java配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/login.jsp 登录
管理员账号/密码:admin/admin 

用户账号/密码: user/123456

运行截图

前台界面

java宠物商店类图设计 宠物商店java项目_java宠物商店类图设计

java宠物商店类图设计 宠物商店java项目_java_02

 

java宠物商店类图设计 宠物商店java项目_i++_03

 

java宠物商店类图设计 宠物商店java项目_ide_04

 

java宠物商店类图设计 宠物商店java项目_i++_05

 

java宠物商店类图设计 宠物商店java项目_开发语言_06

 

java宠物商店类图设计 宠物商店java项目_ide_07

 

 

后台界面

java宠物商店类图设计 宠物商店java项目_java宠物商店类图设计_08

java宠物商店类图设计 宠物商店java项目_ide_09

 

java宠物商店类图设计 宠物商店java项目_开发语言_10

 

java宠物商店类图设计 宠物商店java项目_i++_11

 

java宠物商店类图设计 宠物商店java项目_java宠物商店类图设计_12

 

 

相关代码 

UpdateServlet

package com.web.shopservlet;


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

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

import com.hr.dao.ESDao;
import com.hr.entity.eb_shop;

public class UpdateServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {
		arg1.setContentType("text/html;charset=utf-8");
		PrintWriter out = arg1.getWriter();
		String str1=arg0.getParameter("pid");
		String str2=arg0.getParameter("action");
		String str3=arg0.getParameter("getvalue");
		if(str2.equals("jia")){
			int count=ESDao.updateJia(Integer.parseInt(str1));
		}
		if(str2.equals("jian")){
			int count=ESDao.updateJian(Integer.parseInt(str1));
			
		}
		if(str2.equals("closeText")){
			eb_shop es=new eb_shop(Integer.parseInt(str1), "1", "1", 1, Integer.parseInt(str3), 1, 1, "1", 1);
			int count=ESDao.updateClose(es);
		}
		if(str2.equals("delText")){
			int count=ESDao.getDeleteDD(Integer.parseInt(str1));
		}
		arg1.sendRedirect("ShopSelect");
	}
}

ShopSelect

package com.web.shopservlet;


//订单表数据的查询

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.hr.dao.ESDao;
import com.hr.entity.EASYBUY_USER;
import com.hr.entity.eb_shop;
import com.hr.util.EncodeUtil;

public class ShopSelect extends HttpServlet {
	@Override
	protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {
		EncodeUtil.encode(arg0);
		arg1.setContentType("text/html;charset=utf-8");
		PrintWriter out = arg1.getWriter();
		HttpSession session=arg0.getSession();
		EASYBUY_USER userCZ=(EASYBUY_USER)session.getAttribute("name");
		if(userCZ!=null){
//			System.out.println("登录好了");
			EASYBUY_USER eu=(EASYBUY_USER)session.getAttribute("name");
			String id=(String)eu.getEU_USER_ID();
			ArrayList<eb_shop> list=ESDao.getShop(id);
			arg0.setAttribute("shoplist",list);
			arg0.getRequestDispatcher("shopping.jsp").forward(arg0, arg1);
		}else{
			out.print("<script>");
			out.print("alert('请先登录');");
			out.print("location.href='login.jsp';");
			out.print("</script>");
			out.close();
			
		}
	}
}

gmServlet

package com.web.shopservlet;


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

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.hr.dao.ESDao;
import com.hr.entity.EASYBUY_ORDER_DETAIL;
import com.hr.entity.EASYBUY_USER;
import com.hr.util.EncodeUtil;


public class gmServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
		throws ServletException, IOException {
	arg1.setContentType("text/html;charset=utf-8");
	PrintWriter out=arg1.getWriter();
	EncodeUtil.encode(arg0);
	HttpSession session=arg0.getSession();
	EASYBUY_USER list=(EASYBUY_USER)session.getAttribute("name");
	//用户id
	String id=list.getEU_USER_ID();
	//用户姓名
	String name=list.getEU_USER_NAME();
	//用户地址
	String address=list.getEU_ADDRESS();
	//总价钱
	String price=arg0.getParameter("jstext");
	
	//商品id
	String [] EP_ID=arg0.getParameterValues("spID");
	//购买数量
	String [] quantity=arg0.getParameterValues("number");
	//商品单价
	String [] sPPrice=arg0.getParameterValues("sPPrice");
	
	//购买后对商品表的库存进行修改
	for(int i=0;i<EP_ID.length;i++){
		int count5=ESDao.updateStock(Integer.parseInt(quantity[i]),Integer.parseInt(EP_ID[i]));
	}
	//商品单个总价
	int [] pprice=new int[EP_ID.length];
	for(int i=0;i<EP_ID.length;i++){
		pprice[i]=Integer.parseInt(quantity[i])*Integer.parseInt(sPPrice[i]);
	} 
	/得到序列
	//往订单表里添加数据
	int count=ESDao.insertDD(id, name, address,Integer.parseInt(price));
	int getSequenceId=ESDao.getSequenceId();
	//循环往订单详情添加
	for(int i=0;i<EP_ID.length;i++){
		EASYBUY_ORDER_DETAIL eod=new EASYBUY_ORDER_DETAIL(1,getSequenceId,Integer.parseInt(EP_ID[i]),Integer.parseInt(quantity[i]),pprice[i]);
		int count2=ESDao.eodInsert(eod);
	}
	
	
	
	// 开单后,修改购物车
	String [] esID=arg0.getParameterValues("esID");
	for(int i=0;i<esID.length;i++){
		int count3 =ESDao.esdelete(Integer.parseInt(esID[i]));
	}
	/
	if(count>0){
			
		out.print("<script>");
		out.print("alert('购物成功');");
		out.print("location.href='shopping-result.jsp';");
		out.print("</script>");
		out.close();
	}else{
		out.print("<script>");
		out.print("alert('购物失败,请重新选择商品');");
		out.print("location.href='ShopSelect';");
		out.print("</script>");
		out.close();
	}
}
}

DoProductAddServlet

package com.hr.Servlet;


import java.io.IOException;

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

import com.hr.dao.EASYBUY_PRODUCTDao;
import com.hr.entity.EASYBUY_PRODUCT;
import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.Request;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;

public class DoProductAddServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		SmartUpload su = new SmartUpload();
		
		su.initialize(this.getServletConfig(), req, resp);
		
		try {
			su.upload();
		} catch (SmartUploadException e) {
			e.printStackTrace();
		}
		
		Files fs = su.getFiles();//获得所有文件
		File f = fs.getFile(0);//获得上传的文件
		String fname = f.getFileName();//获得文件名
		try {
			su.save("images/product");//保存图片到指定位置
		} catch (SmartUploadException e) {
			e.printStackTrace();
		}
		Request req1 = su.getRequest();
		String pname = req1.getParameter("productName");
		String id = req1.getParameter("parentId");
		String price = req1.getParameter("productPrice");
		String desc = req1.getParameter("productDesc");
		String stock = req1.getParameter("productStock");
		EASYBUY_PRODUCT p = null;
		if(price!=null && stock!=null && id!=null){
			p = new EASYBUY_PRODUCT(0, pname, desc, 
													Integer.parseInt(price), 
													Integer.parseInt(stock), 
													Integer.parseInt(id.split("-")[0]), 
													Integer.parseInt(id.split("-")[1]), 
													fname);
		}
		int count = 0;
		if(p!=null){
			count = EASYBUY_PRODUCTDao.insert(p);
		}
		
		req.getRequestDispatcher("productSelect").forward(req, resp);
		
	}
}


package com.hr.Servlet;


import java.io.IOException;

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

import com.hr.dao.EASYBUY_PRODUCT_CATEGORYDao;
import com.hr.entity.EASYBUY_PRODUCT_CATEGORY;
import com.hr.util.EncodeUtil;

public class DoProductClassAddServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		EncodeUtil.encode(req);
		int fid = Integer.parseInt(req.getParameter("parentId"));
		req.setCharacterEncoding("utf-8");
		String name = req.getParameter("className");
		if(fid==0){
			EASYBUY_PRODUCT_CATEGORY pc = new EASYBUY_PRODUCT_CATEGORY(0, name, 0);
			EASYBUY_PRODUCT_CATEGORYDao.insertOnFather(pc);
		}else{
			EASYBUY_PRODUCT_CATEGORY pc = new EASYBUY_PRODUCT_CATEGORY(0, name, fid);
			EASYBUY_PRODUCT_CATEGORYDao.insert(pc);
		}
		resp.sendRedirect("productClass");
	}
}


package com.hr.Servlet;


import java.io.IOException;
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.hr.dao.EASYBUY_DdanDao;
import com.hr.dao.EASYBUY_NEWSDao;
import com.hr.dao.EASYBUY_PRODUCTDao;
import com.hr.dao.EASYBUY_PRODUCT_CATEGORYDao;
import com.hr.entity.EASYBUY_Ddan;
import com.hr.entity.EASYBUY_NEWS;
import com.hr.entity.EASYBUY_PRODUCT;
import com.hr.entity.EASYBUY_PRODUCT_CATEGORY;
import com.hr.util.EncodeUtil;

public class SelectDD extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
	req.setCharacterEncoding("UTF-8");
	//查询分类数据
	ArrayList<EASYBUY_PRODUCT_CATEGORY> flist = EASYBUY_PRODUCT_CATEGORYDao.selectFather();
	req.setAttribute("flist", flist);
	ArrayList<EASYBUY_PRODUCT_CATEGORY> clist = EASYBUY_PRODUCT_CATEGORYDao.selectChild();
	req.setAttribute("clist", clist);
	ArrayList<EASYBUY_PRODUCT> tlist = EASYBUY_PRODUCTDao.selectAllByT();
	req.setAttribute("tlist", tlist);
	ArrayList<EASYBUY_PRODUCT> hlist = EASYBUY_PRODUCTDao.selectAllByHot();
	req.setAttribute("hlist", hlist);
	ArrayList<EASYBUY_NEWS> nlist = EASYBUY_NEWSDao.selectAll();
	req.setAttribute("nlist", nlist);
	HttpSession session = req.getSession();
	//查询最近浏览的商品
	ArrayList<Integer> ids = (ArrayList<Integer>)session.getAttribute("ids");
	if(ids!=null){
		ArrayList<EASYBUY_PRODUCT> lastlylist = EASYBUY_PRODUCTDao.selectById(ids);
		req.setAttribute("lastlylist", lastlylist);
	}
	
		EncodeUtil.encode(req);
		String dd=req.getParameter("dd");
		ArrayList<EASYBUY_Ddan> dan=EASYBUY_DdanDao.selectById(dd);
		req.setAttribute("dan", dan);
		req.getRequestDispatcher("Dan.jsp").forward(req, resp);
}
}

UserServlet

package com.hr.Servlet;


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

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

import com.hr.dao.EASYBUY_USERDao;
import com.hr.entity.EASYBUY_USER;

public class UserServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
		int cpage=1;
		int count=15;
		String cp=req.getParameter("cp");
		if(cp!=null){
			cpage=Integer.parseInt(cp);
		}
		int tpage=EASYBUY_USERDao.totalPage(count);
		ArrayList<EASYBUY_USER> list=EASYBUY_USERDao.selectAll(cpage,count);
		req.setAttribute("userlist", list);
		req.setAttribute("cpage", cpage);
		req.setAttribute("tpage", tpage);
		req.getRequestDispatcher("user.jsp").forward(req, resp);
}
}