基于javaweb的JSP+Servlet汉服商城系统(java+servlet+jsp+jdbc+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

431023031103

441023031103

451023031103

461023031103

471023031103

481023031103

241525280305

251525280305

271525280305

301525280305

基于javaweb的JSP+Servlet汉服商城系统(java+servlet+jsp+jdbc+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. 运行项目,在浏览器中输入http://localhost:8080/jsp_hfzl_shop 登录 注:tomcat中配置项目路径必须为jsp_hfzl_shop

用户账号/密码: 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
50
51
52
				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);
}
}
// 检查用户名唯一性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");
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
		if (fileItem.getName() != null
&& fileItem.getSize() != 0) {
File fullFile = new File(fileItem.getName());
filename = Info.generalFileName(fullFile.getName());
File newFile = new File(
request.getRealPath("/upfile/") + "/"
+ filename);
try {
fileItem.write(newFile);
} catch (Exception e) {
e.printStackTrace();
}
} else {
}
}
}
dao.commOper("insert into goods (goodno,goodname,fid,sid,price,note,savetime,shstatus,filename,istj,tprice,delstatus,salestatus,goodpp) "
+ "values ('"
+ goodno
+ "','"
+ goodname
+ "','"
+ fid
+ "','"
+ sid
+ "','"
+ price
+ "','"
+ note
+ "','"
+ savetime
+ "','通过','"
+ filename
+ "','"
+ istj
+ "','"
+ tprice
+ "','0','在售','" + goodpp + "') ");
request.setAttribute("suc", "操作成功!");
go("/admin/goodsgl.jsp", request, response);

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

// 会员修改个人信息
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'");
if (cklist.size() > 0) {
session.setAttribute("member", cklist.get(0));
go("/index.jsp", request, response);
} else {
request.setAttribute("no", "用户名或密码错误!");
go("/login.jsp", request, response);
}

}

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




public class PageManager {
private PageManager() {

}


// 默认一页最大记录数
public static final int DEFAULTPAGESIZE = 20;

// 分页段
public static final int segment = 10;

// 当前页数
protected int currentPage;

// 一页长度
protected int pageSize;

// 总页数
protected long pageNumber;

// 总记录数
protected long count;

// 数据
protected Collection collection;

// 数据查询对象
protected CommDAO dao = new CommDAO();

// 表现层代码
protected String info;

// 请求路径
protected String path;

// 服务器请求对象
protected HttpServletRequest request;

/*
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
		request.setAttribute("error", "");
go("admin/login.jsp", request, response);
}
}
// 后台退出
if (ac.equals("backexit")) {
session.removeAttribute("admin");
go("admin/login.jsp", request, response);
}

// 新增新闻
if (ac.equals("newsadd")) {
try {
String title = "";
String img = "";
String note = "";
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);

title = ((FileItem) items.get(0)).getString();
title = Info.getUTFStr(title);

note = ((FileItem) items.get(2)).getString();
note = Info.getUTFStr(note);

FileItem fileItem = (FileItem) items.get(1);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
&& 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);
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
			ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(100 * 1024 * 1024);
List items = new ArrayList();
items = upload.parseRequest(request);
title = ((FileItem) items.get(0)).getString();
title = Info.getUTFStr(title);

note = ((FileItem) items.get(2)).getString();
note = Info.getUTFStr(note);

FileItem fileItem = (FileItem) items.get(1);
if (fileItem.getName() != null && fileItem.getSize() != 0) {
if (fileItem.getName() != null
&& 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 = "update news set title='" + title + "',note='"
+ note + "',img='" + img + "' where id=" + id;
dao.commOper(sql);
request.setAttribute("suc", "操作成功!");
go("/admin/newslist.jsp?id=" + id, request, response);
} catch (Exception e1) {
e1.printStackTrace();
request.setAttribute("error", "");
request.getRequestDispatcher("/admin/newsedit.jsp?id=" + id)
.forward(request, response);
}
}
// 新增公告
if (ac.equals("noticesadd")) {
String title = request.getParameter("title");
String note = request.getParameter("note");


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