登录注册及书籍管理功能

  • 登录注册
    • 实体类
    • dao包
    • web包
  • 书籍管理
    • 实体类
    • dao包
    • web包
    • mvc.xml的配置
  • 界面代码及效果
    • 界面代码
    • 样式
    • 界面效果

登录注册

登录注册所需要用的的实体类,dao包,web包

实体类

User用户表(用户表中的type类型分为 1 跟2 ,1 代表着老板 ,2 代表着客户)

package com.tang.entity;
/*** * @author tangxinlian**2020年7月1日 上午10:11:01*/
public class User {private long id;private String name;//用户名private String pwd;//密码private int type;//类型public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public int getType() {return type;}public void setType(int type) {this.type = type;}public User() {super();}public User(long id, String name, String pwd, int type) {super();this.id = id;this.name = name;this.pwd = pwd;this.type = type;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", pwd=" + pwd + ", type=" + type + "]";}
}

dao包

UserDao 中写了登录,注册的方法

package com.tang.dao;import java.util.List;import com.tang.entity.User;
import com.tang.util.BaseDao;
import com.tang.util.StringUtils;public class UserDao extends BaseDao<User>{//登录public User login(User user) throws Exception {String name = user.getName();String pwd = user.getPwd();String sql = "select * from t_easyui_user where true";if(StringUtils.isNotBlank(name)) {sql += " and name = '"+name+"'";}if(StringUtils.isNotBlank(pwd)) {sql += " and pwd = '"+pwd+"'";}List<User> list = super.executeQuery(sql, null, User.class);if(list.size() == 0) {return null;}return list.get(0);      }//注册public int add(User user) throws Exception {String sql = "insert into t_easyui_user(name,pwd) values(?,?)";return super.executeUpdate(sql, user, new String[] {"name","pwd"});}}

web包

UserAction 中写 你登录成功会跳转到那个界面,如果你没有登录成功会跳回登录界面;注册界面是你注册成功跳转到登录界面,没有成功回到注册界面

package com.tang.web;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.tang.dao.UserDao;
import com.tang.entity.User;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriven;public class UserAction extends ActionSupport implements ModelDriven<User>{private User user = new User();private UserDao UserDao = new UserDao();@Overridepublic User getModel() {return user;}public String login(HttpServletRequest req,HttpServletResponse resp) {try {User current = this.UserDao.login(user);if(current == null) {
//              如果数据库没有这个用户,那么跳转回登录页面return "login";}req.getSession().setAttribute("currentUser", current);} catch (Exception e) {e.printStackTrace();return "login";}return "mainTemp";     }public String add(HttpServletRequest req,HttpServletResponse resp) {try {this.UserDao.add(user);} catch (Exception e) {e.printStackTrace();return "register";}return "login";}}

书籍管理

书籍管理所需要用的的实体类,dao包,web包

实体类

书籍信息表 book

package com.tang.entity;import java.util.Date;import com.fasterxml.jackson.annotation.JsonFormat;
import com.tang.util.PinYinUtil;
/*** * @author tangxinlian**2020年7月1日 上午10:00:45**ctrl+shift+o 快速导包*/
public class Book {private long id;private String name;//书籍名称private String pinyin;//拼音private long cid;//书籍分类private String author;//作者private float price;//价格private String image="暂无图片";//图片路径private String publishing;//出版社private String description;//描述private int state;//书籍状态(1 未上架  2已上架  3已下架  默认值1)@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")private Date deployTime;//上架时间private int sales;//销量public void setName(String name) {this.name = name;this.pinyin = PinYinUtil.getAllPingYin(name);}public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public String getPinyin() {return pinyin;}public void setPinyin(String pinyin) {this.pinyin = pinyin;}public long getCid() {return cid;}public void setCid(long cid) {this.cid = cid;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}public String getImage() {return image;}public void setImage(String image) {this.image = image;}public String getPublishing() {return publishing;}public void setPublishing(String publishing) {this.publishing = publishing;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public int getState() {return state;}public void setState(int state) {this.state = state;}public Date getDeployTime() {return deployTime;}public void setDeployTime(Date deployTime) {this.deployTime = deployTime;}public int getSales() {return sales;}public void setSales(int sales) {this.sales = sales;}public Book(long id, String name, String pinyin, long cid, String author, float price, String image,String publishing, String description, int state, Date deployTime, int sales) {super();this.id = id;this.name = name;this.pinyin = pinyin;this.cid = cid;this.author = author;this.price = price;this.image = image;this.publishing = publishing;this.description = description;this.state = state;this.deployTime = deployTime;this.sales = sales;}public Book() {super();}@Overridepublic String toString() {return "Book [id=" + id + ", name=" + name + ", pinyin=" + pinyin + ", cid=" + cid + ", author=" + author+ ", price=" + price + ", image=" + image + ", publishing=" + publishing + ", description="+ description + ", state=" + state + ", deployTime=" + deployTime + ", sales=" + sales + "]";}
}

书籍类别表 Category

package com.tang.entity;
/*** * @author tangxinlian**2020年7月1日 上午10:07:13*/
public class Category {private long id;private String name;//类别(玄幻、科幻等等...)public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Category(long id, String name) {super();this.id = id;this.name = name;}public Category() {super();}@Overridepublic String toString() {return "Category [id=" + id + ", name=" + name + "]";}}

权限表 Permission

package com.tang.entity;
/*** * @author tangxinlian**2020年7月1日 上午10:07:34*/
public class Permission {private long id;//权限idprivate String name;//权限名字private String description;//权限描述private String url;//菜单路径private long pid;//父权限private int ismenu;//是否为菜单(1 菜单  2 按钮)private long displayno;//展现顺序public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public long getPid() {return pid;}public void setPid(long pid) {this.pid = pid;}public int getIsmenu() {return ismenu;}public void setIsmenu(int ismenu) {this.ismenu = ismenu;}public long getDisplayno() {return displayno;}public void setDisplayno(long displayno) {this.displayno = displayno;}public Permission() {super();}public Permission(long id, String name, String description, String url, long pid, int ismenu, long displayno) {super();this.id = id;this.name = name;this.description = description;this.url = url;this.pid = pid;this.ismenu = ismenu;this.displayno = displayno;}@Overridepublic String toString() {return "Permission [id=" + id + ", name=" + name + ", description=" + description + ", url=" + url + ", pid="+ pid + ", ismenu=" + ismenu + ", displayno=" + displayno + "]";}
}

用户角色权限中间表 RolePermission

package com.tang.entity;
/*** * @author tangxinlian**2020年7月1日 上午10:07:45*/
public class RolePermission {private long rid;//用户角色private long pid;//用户权限public long getRid() {return rid;}public void setRid(long rid) {this.rid = rid;}public long getPid() {return pid;}public void setPid(long pid) {this.pid = pid;}public RolePermission() {super();}public RolePermission(long rid, long pid) {super();this.rid = rid;this.pid = pid;}@Overridepublic String toString() {return "RolePermission [rid=" + rid + ", pid=" + pid + "]";}}

dao包

BookDao 中写了查询 跟增加 的方法

package com.tang.dao;import java.util.List;import com.tang.entity.Book;
import com.tang.util.BaseDao;
import com.tang.util.PageBean;
import com.tang.util.StringUtils;public class BookDao extends BaseDao<Book>{//    查询public List<Book> list(Book book,PageBean pageBean) throws Exception{String sql = "select * from t_easyui_book where true ";String name = book.getName();long cid = book.getCid();int state = book.getState();if(StringUtils.isNotBlank(name)) {sql += " and name like '%"+name+"%'";}if(state != 0) {sql += " and state ="+state;}if(cid != 0) {sql += " and cid ="+cid;}return super.executeQuery(sql, pageBean, Book.class);}//    新增public int add(Book book) throws Exception {String sql = "insert into t_easyui_book(name,pinyin,cid,author,price,image,publishing,description,state,deployTime,sales) " +"values(?,?,?,?,?,?,?,?,?,now(),?)";return super.executeUpdate(sql, book, new String[]{"name", "pinyin", "cid", "author", "price", "image", "publishing", "description", "state", "sales"});}}

CategoryDao 中写了查询方法

package com.tang.dao;import java.util.List;import com.tang.entity.Category;
import com.tang.util.BaseDao;
import com.tang.util.PageBean;public class CategoryDao extends BaseDao<Category>{//查询书籍分类public List<Category> list(Category category,PageBean pageBean) throws Exception{String sql = "select * from t_easyui_category where true";return super.executeQuery(sql, pageBean, Category.class);}}

PermissionDao 中写了 树形菜单加载和 通过ids 查出ids指定的树形菜单

package com.tang.dao;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import com.tang.entity.Permission;
import com.tang.util.BaseDao;
import com.tang.util.BuildTree;
import com.tang.vo.TreeVo;public class PermissionDao extends BaseDao<Permission>{//树形菜单加载public List<Permission> menuTree() throws Exception{String sql = "select * from t_easyui_permission where true"; return super.executeQuery(sql, null, Permission.class);}//通过ids 查出ids指定的树形菜单public List<Permission> menuTree(String ids) throws Exception{String sql = "select * from t_easyui_permission where id in ("+ids+") "; return super.executeQuery(sql, null, Permission.class);}//树形菜单加载public List<TreeVo<Permission>> menuTreeHandler() throws Exception{List<Permission> permissions = this.menuTree();List<TreeVo<Permission>> nodes = new ArrayList<>();TreeVo<Permission> node;for (Permission permission : permissions) {node = new TreeVo<>();node.setId(String.valueOf(permission.getId()));node.setText(permission.getName());node.setParentId(String.valueOf(permission.getPid()));Map map = new HashMap();map.put("self", permission);node.setAttributes(map);nodes.add(node);}return BuildTree.buildList(nodes, "0");}public List<TreeVo<Permission>> menuTreeHandler(String pids) throws Exception {List<Permission> permissions = this.menuTree(pids);List<TreeVo<Permission>> nodes = new ArrayList<>();TreeVo<Permission> node;for (Permission permission : permissions) {node = new TreeVo<>();node.setId(String.valueOf(permission.getId()));node.setText(permission.getName());node.setParentId(String.valueOf(permission.getPid()));Map map = new HashMap();map.put("self",permission);node.setAttributes(map);nodes.add(node);}return BuildTree.buildList(nodes,"0");}}

RolePermissionDao 中写了 获取角色对应的权限id

package com.tang.dao;import java.util.List;import com.tang.entity.RolePermission;
import com.tang.util.BaseDao;public class RolePermissionDao extends BaseDao<RolePermission>{//  获取角色对应的权限idpublic List<RolePermission> getPids(long rid) throws Exception {String sql = "select * from t_easyui_role_permission where rid = " + rid;return super.executeQuery(sql, null, RolePermission.class);}}

web包

CategoryAction

package com.tang.web;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.tang.dao.CategoryDao;
import com.tang.entity.Category;
import com.tang.util.ResponseUtil;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriven;public class CategoryAction extends ActionSupport implements ModelDriven<Category>{private Category category = new Category();private CategoryDao categoryDao = new CategoryDao();@Overridepublic Category getModel() {return category;}public String list(HttpServletRequest req,HttpServletResponse resp) {try {List<Category> list = categoryDao.list(category, null);ResponseUtil.writeJson(resp, list);} catch (Exception e) {e.printStackTrace();}return null;}}

PermissionAction

package com.tang.web;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.fasterxml.jackson.databind.ObjectMapper;
import com.tang.dao.PermissionDao;
import com.tang.dao.RolePermissionDao;
import com.tang.entity.Permission;
import com.tang.entity.RolePermission;
import com.tang.entity.User;
import com.tang.util.ResponseUtil;
import com.tang.vo.TreeVo;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriven;public class PermissionAction extends ActionSupport implements ModelDriven<Permission>{private Permission permission = new Permission();private PermissionDao permissionDao = new PermissionDao();private RolePermissionDao rolePermissionDao = new RolePermissionDao();@Overridepublic Permission getModel() {return permission;}public String menuTree(HttpServletRequest req,HttpServletResponse resp) {ObjectMapper om = new ObjectMapper();User currentUser = (User) req.getSession().getAttribute("currentUser");try {List<RolePermission> pids = rolePermissionDao.getPids(currentUser.getType());StringBuilder sb = new StringBuilder();for (RolePermission pid : pids) {sb.append(",").append(pid.getPid());}List<TreeVo<Permission>> treeVos = this.permissionDao.menuTreeHandler(sb.substring(1));String json = om.writeValueAsString(treeVos);ResponseUtil.write(resp, json);;} catch (Exception e) {e.printStackTrace();}return null;}}

mvc.xml的配置

mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<config><!--用户相关业务--><action path="/user" type="com.tang.web.UserAction"><forward name="login" path="/login.jsp" redirect=""/><forward name="register" path="/register.jsp" redirect=""/><forward name="mainTemp" path="/bg/mainTemp.jsp" redirect="false"/></action><!--权限相关业务--><action path="/permission" type="com.tang.web.PermissionAction"></action><!--书籍相关业务--><action path="/book" type="com.tang.web.BookAction"><forward name="findBook" path="/fg/findBook.jsp" redirect="false"/></action><!--书籍类别相关业务--><action path="/category" type="com.tang.web.CategoryAction"></action></config>

界面代码及效果

界面代码

login 登录界面

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>网上书城登录</title><link href="https://cdn.bootcss.com/twitter-bootstrap/4.4.1/css/bootstrap.css" rel="stylesheet"><link href="${pageContext.request.contextPath}/static/css/fg.css" rel="stylesheet"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script><script src="https://cdn.bootcss.com/twitter-bootstrap/4.4.1/js/bootstrap.js"></script>
</head>
<body><form class="form-signin" action="${pageContext.request.contextPath}/user.action?methodName=login" method="post"><div class="text-center mb-4"><img class="mb-4" src="/docs/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72"><h1 class="h3 mb-3 font-weight-normal">用户登录</h1>              </div><div class="form-label-group"><input type="text" id="name" name="name" class="form-control" placeholder="请输入用户名..." required autofocus></div>         </br><div class="form-label-group"><input type="password" id="pwd" name="pwd" class="form-control" placeholder="请输入密码..." required></div></br><div class="checkbox mb-3"><label><input type="checkbox" value="remember-me"> Remember me</label></div><button class="btn btn-lg btn-primary btn-block" type="submit">登录</button><p class="mt-5 mb-3 text-muted text-center">&copy; 2017-2020</p></form></body>
</html>

register 注册界面

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>网上书城注册</title>
<link href="https://cdn.bootcss.com/twitter-bootstrap/4.4.1/css/bootstrap.css" rel="stylesheet"><link href="${pageContext.request.contextPath}/static/css/fg.css" rel="stylesheet"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script><script src="https://cdn.bootcss.com/twitter-bootstrap/4.4.1/js/bootstrap.js"></script>
</head>
<body><form class="form-signin" action="${pageContext.request.contextPath}/user.action?methodName=add" method="post"><div class="text-center mb-4"><img class="mb-4" src="/docs/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72"><h1 class="h3 mb-3 font-weight-normal">用户注册</h1>                </div><div class="form-label-group"><input type="text" id="name" name="name" class="form-control" placeholder="请输入用户名..." required autofocus></div>         </br><div class="form-label-group"><input type="password" id="pwd" name="pwd" class="form-control" placeholder="请输入密码..." required></div></br><div class="checkbox mb-3"><label><input type="checkbox" value="remember-me"> Remember me</label></div><button class="btn btn-lg btn-primary btn-block" type="submit">注册</button><p class="mt-5 mb-3 text-muted text-center">&copy; 2017-2020</p></form></body>
</html>

mainTemp 后台管理

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>后管主界面</title><link rel="stylesheet" type="text/css"href="${pageContext.request.contextPath}/static/js/easyui/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/js/easyui/themes/icon.css"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script><script type="text/javascript"src="${pageContext.request.contextPath}/static/js/easyui/jquery.easyui.min.js"></script><script src="${pageContext.request.contextPath}/static/js/main.js"></script>
</head>
<body class="easyui-layout">
<<input type="text" name="ctx" id="ctx" value="${pageContext.request.contextPath}">
<div data-options="region:'north',border:false" style="height:60px;background:#B3DFDA;padding:10px">网上书城</div>
<div data-options="region:'west',split:true,title:'West'" style="width:150px;padding:10px;"><ul id="bookMenus"></ul>
</div>
<div data-options="region:'south',border:false" style="height:50px;background:#A9FACD;padding:10px;">底部版权</div>
<div data-options="region:'center',title:'Center'"><div id="bookTabs" class="easyui-tabs" style="width:100%;height:100%;"><div title="首页" style="padding:20px;display:none;">欢迎来到网上书城</div></div>
</div>
</body>
</html>

addBook 书籍新增

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css"href="${pageContext.request.contextPath}/static/js/easyui/themes/default/easyui.css"><link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/js/easyui/themes/icon.css"><script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script><script type="text/javascript"src="${pageContext.request.contextPath}/static/js/easyui/jquery.easyui.min.js"></script><script src="${pageContext.request.contextPath}/static/js/main.js"></script>
<title>书籍新增</title>
</head>
<body><div style="margin:20px 0;"></div>
<div class="easyui-panel" title="新增书籍" style="width:100%;padding:30px 60px;"><form id="ff" action="${pageContext.request.contextPath}/book.action?methodName=add" method="post"><div style="margin-bottom:20px"><input class="easyui-textbox" name="name" style="width:100%" data-options="label:'书名:',required:true"></div><div style="margin-bottom:20px"><input id="cid" name="cid" value="" label="类别" >          </div><div style="margin-bottom:20px"><input class="easyui-textbox" name="author" style="width:100%" data-options="label:'作者:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="price" style="width:100%"data-options="label:'价格:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="publishing" style="width:100%"data-options="label:'出版社:',required:true"></div><div style="margin-bottom:20px"><input class="easyui-textbox" name="description" style="width:100%;height:60px"data-options="label:'简介:',required:true"></div><%--默认未上架--%><input type="hidden" name="state" value="1"><%--默认起始销量为0--%><input type="hidden" name="sales" value="0"></form><div style="text-align:center;padding:5px 0"><a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()" style="width:80px">Submit</a><a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()" style="width:80px">Clear</a></div>
</div>
<script>$(function () {$('#cid').combobox({url:'${pageContext.request.contextPath}/category.action?methodName=list',valueField:'id',textField:'name'});});function submitForm() {$('#ff').form('submit',{success:function (param) {$('#ff').form('clear');}});}function clearForm() {$('#ff').form('clear');}
</script></body>
</html>

样式

fg 登录注册界面所用到的css样式

.form-signin{height: 600px;width: 400px;position: relative;left: 35%;top: 80%;margin-top: 150px;
}

main.js 样式

$(function () {var ctx  = $("#ctx").val();$('#bookMenus').tree({url:ctx+'/permission.action?methodName=menuTree',onClick: function(node){// alert(node.text);  // 在用户点击的时候提示// alert($('#bookTabs').tabs('exists',node.text));if($('#bookTabs').tabs('exists',node.text)){$('#bookTabs').tabs('select',node.text)}else {var url = node.attributes.self.url;if(url){var content = '<iframe width="100%" height="100%" src="'+ctx+url+'"></iframe>>';$('#bookTabs').tabs('add',{title:node.text,content:content,closable:true,tools:[{// iconCls:'icon-mini-refresh',// handler:function(){//     alert('refresh');// }}]});}}}});});

界面效果

登录注册界面


书籍新增界面

后台管理界面
登录为老板的后台管理界面

登录为客户的后台管理界面

网上书城的登录注册及书籍管理功能相关推荐

  1. 网上书城(登录、注册、权限管理)

    网上书城(登录.注册.权限管理) 前言 登录 注册 权限管理 前言 网上书城包括前台.后台 网上书城前台内容: 1 .首页 2. 用户注册/登陆 3. 书籍查询 4 .购物车 5. 订单管理 5.1. ...

  2. 网上书城项目之后台实现书籍分类、新书上架、热销图书

    网上书城项目 前言 书籍分类 效果演示 新书上架 效果演示 热销图书 效果演示 注意要点 总结 前言 嘿,今天为大家分享的知识点呢,是后台编码实现前端页面上的书籍分类.新书上架.热销图书这三个主要功能 ...

  3. 图书馆馆藏书籍管理功能

    1)程序提供图书馆馆藏书籍管理功能:(使用Map实现) a.书籍信息包括书名.作者(可能多人,使用ArrayList实现).出版社.及馆藏数量. b.提供针对书籍书名.作者.出版社的查询功能:书名可进 ...

  4. c/c++编程日记:纯C实现登录注册和忘记密码功能(附源码)

    这是一个用纯C语言和文件操作实现的系统的登录.注册和忘记密码功能.可以用于c语言大作业的登录系统.下面分享一下具体的代码. 首先定义一个结构体来存放用户的注册信息,账号密码等. typedefstru ...

  5. Node.js + Express 4.x + MongoDB 构建登录注册-简易用户管理(四)

    登录和注册的功能算实现了,下面封装DBHelp和增加一个简单的用户管理,这样增删查改就集齐了. 在routes文件夹下面新建DBHelp.js,代码如下: const MongoClient=requ ...

  6. SSM框架+VUE+Mysql实现的疫苗预约接种管理系统(功能包含分角色,登录/注册、疫苗管理、接种点管理、用户管理、疫苗类型管理、我的预约、预约接种管理、关于等)

    博客目录 SSM框架+VUE+Mysql实现的疫苗预约接种管理系统 实现功能截图 系统功能 使用技术 代码 完整源码 SSM框架+VUE+Mysql实现的疫苗预约接种管理系统 本系统为了解决疫苗线下预 ...

  7. 【JAVA项目实战】【图书管理系统】书籍管理功能【Servlet】+【JSP】+【MySql】+【Ajax】

  8. SSM+网上书城系统 毕业设计-附源码180919

    目  录 摘要 1 绪论 1.1 研究意义 1.2开发背景 1.3论文结构与章节安排 2网上书城系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2. ...

  9. 网上书城项目的书籍分类列表展示及新书上架和热销书籍效果展示功能(项目进度四)

    网上书城项目的书籍分类列表展示及新书上架和热销书籍效果展示功能(项目进度四) 前言 需实现的目标(效果图) 书籍分类展示 新书上架展示 热销书籍展示 1.书籍分类展示(实现动态加载数据) 1.1 加载 ...

最新文章

  1. opencv固定窗口在桌面的位置
  2. Robotium只有apk文件测试实例
  3. 198道K8sDocker面试真题大汇总,全网最全八股!
  4. mysql一张表最多多少索引_MySQL一个索引最多有多少个列?真实的测试例子
  5. ReplaceAll()和Replace的实战用法
  6. MySql命令行下导出、导入数据
  7. 技术主管和技术总监的区别_技术主管–责任圈
  8. Introduce·哲学核心期刊推荐之《哲学分析》
  9. c语言整形数组存放字符串,用一维字符数组存放字符串
  10. Cesium 地形图
  11. 应用交付学习笔记三-BIG-IP LTM健康检查
  12. 图形库LVGL v8.2版本移植
  13. 开放性金融中的超流动性抵押链
  14. 基于Python+SQLSERVER的快递业务管理系统的设计与实现
  15. 为什么说当下重仓IPFS/FIL才是关键
  16. Libra最大的竞争对手是什么?Calibra高管给出答案
  17. wegame系统推荐头像_除了wegame,还有没有别的英雄联盟的插件推荐?
  18. java中talent-aio_通讯框架:talent-aio实例
  19. (转)Win10上安装任意版本的.net framework
  20. 威马汽车闫枫:造车新赛道的互联网思维

热门文章

  1. 打印机 树莓派安装cpus_用树莓派(应该是能装cups的就能用)共享富士施乐p115b激光打印机(应该是docuprint系列通用)...
  2. Proteus 8找不到DEFAULT.DTF文件的解决方案
  3. Javasript实现照片墙
  4. 广西计算机网络技术专业最好的学校,广西最好的中专学校有哪些 排名前十的学校...
  5. 拉卡拉智能POS功能全解析
  6. 东风风行T5配置科络达OTA 智能网联汽车正式面世
  7. 从毕业到工作,回顾我的2013
  8. java实现图片添加水印
  9. matlab已知坐标转01换矩阵,已知两个坐标系下的坐标,求坐标系之间的转换矩阵(二)...
  10. MySQL还能这样玩---第一篇之你所不知道的命令