基于javaweb的JSP+Servlet宠物商城系统(java+jsp+javascript+servlet+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

580023402402

590023402402

000023412402

010023412402

020023412402

040023412402

基于javaweb的JSP+Servlet宠物商城系统(java+jsp+javascript+servlet+mysql)

项目介绍

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

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

环境需要

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
		int red=0,green=0,blue=0;
String code="";

for (int i = 0; i < 4; i++) {
red=rand.nextInt(255);
green=rand.nextInt(255);
blue=rand.nextInt(255);

Color c=new Color(red,green,blue);
g.setColor(c);
int num=rand.nextInt(10);
code+=num;
g.drawString(num+"", i*20+20, 49);
}

HttpSession session=req.getSession();
session.setAttribute("syscode", code);

ServletOutputStream out=resp.getOutputStream();
ImageIO.write(img, "jpg", out);


}
}
package com.demo.Servlet;





public class UseraddServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
EncodeUtil.encode(req);
resp.setContentType("text/html;charset=utf-8");

String username=req.getParameter("userName");
String name=req.getParameter("name");
String pwd=req.getParameter("passWord");
String sex=req.getParameter("sex");
// String birthyear=request.getParameter("birthyear");
// String birthmonth=request.getParameter("birthmonth");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.demo.Servlet;





public class DoProductUpdateServlet 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 id = req1.getParameter("id");
String pname = req1.getParameter("productName");
String pid = req1.getParameter("parentId");
String price = req1.getParameter("productPrice");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
			req.setAttribute("title", "全部商品");
tpage = EASYBUY_PRODUCTDao.totalPage(count);
}
if(fid!=null){
int id = Integer.parseInt(fid);
list = EASYBUY_PRODUCTDao.selectAllByFid(cpage, count, id);
tpage = EASYBUY_PRODUCTDao.totalPageByFid(count, id);
req.setAttribute("title", EASYBUY_PRODUCT_CATEGORYDao.selectById(id).getEPC_NAME());
}
if(cid!=null){
int id = Integer.parseInt(cid);
list = EASYBUY_PRODUCTDao.selectAllByCid(cpage, count, id);
tpage = EASYBUY_PRODUCTDao.totalPageByCid(count, id);
req.setAttribute("title", EASYBUY_PRODUCT_CATEGORYDao.selectById(id).getEPC_NAME());
}
if(name!=null){
list = EASYBUY_PRODUCTDao.selectAllByName(name);
tpage = EASYBUY_PRODUCTDao.totalPageByName(count, name);
req.setAttribute("title", "搜索商品:"+name);
}
req.setAttribute("list", list);
//当前页数
req.setAttribute("cpage", cpage);
//总页数
req.setAttribute("tpage", tpage);
//搜索关键字
req.setAttribute("search_words", name);
//父分类
req.setAttribute("selected_fid", fid);
req.getRequestDispatcher("product-list.jsp").forward(req, resp);
}
}
package com.web.shopservlet;



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
		String uid = user.getEU_USER_ID();
int valid = 1;
eb_shop sp = new eb_shop(0, p.getEP_FILE_NAME(), p.getEP_NAME(), p.getEP_PRICE(), Integer.parseInt(count), p.getEP_STOCK(), p.getEP_ID(), uid, valid);
ESDao.insert(sp);
resp.sendRedirect("ShopSelect");
//req.getRequestDispatcher("ShopSelect").forward(req, resp);
}
}
package com.demo.Servlet;




public class SelallServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
int page=1; //当前页数
int pagesize=6;//每页行数
String spage=req.getParameter("page");
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);
if(spage!=null){ //如果页面上传递了页数,将当前页数改变掉
page=Integer.parseInt(spage);
}

//查出总页数

ArrayList<EASYBUY_COMMENT> list=EASYBUY_COMMENTDao.selPage(page, pagesize);
int max_page=EASYBUY_COMMENTDao.getMax(pagesize);
if(list.size()>0&&max_page>0){
req.setAttribute("list", list);
//把总页数传递给guestbook.jsp 使用
req.setAttribute("max_page", max_page);
//把当前页数传递给guestbook.jsp使用
req.setAttribute("page", page);
// 跳
req.getRequestDispatcher("guestbook.jsp").forward(req,resp);
}else{
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
		}else{
out.print("<script>");
out.print("alert('请先登录');");
out.print("location.href='login.jsp';");
out.print("</script>");
out.close();
return;
}
String uid = user.getEU_USER_ID();
int valid = 1;
eb_shop sp = new eb_shop(0, p.getEP_FILE_NAME(), p.getEP_NAME(), p.getEP_PRICE(), Integer.parseInt(count), p.getEP_STOCK(), p.getEP_ID(), uid, valid);
int epid=p.getEP_ID();
ESDao.insert(sp);
resp.sendRedirect("selectProductView?id="+epid);

//req.getRequestDispatcher("selectProductView?id=").forward(req, resp);
}
}
package com.demo.Servlet;





public class ShopAddServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// es_id NUMBER primary key not null,--id
// es_ep_file_name NVARCHAR2(30),--图片名称
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
		
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 id = req1.getParameter("id");
String pname = req1.getParameter("productName");
String pid = req1.getParameter("parentId");
String price = req1.getParameter("productPrice");
String desc = req1.getParameter("productDesc");
String stock = req1.getParameter("productStock");
EASYBUY_PRODUCT p = new EASYBUY_PRODUCT(Integer.parseInt(id),
pname,
desc,
Integer.parseInt(price),
Integer.parseInt(stock),
Integer.parseInt(pid.split("-")[0]),
Integer.parseInt(pid.split("-")[1]),
fname);
int count = 0;
if(p!=null){
count = EASYBUY_PRODUCTDao.update(p);
}

req.getRequestDispatcher("productSelect").forward(req, resp);

}
}
package com.demo.Servlet;




项目链接:
https://javayms.github.io?id=381122522008200ow
https://javayms.pages.dev?id=381122522008200ow