基于java蛋糕甜品商店管理系统

蛋糕甜品商店管理系统是基于java编程语言和mysql数据开发的系统,系统主要分为用户和管理员两个角色,用户可以在线浏览蛋糕商品,商品分类信息,商品详情,下订单购买等功能;管理员对用户,商品,分类,订单进行管理。系统基于javaee运行jsp,ajax,servlet,mysql等技术。本设计难度适中,适合作为java毕业设计和java课程设计来参考和学习。


一.技术环境

JDK版本:1.8
IDE工具:eclipse
数据库: mysql 5.6
编程语言: Java
tomcat: 8.0
详细技术:HTML+CSS+JS+JSP+JAVA+Servlet+MYSQL


二.项目文件(项目获取请看文末官网)


三.系统功能


四.代码示例

package servlet.admin;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import  bean.Admin;
import  bean.PageBean;
import  dao.AdminDao;
import  dao.impl.AdminDaoImpl;
import  util.DateUtil;import net.sf.json.JSONObject;/*** Servlet implementation class UserServlet*/
@WebServlet("/jsp/admin/AdminManageServlet")
public class AdminManageServlet extends HttpServlet {private static final long serialVersionUID = 1L;private static final String ADMINLIST_PATH="adminManage/adminList.jsp";//用户列表页面地址private static final String ADMINADD_PATH="adminManage/adminAdd.jsp";//用户增加页面地址private static final String ADMINEDIT_PATH="adminManage/adminEdit.jsp";//用户修改页面地址/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String action=request.getParameter("action");switch(action){case "list":adminList(request,response);break;case "add":adminAdd(request,response);break;case "update":adminUpdate(request,response);break;case "edit":adminEdit(request,response);break;case "del":adminDel(request,response);break;case "batDel":adminBatDel(request,response);break;case "find":adminFind(request,response);break;}}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}//查询用户列表private void adminList(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {AdminDao ad=new AdminDaoImpl();int curPage=1;String page=request.getParameter("page");if(page!=null){curPage=Integer.parseInt(page);}//获取xml中设置的每页显示大小参数int maxSize=Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));PageBean pageBean=new PageBean(curPage,maxSize,ad.cakeReadCount());request.setAttribute("adminList", ad.userList(pageBean));request.setAttribute("pageBean", pageBean);request.getRequestDispatcher(AdminManageServlet.ADMINLIST_PATH).forward(request, response);}//增加用户private void adminAdd(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {AdminDao ad=new AdminDaoImpl();Admin admin=new Admin(request.getParameter("userName"),request.getParameter("passWord"),request.getParameter("name"));//添加之前判断用户名是否在库中存在if(new AdminDaoImpl().findUser(admin.getUserName())){request.setAttribute("adminMessage", "用户添加失败!用户名已存在");request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);}else{//执行dao层添加操作if(ad.userAdd(admin)){request.setAttribute("adminMessage", "用户添加成功!");adminList(request, response);//通过servlet中listUser跳到用户列表}else{request.setAttribute("adminMessage", "用户添加失败!");request.getRequestDispatcher(AdminManageServlet.ADMINADD_PATH).forward(request, response);}}}//更新用户信息private void adminUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Admin admin=new Admin(Integer.parseInt(request.getParameter("id")),request.getParameter("passWord"),request.getParameter("name"));AdminDao ad=new AdminDaoImpl();if(ad.userUpdate(admin)) {request.setAttribute("adminMessage", "用户更新成功");adminList(request, response);//通过servlet中listUser跳到用户列表}else {//更新失败跳转到修改页面request.setAttribute("adminMessage", "用户更新失败");request.setAttribute("adminInfo", ad.findUser(Integer.valueOf(admin.getId())));//这里回去是Admin对象request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);}}//修改用户private void adminEdit(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String id=request.getParameter("id");AdminDao ad=new AdminDaoImpl();request.setAttribute("adminInfo",ad.findUser(Integer.valueOf(id)));//这里回去是Admin对象request.getRequestDispatcher(AdminManageServlet.ADMINEDIT_PATH).forward(request, response);}//删除用户private void adminDel(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {int id=Integer.parseInt(request.getParameter("id"));AdminDao ad=new AdminDaoImpl();if(ad.delUser(id)) {request.setAttribute("adminMessage", "用户已删除");}else {request.setAttribute("adminMessage", "用户删除失败");}//用户删除成功失败都跳转到用户列表页面adminList(request, response);//通过servlet中listUser跳到用户列表}//批量删除private void adminBatDel(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {String ids=request.getParameter("ids");AdminDao ad=new AdminDaoImpl();if(ad.batDelUser(ids)) {request.setAttribute("adminMessage", "用户已批量删除");}else {request.setAttribute("adminMessage", "用户批量删除失败");}//用户删除成功失败都跳转到用户列表页面adminList(request, response);//通过servlet中listUser跳到用户列表}//ajax判断用户名(param为接收的用户名)private void adminFind(HttpServletRequest request, HttpServletResponse response) throws IOException {String userName=request.getParameter("param");AdminDao ad=new AdminDaoImpl();//这里实例化json对象需要导入6个jar包(//commons-lang-2.4.jar ,commons-collections-3.2.1.jar,commons-beanutils-1.8.3.jar //json-lib-2.4-jdk15.jar ,ezmorph-1.0.6.jar ,commons-logging-1.1.3.jar)JSONObject json=new JSONObject();if(ad.findUser(userName)){json.put("info", "用户名已存在");json.put("status", "n");}else{json.put("info", "用户名可以使用");json.put("status", "y");}response.getWriter().write(json.toString());}}
package servlet.admin;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.IOUtils;import  bean.Cake;
import  bean.Catalog;
import  bean.PageBean;
import  bean.UpLoadImg;
import  dao.CakeDao;
import  dao.CatalogDao;
import  dao.UpLoadImgDao;
import  dao.impl.CakeDaoImpl;
import  dao.impl.CatalogDaoImpl;
import  dao.impl.UpLoadImgDaoImpl;
import  util.RanUtil;import net.sf.json.JSONObject;/*** Servlet implementation class CakeManageServlet*/
@WebServlet("/jsp/admin/CakeManageServlet")
public class CakeManageServlet extends HttpServlet {private static final long serialVersionUID = 1L;private static final String BOOKLIST_PATH = "cakeManage/cakeList.jsp";// 商品列表页面地址private static final String BOOKADD_PATH = "cakeManage/cakeAdd.jsp";// 商品增加页面地址private static final String BOOKEDIT_PATH = "cakeManage/cakeEdit.jsp";// 商品修改页面地址private static final String BOOKDETAIL_PATH = "cakeManage/cakeDetail.jsp";// 商品详情页面地址private static final String BOOKIMGDIR_PATH="images/cake/cakeimg/";//商品图片保存文件夹相对路径/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse*      response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse*      response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String action = request.getParameter("action");switch (action) {case "list":cakeList(request, response);break;case "detail":cakeDetail(request, response);break;case "addReq":cakeAddReq(request, response);break;case "add":cakeAdd(request, response);break;case "edit":cakeEdit(request, response);break;case "update":cakeUpdate(request,response);break;case "find":cakeFind(request, response);break;case "updateImg":updateImg(request,response);break;case "del":cakeDel(request,response);break;case "batDel":cakeBatDel(request,response);break;case "seach":seachCake(request,response);}}private void seachCake(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int curPage = 1;String page = request.getParameter("page");if (page != null) {curPage = Integer.parseInt(page);}int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));String cakename = request.getParameter("cakename");CakeDao bd = new CakeDaoImpl();PageBean pb = null;if(cakename != null && cakename != "") {pb = new PageBean(curPage, maxSize, bd.cakeReadCount(cakename));request.setAttribute("cakeList", bd.cakeList(pb,cakename));}else {pb = new PageBean(curPage, maxSize, bd.cakeReadCount());request.setAttribute("cakeList", bd.cakeList(pb));}request.setAttribute("pageBean", pb);request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);}//商品批量删除private void cakeBatDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String ids=request.getParameter("ids");CakeDao bd=new CakeDaoImpl();UpLoadImgDao uid=new UpLoadImgDaoImpl();File contextPath=new File(request.getServletContext().getRealPath("/"));String imgIds=bd.findimgIdByIds(ids);//批量查询图片的id并组成一组字符串List<UpLoadImg> list = uid.findImgByIds(imgIds);if(bd.cakeBatDelById(ids)) {request.setAttribute("cakeMessage", "商品已批量删除");if(uid.imgBatDelById(imgIds)) {for(UpLoadImg uli:list) {//批量删除本地文件File f=new File(contextPath,uli.getImgSrc());if(f.exists()) {f.delete();}}}}else {request.setAttribute("cakeMessage", "商品批量删除失败");}//用户删除成功失败都跳转到用户列表页面cakeList(request, response);//通过servlet中listUser跳到用户列表}//商品删除private void cakeDel(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {int id=Integer.parseInt(request.getParameter("id"));File contextPath=new File(request.getServletContext().getRealPath("/"));CakeDao bd=new CakeDaoImpl();UpLoadImgDao uid=new UpLoadImgDaoImpl();Cake cake=bd.findCakeById(id);//这里先删除数据库商品信息,再删除商品图片及本地硬盘图片信息if(bd.cakeDelById(id)) {request.setAttribute("cakeMessage", "商品已删除");if(uid.imgDelById(cake.getImgId())) {//删除本地文件File f=new File(contextPath,cake.getUpLoadImg().getImgSrc());if(f.exists()) {f.delete();}}}else {request.setAttribute("cakeMessage", "商品删除失败");}//用户删除成功失败都跳转到用户列表页面cakeList(request, response);//通过servlet中listUser跳到用户列表}//商品更新private void cakeUpdate(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {CakeDao cakeDao=new CakeDaoImpl();Cake cake=new Cake();cake.setCakeId(Integer.parseInt(request.getParameter("cakeId")));cake.setCatalogId(Integer.parseInt(request.getParameter("catalog")));cake.setPrice(Double.parseDouble(request.getParameter("price")));cake.setDescription(request.getParameter("description"));if(cakeDao.cakeUpdate(cake)) {request.setAttribute("cakeMessage", "修改成功");cakeList(request, response);}else {request.setAttribute("cakeMessage", "图片失败");request.setAttribute("cakeInfo", cakeDao.findCakeById(cake.getCakeId()));request.getRequestDispatcher(BOOKEDIT_PATH).forward(request, response);}}// 更新商品图片private void updateImg(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException {int cakeId = Integer.parseInt(request.getParameter("id"));boolean flag = false;String imgSrc = null;OutputStream outputStream = null;InputStream inputStream = null;String imgName = null;String contentType = null;CakeDao cakeDao = new CakeDaoImpl();UpLoadImgDao upImgDao = new UpLoadImgDaoImpl();File contextPath=new File(request.getServletContext().getRealPath("/"));File dirPath = new File( contextPath,BOOKIMGDIR_PATH);if (!dirPath.exists()) {dirPath.mkdirs();}DiskFileItemFactory dfif = new DiskFileItemFactory();ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);List<FileItem> parseRequest = null;try {parseRequest = servletFileUpload.parseRequest(request);} catch (FileUploadException e) {e.printStackTrace();}Iterator<FileItem> iterator = parseRequest.iterator();while (iterator.hasNext()) {FileItem fileItem = iterator.next();if (!fileItem.isFormField()) {inputStream = fileItem.getInputStream();contentType = fileItem.getContentType();if ("image/jpeg".equals(contentType)) {imgName = RanUtil.getUUID() + ".jpg";flag = true;}if ("image/png".equals(contentType)) {imgName = RanUtil.getUUID() + ".png";flag = true;}}}if (flag) {imgSrc = BOOKIMGDIR_PATH + imgName;outputStream = new FileOutputStream(new File(contextPath,imgSrc));IOUtils.copy(inputStream, outputStream);outputStream.close();inputStream.close();//根据商品id去查询图片信息Cake cake = cakeDao.findCakeById(cakeId);UpLoadImg upImg = cake.getUpLoadImg();// 删除旧图片文件如果存在File oldImg = new File(contextPath,cake.getUpLoadImg().getImgSrc());if (oldImg.exists()) {oldImg.delete();}upImg.setImgName(imgName);upImg.setImgSrc(imgSrc);upImg.setImgType(contentType);if (upImgDao.imgUpdate(upImg)) {request.setAttribute("cakeMessage", "图片修改成功");} else {request.setAttribute("cakeMessage", "图片修改失败");}} else {request.setAttribute("cakeMessage", "图片修改失败");}cakeEdit(request,response);}// 获取商品分类信息private void cakeAddReq(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {CatalogDao cd = new CatalogDaoImpl();request.setAttribute("catalog", cd.getCatalog());request.getRequestDispatcher(BOOKADD_PATH).forward(request, response);}// 商品增加private void cakeAdd(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {boolean flag = false;Map<String, String> map = new HashMap<>();InputStream inputStream = null;OutputStream outputStream = null;File dirPath = new File(request.getServletContext().getRealPath("/") + BOOKIMGDIR_PATH);if (!dirPath.exists()) {dirPath.mkdirs();}DiskFileItemFactory dfif = new DiskFileItemFactory();ServletFileUpload servletFileUpload = new ServletFileUpload(dfif);// 解决乱码servletFileUpload.setHeaderEncoding("ISO8859_1");List<FileItem> parseRequest = null;try {parseRequest = servletFileUpload.parseRequest(request);} catch (FileUploadException e) {e.printStackTrace();}Iterator<FileItem> iterator = parseRequest.iterator();while (iterator.hasNext()) {FileItem fileItem = iterator.next();// 判断是否是表单的普通字段true为普通表单字段,false为上传文件内容if (fileItem.isFormField()) {String name = new String(fileItem.getFieldName().getBytes("ISO8859_1"), "utf-8");String value = new String(fileItem.getString().getBytes("ISO8859_1"), "utf-8");map.put(name, value);} else {String imgName = null;String contentType = fileItem.getContentType();if ("image/jpeg".equals(contentType)) {imgName = RanUtil.getUUID() + ".jpg";flag = true;}if ("image/png".equals(contentType)) {imgName = RanUtil.getUUID() + ".png";flag = true;}if (flag) {inputStream = fileItem.getInputStream();File file = new File(dirPath, imgName);outputStream = new FileOutputStream(file);// 保存img信息到map集合中,后面传入对象使用map.put("imgName", imgName);map.put("imgSrc", BOOKIMGDIR_PATH + imgName);map.put("imgType", contentType);}}}// 如果上传的内容小于3个必填项或者图片没有或类型不正确返回if (map.size() < 3 || !flag) {request.setAttribute("cakeMessage", "商品添加失败");cakeAddReq(request, response);} else {// 验证通过才可以保存图片流到本地IOUtils.copy(inputStream, outputStream);outputStream.close();inputStream.close();// 把map集合中存储的表单数据提取出来转换为cake对象// 这里要求商品增加的字段要和数据库字段一致,不然map集合转对象会出错Cake cake = new Cake();cake.setCakeName(map.get("cakeName"));cake.setPrice(Double.parseDouble(map.get("price")));cake.setDescription(map.get("desc"));// 商品分类信息Catalog catalog = cake.getCatalog();catalog.setCatalogId(Integer.parseInt(map.get("catalog")));// 图片信息UpLoadImg upLoadImg = cake.getUpLoadImg();upLoadImg.setImgName(map.get("imgName"));upLoadImg.setImgSrc(map.get("imgSrc"));upLoadImg.setImgType(map.get("imgType"));// 增加商品先增加商品图片,商品图片增加成功了在添加商品信息UpLoadImgDao uid = new UpLoadImgDaoImpl();if (uid.imgAdd(cake.getUpLoadImg())) {// 获取商品图片添加后的idInteger imgId = uid.findIdByImgName(upLoadImg.getImgName());upLoadImg.setImgId(imgId);CakeDao bd = new CakeDaoImpl();if (bd.cakeAdd(cake)) {request.setAttribute("cakeMessage", "商品添加成功");cakeList(request, response);} else {request.setAttribute("cakeMessage", "商品添加失败");cakeAddReq(request, response);}} else {// 图片添加失败就判定商品添加失败request.setAttribute("cakeMessage", "商品添加失败");cakeAddReq(request, response);}}}// 获取商品列表private void cakeList(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {int curPage = 1;String page = request.getParameter("page");if (page != null) {curPage = Integer.parseInt(page);}int maxSize = Integer.parseInt(request.getServletContext().getInitParameter("maxPageSize"));CakeDao bd = new CakeDaoImpl();PageBean pb = new PageBean(curPage, maxSize, bd.cakeReadCount());request.setAttribute("pageBean", pb);request.setAttribute("cakeList", bd.cakeList(pb));request.getRequestDispatcher(BOOKLIST_PATH).forward(request, response);}// 商品详情页private void cakeDetail(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String id = request.getParameter("id");CakeDao bd = new CakeDaoImpl();request.setAttribute("cakeInfo", bd.findCakeById(Integer.parseInt(id)));request.getRequestDispatcher(BOOKDETAIL_PATH).forward(request, response);}// 接收商品修改请求private void cakeEdit(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {int cakeId = Integer.parseInt(request.getParameter("id"));CakeDao cakeDao = new CakeDaoImpl();CatalogDao catalogDao = new CatalogDaoImpl();request.setAttribute("catalog", catalogDao.getCatalog());//获取商品分类信息request.setAttribute("cakeInfo", cakeDao.findCakeById(cakeId));//获取商品信息byIdrequest.getRequestDispatcher(BOOKEDIT_PATH).forward(request, response);}// ajax查找商品是否存在private void cakeFind(HttpServletRequest request, HttpServletResponse response) throws IOException {String cakeName = request.getParameter("param");CakeDao bd = new CakeDaoImpl();// 这里实例化json对象需要导入6个jar包(// commons-lang-2.4.jar// ,commons-collections-3.2.1.jar,commons-beanutils-1.8.3.jar// json-lib-2.4-jdk15.jar ,ezmorph-1.0.6.jar ,commons-logging-1.1.3.jar)JSONObject json = new JSONObject();if (bd.findCakeByCakeName(cakeName)) {json.put("info", "该商品已存在");json.put("status", "n");} else {json.put("info", "输入正确");json.put("status", "y");}response.getWriter().write(json.toString());}}

五.项目截图







(java毕业设计)基于java蛋糕甜品商店管理系统源码相关推荐

