软件环境:eclipse2020 tomcat9.0 mysql5.5, jdk1.8
开发技术:java, jsp, servlet,layui,bootstrap,ajax
系统功能:
基础功能:登录注册
1、后台管理(管理员端)
(1)用户管理,增删改查
(2)个人信息管理
(3)公告管理,增删改查
(4)供应商管理,增删改查
(5)蔬菜管理,增删改查
(6)订单管理,查看删除
(7)评论管理,查看删除
(8)统计管理
(9)蔬菜套餐管理,增删改查
2、前台功能(用户端)
(1)蔬菜展示
(2)套餐展示
(3)蔬菜和套餐详情页面展示,包含视频播放
(4)加入购物车,用户下单,用户评论
(5)修改个人信息
获取地址:https://www.jiuniao.com/code/13473.html
项目结构
登录页面
相关代码
<script>
$("#login").on("click", function() {
var userName = $("#userName").val().trim(); // trim()去除空格
var password = $("#password").val().trim();
var type = $("#type").val();
if(userName == ""){
alert('用户名或者手机号不能为空!');
return false;
}
if(password == ""){
alert('密码不能为空!');
return false;
}
if(type == ""){
alert('请选择角色!');
return false;
}
$.ajax({
cache : true,
type : "post",
url : "LoginServlet?action=login",
data : $("#loginForm").serialize(),
async : false,
success : function(e) {
if (e == 'yes') {
alert("登录成功!");
window.parent.location.href = "LoginServlet?action=toMain";
} else if(e == 'toIndex'){
alert("登录成功!");
window.parent.location.href = "IndexServlet?action=toIndex";
}else {
alert("登录失败,账号或者密码错误!");
}
}
})
});
</script>
protected void login(HttpServletRequest request, HttpServletResponse response) throws Exception {
String userName = request.getParameter("userName");
String password = request.getParameter("password");
String type = request.getParameter("type");
String message = "no";
if(type != null && type.equals("1")){//admin
Admin admin = service.selectAdmin(userName,password);
if (admin != null) {
message = "yes";
request.getSession().setAttribute("flag",1);
request.getSession().setAttribute("admin",admin);
}
}else if(type != null && type.equals("2")){
User user = service.seletUser(userName,password);
if (user != null) {
message = "toIndex";
request.getSession().setAttribute("flag",2);
request.getSession().setAttribute("user",user);
}
}
response.getWriter().print(message);
}
管理用户页面
相关代码
/**
* 用户列表
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void UserList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 跳转到社长列表界面
String p = request.getParameter("p");// 接收页码
String key = request.getParameter("key");// 接收页码
User User = (User)request.getSession().getAttribute("User");
System.out.print(p);
int pageSize = 6;// 每页显示5条
int pageNum = 1; // 默认第一页
if (p != null) {
pageNum = Integer.parseInt(p);
}
Map map = new HashMap<>();
map.put("key", key);
map.put("uid", User!=null?User.getId():null);
// 调用分页查询
List<User> list = UserService.getUserPage(pageNum, pageSize, map);
// 携带参数到页面
request.setAttribute("list", list); // 绑定参数
int nums = UserService.queryUserCount(map); // 查询总数
// 计算总页数
int totalPage = (nums % pageSize == 0) ? (nums / pageSize) : (nums / pageSize + 1);
request.getSession().setAttribute("cp", pageNum); // 当前页
request.getSession().setAttribute("tp", totalPage); // 总页数
request.getSession().setAttribute("key", key); // 总页数
request.getSession().setAttribute("url", "UserServlet?action=UserList");
// 条件 值1:值2
request.getRequestDispatcher("/WEB-INF/views/user/list.jsp").forward(request, response); // 页面转发
}
添加用户页面
相关代码
/**
* 添加用户
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void addUser(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 处理注册
String message = "no";
//User User = WebUtils.toBean(request.getParameterMap(), User.class);
User User =fileUpload(request);
//User.setCreate_time(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
User data = UserService.selectUserByEno(User.getPhone());
if(data == null) {
UserService.addUser(User);
message = "yes";
}else {
message = "is";
}
response.getWriter().print(message);
}
公告信息页面
相关代码
/**
* 公告列表
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void BoardList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 跳转到社长列表界面
String p = request.getParameter("p");// 接收页码
String key = request.getParameter("key");// 接收页码
Board Board = (Board)request.getSession().getAttribute("Board");
System.out.print(p);
int pageSize = 6;// 每页显示5条
int pageNum = 1; // 默认第一页
if (p != null) {
pageNum = Integer.parseInt(p);
}
Map map = new HashMap<>();
map.put("key", key);
map.put("uid", Board!=null?Board.getId():null);
// 调用分页查询
List<Board> list = BoardService.getBoardPage(pageNum, pageSize, map);
// 携带参数到页面
request.setAttribute("list", list); // 绑定参数
int nums = BoardService.queryBoardCount(map); // 查询总数
// 计算总页数
int totalPage = (nums % pageSize == 0) ? (nums / pageSize) : (nums / pageSize + 1);
request.getSession().setAttribute("cp", pageNum); // 当前页
request.getSession().setAttribute("tp", totalPage); // 总页数
request.getSession().setAttribute("key", key); // 总页数
request.getSession().setAttribute("url", "BoardServlet?action=BoardList");
// 条件 值1:值2
request.getRequestDispatcher("/WEB-INF/views/board/list.jsp").forward(request, response); // 页面转发
}
供应商页面
相关代码
/**
* 供应商列表
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void SupplierList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 跳转到社长列表界面
String p = request.getParameter("p");// 接收页码
String key = request.getParameter("key");// 接收页码
Supplier Supplier = (Supplier)request.getSession().getAttribute("Supplier");
System.out.print(p);
int pageSize = 6;// 每页显示5条
int pageNum = 1; // 默认第一页
if (p != null) {
pageNum = Integer.parseInt(p);
}
Map map = new HashMap<>();
map.put("key", key);
map.put("uid", Supplier!=null?Supplier.getId():null);
// 调用分页查询
List<Supplier> list = SupplierService.getSupplierPage(pageNum, pageSize, map);
// 携带参数到页面
request.setAttribute("list", list); // 绑定参数
int nums = SupplierService.querySupplierCount(map); // 查询总数
// 计算总页数
int totalPage = (nums % pageSize == 0) ? (nums / pageSize) : (nums / pageSize + 1);
request.getSession().setAttribute("cp", pageNum); // 当前页
request.getSession().setAttribute("tp", totalPage); // 总页数
request.getSession().setAttribute("key", key); // 总页数
request.getSession().setAttribute("url", "SupplierServlet?action=SupplierList");
// 条件 值1:值2
request.getRequestDispatcher("/WEB-INF/views/supplier/list.jsp").forward(request, response); // 页面转发
}
蔬菜信息页面
相关代码
/**
* 蔬菜列表
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
protected void GoodsList(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {// 跳转到社长列表界面
String p = request.getParameter("p");// 接收页码
String key = request.getParameter("key");// 接收页码
Goods Goods = (Goods)request.getSession().getAttribute("Goods");
System.out.print(p);
int pageSize = 6;// 每页显示5条
int pageNum = 1; // 默认第一页
if (p != null) {
pageNum = Integer.parseInt(p);
}
Map map = new HashMap<>();
map.put("key", key);
map.put("uid", Goods!=null?Goods.getId():null);
// 调用分页查询
List<Goods> list = GoodsService.getGoodsPage(pageNum, pageSize, map);
for(Goods data : list) {
data.setSupplier(SupplierService.findSupplierById(data.getSid().toString()));
}
// 携带参数到页面
request.setAttribute("list", list); // 绑定参数
int nums = GoodsService.queryGoodsCount(map); // 查询总数
// 计算总页数
int totalPage = (nums % pageSize == 0) ? (nums / pageSize) : (nums / pageSize + 1);
request.getSession().setAttribute("cp", pageNum); // 当前页
request.getSession().setAttribute("tp", totalPage); // 总页数
request.getSession().setAttribute("key", key); // 总页数
request.getSession().setAttribute("url", "GoodsServlet?action=GoodsList");
// 条件 值1:值2
request.getRequestDispatcher("/WEB-INF/views/goods/list.jsp").forward(request, response); // 页面转发
}
其他页面和相关代码都类似,就不一一展示了
前端页面展示: