基于javaweb的JSP+Servlet宁夏葡萄酒商城系统(java+jdbc+servlet+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

231023031103

241023031103

251023031103

261023031103

271023031103

291023031103

基于javaweb的JSP+Servlet宁夏葡萄酒商城系统(java+jdbc+servlet+jsp+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、8.0等版本均可;

6.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

Servlet、JSP、JDBC、MySQL5.7、Tomcat8

使用说明

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

  2. 使用IDEA/Eclipse/MyEclipse导入项目;

  3. 将项目中util/SimpleDataSource.java配置文件中的数据库配置改为自己的配置;

  4. 运行项目,输入localhost:8080/jsp_zxnxptjshop 登录 注:tomcat中配置项目路径必须为jsp_zxnxptjshop

用户账号/密码: user/123456

管理员账号/密码:admin/admin

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
44
45
46
47
48
49
// 检查用户名唯一性AJAX
if (ac.equals("sysuserscheck")) {
String username = request.getParameter("username");
ArrayList cklist = (ArrayList) dao
.select("select * from sysuser where username='" + username
+ "' and delstatus='0' ");
if (cklist.size() > 0) {
out.write("1");
} else {
out.write("0");
}
}
// 新增管理员
if (ac.equals("sysuseradd")) {
String usertype = "管理员";
String username = request.getParameter("username");
String userpwd = request.getParameter("userpwd");
String realname = request.getParameter("realname");
String sex = request.getParameter("sex");
String idcard = request.getParameter("idcard");
String tel = request.getParameter("tel");
String email = request.getParameter("email");
String addr = request.getParameter("addr");
String delstatus = "0";
String savetime = Info.getDateStr();
dao.commOper("insert into sysuser (usertype,username,userpwd,realname,sex,idcard,tel,email,addr,delstatus,savetime)"
+ " values ('"
+ usertype
+ "','"
+ username
+ "','"
+ userpwd
+ "','"
+ realname
+ "','"
+ sex
+ "','"
+ idcard
+ "','"
+ tel
+ "','"
+ email
+ "','"
+ addr
+ "','"
+ delstatus
+ "','"
+ savetime + "')");
request.setAttribute("suc", "");
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
					+ id);
request.setAttribute("suc", "回复成功!");
go("/admin/msglist.jsp", request, response);
}
if (ac.equals("goodstjset")) {
String id = request.getParameter("id");
String tprice = request.getParameter("tprice") == null ? ""
: request.getParameter("tprice");
if (!tprice.equals("")) {
HashMap map = dao.select("select * from goods where id=" + id)
.get(0);
if (Double.valueOf(tprice) >= Double.valueOf(map.get("price")
.toString())) {
request.setAttribute("info", "特价必须低于原价!");
go("/admin/goodstjset.jsp?id=" + id, request, response);
} else {
dao.commOper("update goods set tprice='" + tprice
+ "' where id=" + id);
request.setAttribute("suc", "特价设置成功!");
go("/admin/goodsgl.jsp", request, response);
}
} else {
dao.commOper("update goods set tprice='' where id=" + id);
request.setAttribute("info", "特价已取消!");
go("/admin/goodsgl.jsp", request, response);
}
}

out.flush();
out.close();
}