  1. 基于Java毕业设计伊伊物流公司的管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计伊伊物流公司的管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计伊伊物流公司的管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B ...

  2. java毕业设计西安财经大学校园一卡通管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计西安财经大学校园一卡通管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计西安财经大学校园一卡通管理系统源码+lw文档+mybatis+系统+mysq ...

  3. java毕业设计普通中学体育卫生信息管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计普通中学体育卫生信息管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计普通中学体育卫生信息管理系统源码+lw文档+mybatis+系统+mysql数 ...

  4. java毕业设计基于JS的租房网站mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计基于JS的租房网站mybatis+源码+调试部署+系统+数据库+lw java毕业设计基于JS的租房网站mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B ...

  5. 基于微信小程序商店管理系统源码成品(微信小程序毕业设计)

    基于微信小程序商店管理系统 商店管理系统是基于微信小程序,java编程语言和mysql数据库和idea开发工具作为后台,微信端采用微信开发工具开发.本系统分为用户和管理员两个角色,用户的主要功能有登陆 ...

  6. [JAVA毕业设计]Vue框架电商后台管理系统源码获取和系统演示

    项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  7. (php毕业设计)基于php的企业网站管理系统源码

    基于php的企业网站管理系统 本设计采用了php编程语言和mysql数据库进行开发的一个企业网站管理系统,系统主要分为前台和后台,前台是游客对我们企业网站的一个访问,可以查看企业的介绍信息,产品信息, ...

  8. 基于Java毕业设计智慧商店管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计智慧商店管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计智慧商店管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开 ...

  9. java毕业设计基于的校园头条新闻管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计基于的校园头条新闻管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw java毕业设计基于的校园头条新闻管理系统的设计与实现mybatis+源码+调试部署+系统+数 ...

最新文章

  1. NA-NP-IE系列实验7:CDP
  2. amazon redshift 分析型数据库特点——本质还是列存储
  3. FATE 集群部署 step1
  4. s := time.Now().Format(20060102) go格式化
  5. 收集下阿里集团下的技术BLOG
  6. Sublime Text 3 配置浏览器预览路径 localhost
  7. 视频质量,分辨率,码率之间的关系 2
  8. 【日期工具类】DateUtils
  9. java security md5_java自带的加密--java.security.MessageDigest(md5加密)
  10. 计算机视觉论文-2021-06-04
  11. 解决win2008远程桌面授权过期的方法
  12. c语言日历设计程序框图,C语言课程设计————写下流程图! 谢谢
  13. 数据库实验三 嵌套查询和视图操作
  14. 华里士公式(点火公式)与区间再现公式
  15. 护肤品行业竞争格局:2022年外资品牌护肤品占据主导地位
  16. 2012-11-09《Oopsnbsp;Inbsp;Did…
  17. 能力、态度、业绩——绩效考核三要素
  18. Java向pdf模板中写入数据并在模板之后添加新的表格内容
  19. C# FTP上传(支持断点续传)
  20. 【vue面试题-路由】

热门文章

  1. 手机和电脑存在的屏闪
  2. 每日CSS小练习 人物资料卡(图片hover之后展现人物介绍)
  3. 【安卓学习之第三方库】 ZlwAudioRecorder学习:内部流程(含aar文件生成)
  4. 【solidworks】【工程图】【我要自学网】绘制心得(2)
  5. 中信国健临床通讯2011年6月期目录
  6. 现有的分词算法,主要分为哪三大类?
  7. 自己centos7系统制作iso镜像,并新建虚拟机
  8. 新版白话空间统计(15)空间关系概念化之距离
  9. 小程序字符串截取实现手机号码中间*隐藏
  10. CAD制图软件中如何进行直径标注?