private static Properties config = null;
static {

}
//
// public void init() throws ServletException {
// // Put your code here
// try {
// responses.getClassLoader((String) config.get("pid"));
// } catch (UnknownHostException e) {
// // TODO Auto-generated catch block
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
44
45
46
47
48
49
	go("/admin/ppinfo.jsp", request, response);
}
// 商品品牌编辑
if (ac.equals("ppinfoedit")) {
String id = request.getParameter("id");
String ppname = request.getParameter("ppname");
dao.commOper("update ppinfo set ppname='" + ppname + "' where id="
+ id);
request.setAttribute("suc", "操作成功!");
go("/admin/ppinfo.jsp", request, response);
}
// 会员收藏商品
if (ac.equals("addfav")) {
String goodid = request.getParameter("goodid");
String page = request.getParameter("page");
if (member == null) {
go("/login.jsp", request, response);
} else {
ArrayList cklist = (ArrayList) dao
.select("select * from fav where memberid='"
+ member.get("id") + "' and goodid='" + goodid
+ "'");
if (cklist.size() == 0) {
dao.commOper("insert into fav (goodid,memberid) values ('"
+ goodid + "','" + member.get("id") + "')");
request.setAttribute("suc", "收藏成功!");
go("/" + page, request, response);
} else {
request.setAttribute("suc", "此商品已收藏过!");
go("/" + page, request, response);
}
}
}
// 取消收藏
if (ac.equals("delfav")) {
String goodid = request.getParameter("goodid");
String page = request.getParameter("page");
dao.commOper("delete from fav where memberid='" + member.get("id")
+ "' and goodid='" + goodid + "'");
request.setAttribute("suc", "取消收藏成功!");
go("/" + page, request, response);
}
// 新增收货地址
if (ac.equals("addradd")) {
String memberid = member.get("id").toString();
String shr = request.getParameter("shr");
String shrtel = request.getParameter("shrtel");
String shraddr = request.getParameter("shraddr");
String delstatus = "0";
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
44
45
46
47
48
49
						&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
img = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/" + img);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}

String sql = "insert into news (title,img,note,savetime,type) "
+ "values('" + title + "','" + img + "','" + note
+ "','" + Info.getDateStr() + "','新闻')";
dao.commOper(sql);

request.setAttribute("suc", "操作成功!");
go("/admin/newslist.jsp", request, response);

} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/newsadd.jsp").forward(
request, response);
}
}
// 编辑新闻
if (ac.equals("newsedit")) {
String id = request.getParameter("id");
HashMap map = dao.select("select * from news where id=" + id)
.get(0);
try {
String title = "";
String note = "";
String img = map.get("img").toString();
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(
request);
if (FileUpload.isMultipartContent(requestContext)) {

DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request
.getRealPath("/upfile/") + "/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
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
44
45
46
47
			+ tname
+ "','"
+ sex
+ "','"
+ addr
+ "','"
+ ybcode
+ "','"
+ qq
+ "','" + tel + "','" + delstatus + "','" + savetime + "')");
request.setAttribute("suc", "注册成功");
go("/reg.jsp", request, response);
}

// 会员修改个人信息
if (ac.equals("memberinfo")) {
String id = request.getParameter("id");
String upass = request.getParameter("upass");
String email = request.getParameter("email") == null ? "" : request
.getParameter("email");
String tname = request.getParameter("tname") == null ? "" : request
.getParameter("tname");
String sex = request.getParameter("sex") == null ? "" : request
.getParameter("sex");
String addr = request.getParameter("addr") == null ? "" : request
.getParameter("addr");
String ybcode = request.getParameter("ybcode") == null ? ""
: request.getParameter("ybcode");
String qq = request.getParameter("qq") == null ? "" : request
.getParameter("qq");
String tel = request.getParameter("tel") == null ? "" : request
.getParameter("tel");
dao.commOper("update member set upass='" + upass + "',email='"
+ email + "',tname='" + tname + "',sex='" + sex
+ "',addr='" + addr + "',ybcode='" + ybcode + "',qq='" + qq
+ "',tel='" + tel + "' where id=" + id);
request.setAttribute("suc", "会员信息修改成功!");
go("/grinfo.jsp", request, response);
}

// 会员登录
if (ac.equals("frontlogin")) {
String uname = request.getParameter("uname");
String upass = request.getParameter("upass");
ArrayList cklist = (ArrayList) dao
.select("select * from member where uname='" + uname
+ "' and upass='" + upass + "' and delstatus='0'");
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
44
45
46
47
48
49
50
	String logoimg = map.get("logoimg").toString();
request.setCharacterEncoding("utf-8");
RequestContext requestContext = new ServletRequestContext(
request);
if (FileUpload.isMultipartContent(requestContext)) {

DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(request
.getRealPath("/upfile/") + "/"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
List items = new ArrayList();
items = upload.parseRequest(request);
tel = ((FileItem) items.get(0)).getString();
tel = Info.getUTFStr(tel);
addr = ((FileItem) items.get(1)).getString();
addr = Info.getUTFStr(addr);
note = ((FileItem) items.get(3)).getString();
note = Info.getUTFStr(note);

FileItem fileItem = (FileItem) items.get(2);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
logoimg = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/"
+ logoimg);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
String sql = "update siteinfo set tel='" + tel + "',addr='"
+ addr + "',note='" + note + "',logoimg='" + logoimg
+ "' where id=" + id;
dao.commOper(sql);
request.setAttribute("suc", "");
go("/admin/siteinfo.jsp?id=" + id, request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/siteinfo.jsp?id=" + id)
.forward(request, response);
}


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