源码获取:博客首页 "资源" 里下载!

这是一个应用SSM框架的项目,前端页面整洁清晰。该系统有两个角色,一个是普通用户,另一个是管理员。

普通用户具有注册、登录、查看商品、添加购物车、添加商品收藏、下订单、商品评价、用户地址管理等等功能。

管理员具有登录、管理用户信息、管理商品信息、管理商品活动信息、管理订单信息、管理用户评论信息的等等功能。

应用技术:Jsp + SSM + EasyUi

运行环境:eclipse/IDEA + MySQL5.7 + Tomcat8.5 + JDK1.8

商品管理服务层:

@WebServlet("/backstage_goodsServlet")
public class GoodsServlet extends HttpServlet{GoodsService service = new GoodsService();@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String action = req.getParameter("action");     switch(action) {case "addGoods":addGoods(req,resp);break;case "getGoodsList":getGoodsList(req,resp);break;case "getGoodsListByName":getGoodsListByName(req,resp);break;case "deleteGoods":deleteGoods(req,resp);break;case "toGoodsUpdatePage":toGoodsUpdatePage(req,resp);break;case "updateGoods":updateGoods(req,resp);break;case "upGoodsImage":upGoodsImage(req,resp);break;case "fastbuy":sendOrder(req,resp);break;}}/*** 提交订单* @throws IOException */public void sendOrder(HttpServletRequest req, HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式            resp.setContentType("text/html;charset=utf-8");SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式Orders order = new Orders();order.setNumber(order.getRandomString(10));order.setTime(df.format(new Date()));order.setName(req.getParameter("recipients"));order.setAddress(req.getParameter("address"));order.setPhone(req.getParameter("phone"));order.setAddress_label(req.getParameter("addressLabel"));order.setSex(req.getParameter("sex"));order.setUser("sjb");order.setGoods_id(99);order.setGoods_num(3);order.setGoods_status(1);int d = service.addOrder(order);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult error = JSONResult.errorMsg("订单提交失败!");resp.getWriter().println(JsonUtil.javaObjectToJson(error));}} catch (Exception e) {e.printStackTrace();}}/*** 保存商品* @throws IOException */public void addGoods(HttpServletRequest req,HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式           resp.setContentType("text/html;charset=utf-8");FileUploadUtil upFile = new FileUploadUtil();ServletContext servletContext = req.getSession().getServletContext();List<FileItem> items= upFile.getRequsetFileItems(req,servletContext);//保存所有用户提交的 表单数据 的mapMap<String, String>  formData = new HashMap<>();String savePath = new File(getServletContext().getRealPath("/")).getParentFile().getParentFile().getPath()+"/imgs";try {//遍历for (FileItem file : items) {if(!file.isFormField()) {String fileSuffix = FileUploadUtil.getFileSuffix(file).toUpperCase();//必须是jpg或png  图片文件才能进行上传操作if("JPG".equals(fileSuffix) || "PNG".equals(fileSuffix)) {//生成新图片名String imgName = FileUploadUtil.getImgNewName(fileSuffix);FileUploadUtil.saveFile(file, savePath, imgName);formData.put("imgUrl",imgName);}}else {  //非文件数据存入formData.put(file.getFieldName(), file.getString("utf-8"));    }}} catch (UnsupportedEncodingException e) {e.printStackTrace();}Goods goods = new Goods();goods.setName(formData.get("goodsName"));goods.setNum(Integer.parseInt(formData.get("num")));goods.setPrice(Double.parseDouble(formData.get("price")));goods.setImgurl(formData.get("imgUrl"));goods.setType(formData.get("type"));goods.setDescription(formData.get("description"));goods.setColor(formData.get("color"));goods.setMemory(formData.get("memory"));goods.setCreateDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));int d = service.addGoods(goods);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("添加失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}} catch (Exception e) {e.printStackTrace();}}/*** 向前端页面返回商品数据列表*/public void getGoodsList(HttpServletRequest req,HttpServletResponse resp) {List<Goods> allGoods = service.getAllGoods();req.setAttribute("goodsList", allGoods);try {req.getRequestDispatcher("/backstage/tgls/goodsManage/goods_list.jsp").forward(req, resp);} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} }/*** @throws IOException * 根据商品名查询商品* @param req* @param resp* @throws  */public void getGoodsListByName(HttpServletRequest req,HttpServletResponse resp) throws IOException  {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式         resp.setContentType("text/html;charset=utf-8");String name = req.getParameter("goodsName");String type = req.getParameter("type");Map<String,String> parmas = new HashMap<>();parmas.put("name", name);parmas.put("type", type);List<Goods> list = service.getGoodsByName(parmas);try {if(list != null) {JSONResult ok = JSONResult.ok(list);resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("未获取到任何数据,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}          } catch (Exception e) {e.printStackTrace();}}/*** 修改商品时,获取此商品的全部数据,并返回至修改页面*/public void toGoodsUpdatePage(HttpServletRequest req,HttpServletResponse resp) {int id = Integer.parseInt(req.getParameter("id"));Goods goods = service.getGoodsInfoById(id);req.setAttribute("goods", goods);try {req.getRequestDispatcher("/backstage/tgls/goodsManage/goods_update.jsp").forward(req, resp);} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}  }/***修改商品信息时,如果有修改图片,先将图片进行修改* @throws IOException */public void upGoodsImage(HttpServletRequest req,HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式            resp.setContentType("text/html;charset=utf-8");FileUploadUtil upFile = new FileUploadUtil();ServletContext servletContext = req.getSession().getServletContext();List<FileItem> items= upFile.getRequsetFileItems(req,servletContext);String savePath = new File(getServletContext().getRealPath("/")).getParentFile().getParentFile().getPath()+"/imgs";String imgName = null;try {//遍历for (FileItem file : items) {if(!file.isFormField()) {String fileSuffix = FileUploadUtil.getFileSuffix(file);//必须是jpg或png  图片文件才能进行上传操作if("jpg".equals(fileSuffix) || "png".equals(fileSuffix)) {//生成新图片名imgName = FileUploadUtil.getImgNewName(fileSuffix);FileUploadUtil.saveFile(file, savePath, imgName);                 }}}int d = service.updateGoodsImgById(imgName, Integer.parseInt(req.getParameter("id")));if(d>0) {JSONResult ok = JSONResult.ok(imgName);resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("修改失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}     } catch (Exception e) {e.printStackTrace();}    }/***  修改商品* @throws IOException */public void updateGoods(HttpServletRequest req,HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式         resp.setContentType("text/html;charset=utf-8");Goods goods = new Goods();goods.setId(Integer.parseInt(req.getParameter("id")));goods.setName(req.getParameter("goodsName"));goods.setNum(Integer.parseInt(req.getParameter("num")));goods.setPrice(Double.parseDouble(req.getParameter("price")));goods.setType(req.getParameter("type"));goods.setColor(req.getParameter("color"));goods.setMemory(req.getParameter("memory"));goods.setDescription(req.getParameter("description"));int d = service.updateGoodsById(goods);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("修改失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}       } catch (Exception e) {e.printStackTrace();}}/*** 删除商品* @throws IOException */public void deleteGoods(HttpServletRequest req,HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式          resp.setContentType("text/html;charset=utf-8");int id = Integer.parseInt(req.getParameter("id"));int d = service.deleteGoodsById(id);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("删除失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}           } catch (Exception e) {e.printStackTrace();}}
}

订单服务类:

@WebServlet("/backstage_ordersServlet")
public class OrdersServlet extends HttpServlet{OrdersService service = new OrdersService();@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String action = req.getParameter("action");System.out.println(action);switch(action) {case "getOrdersList":getOrdersList(req,resp);break;case "getOrdersListByName":getOrdersListByName(req,resp);break;case "deleteOrders":deleteOrders(req,resp);break;case "deleteAllOrders":deleteAllOrders(req,resp);break;case "toOrdersUpdatePage":toOrdersUpdatePage(req,resp);break;case "updateOrders":updateOrders(req,resp);break;case "fastbuy":sendOrder(req,resp);break;}}/* * 删除全部订单 */private void deleteAllOrders(HttpServletRequest req, HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式            resp.setContentType("text/html;charset=utf-8");// TODO 自动生成的方法存根int d = service.deleteAllOrders();try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("删除失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}          } catch (Exception e) {e.printStackTrace();}}/*** 提交订单* @throws IOException */public void sendOrder(HttpServletRequest req, HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式           resp.setContentType("text/html;charset=utf-8");SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式User user =(User) req.getSession().getAttribute("user");Orders order = new Orders();order.setNumber(order.getRandomString(10));order.setTime(df.format(new Date()));order.setName(req.getParameter("recipients"));order.setAddress(req.getParameter("address"));order.setPhone(req.getParameter("phone"));order.setAddress_label(req.getParameter("addressLabel"));order.setSex(req.getParameter("sex"));order.setUser(user.getUserName());order.setGoods_id(Integer.parseInt(req.getParameter("id")));order.setGoods_num(Integer.parseInt(req.getParameter("num")));order.setGoods_status(1);int d = service.addOrder(order);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult error = JSONResult.errorMsg("订单提交失败!");resp.getWriter().println(JsonUtil.javaObjectToJson(error));}} catch (Exception e) {e.printStackTrace();}   }/*** 向前端页面返回订单数据列表*/public void getOrdersList(HttpServletRequest req,HttpServletResponse resp) {List<Orders> allOrders = service.getAllOrders();req.setAttribute("ordersList",allOrders);try {req.getRequestDispatcher("/backstage/tgls/ordersManage/orders_list.jsp").forward(req, resp);} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}   }/*** 根据订单名查询商品(注意!类别没改)* @param req* @param resp* @throws IOException */public void getOrdersListByName(HttpServletRequest req,HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式            resp.setContentType("text/html;charset=utf-8");String name = req.getParameter("OrdersUser");//String type = req.getParameter("type");Map<String,String> parmas = new HashMap<>();parmas.put("name", name);//parmas.put("type", type);List<Orders> list = service.getOrdersByName(parmas);try {if(list != null) {JSONResult ok = JSONResult.ok(list);resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("未获取到任何数据,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}           } catch (Exception e) {e.printStackTrace();}}/*** 修改订单时,获取此订单的全部数据,并返回至修改页面*/public void toOrdersUpdatePage(HttpServletRequest req,HttpServletResponse resp) {int id = Integer.parseInt(req.getParameter("id"));Orders orders = service.getOrdersInfoById(id);req.setAttribute("orders", orders);try {req.getRequestDispatcher("/backstage/tgls/ordersManage/orders_update.jsp").forward(req, resp);} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}  }/***  修改订单* @throws IOException */public void updateOrders(HttpServletRequest req,HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式            resp.setContentType("text/html;charset=utf-8");Orders orders = new Orders();orders.setId(Integer.parseInt(req.getParameter("id")));orders.setNumber(req.getParameter("number"));orders.setUser(req.getParameter("user"));orders.setTime(req.getParameter("time"));orders.setName(req.getParameter("name"));orders.setSex(req.getParameter("sex"));orders.setAddress(req.getParameter("address"));orders.setPhone(req.getParameter("phone"));orders.setAddress_label(req.getParameter("address_label"));orders.setGoods_id(Integer.parseInt(req.getParameter("goods_id")));orders.setGoods_num(Integer.parseInt(req.getParameter("goods_num")));orders.setGoods_status(Integer.parseInt(req.getParameter("goods_status")));System.out.println(orders);int d = service.updateOrdersById(orders);System.out.println(d);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("修改失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}        } catch (Exception e) {e.printStackTrace();}}/*** 删除订单* @throws UnsupportedEncodingException */public void deleteOrders(HttpServletRequest req,HttpServletResponse resp) throws UnsupportedEncodingException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式           resp.setContentType("text/html;charset=utf-8");int id = Integer.parseInt(req.getParameter("id"));int d = service.deleteOrdersById(id);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("删除失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}          } catch (Exception e) {e.printStackTrace();}}
}

用户管理服务类:

@WebServlet("/backstage_userServlet")
public class UserServlet extends HttpServlet{UserService service = new UserService();@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String action = req.getParameter("action");switch(action) {case "login":login(req, resp);break;case "modifyPassword":modifyPassword(req, resp);break;case "checkOldPassword":checkOldPassword(req, resp);break;case "afterModifyPassword":afterModifyPassword(req, resp);break;case "logout":logout(req, resp);break;}}/*** 用户登录* @throws IOException */public void login(HttpServletRequest req, HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式            resp.setContentType("text/html;charset=utf-8");//获取前端页面传来的用户名String userName = req.getParameter("userName");//获取前端页面传来的密码String password = req.getParameter("password");// 1、先验证该用户的角色是否为管理员String userRole = service.getUserRoleByName(userName);try {if(!"admin".equals(userRole)) {JSONResult errorMsg = JSONResult.errorMsg("暂无登录权限");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}else {//2、获取用户数据 进行用户名和密码验证User user = service.getUserByNameAndPassword(userName, password);if(user!=null) {//将用户数据保存到session 作用域中,方便在后续的操作中使用用户数据req.getSession().setAttribute("user", user);JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {// 将错误信息封装在结果集中JSONResult result = JSONResult.errorMsg("用户名或密码错误,请重试");//以json的形式返回给前端resp.getWriter().println(JsonUtil.javaObjectToJson(result));}}} catch (Exception e) {e.printStackTrace();}}/*** 检查旧密码是否正确 ,在修改密码操作时使用* @throws IOException */public void checkOldPassword(HttpServletRequest req, HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式            resp.setContentType("text/html;charset=utf-8");User user =(User) req.getSession().getAttribute("user");String oldPassword = service.getPasswordById(user.getId()); String password = req.getParameter("password");try {if(!oldPassword.equals(password)) {JSONResult errorMsg = JSONResult.errorMsg("原始密码错误,请重新输入");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}else {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}} catch (IOException e) {e.printStackTrace();}}/***  修改密码* @throws IOException */public void modifyPassword(HttpServletRequest req, HttpServletResponse resp) throws IOException {//设置请求编码格式:req.setCharacterEncoding("utf-8");//设置响应编码格式          resp.setContentType("text/html;charset=utf-8");String password = req.getParameter("newPassword");User user =(User) req.getSession().getAttribute("user");int id = user.getId();int d = service.updatePasswordById(id, password);try {if(d>0) {JSONResult ok = JSONResult.ok();resp.getWriter().println(JsonUtil.javaObjectToJson(ok));}else {JSONResult errorMsg = JSONResult.errorMsg("修改失败,请重试");resp.getWriter().println(JsonUtil.javaObjectToJson(errorMsg));}            } catch (Exception e) {e.printStackTrace();}}/*** 成功修改密码后,清除session中的数据,并且重新跳转到登录页* @param req* @param resp*/public void afterModifyPassword(HttpServletRequest req, HttpServletResponse resp) {req.getSession().removeAttribute("user");try {//使用iframe时,要避免这种直接跳转的方式// 此时只会让内嵌的iframe跳转到登录页,并非整个页面
//          resp.sendRedirect("backstage/login.jsp");PrintWriter writer = resp.getWriter();writer.print("<html>");writer.print("<script>");writer.print("window.open('"+ req.getContextPath()+"/backstage/login.jsp','_top')");writer.print("</script>");writer.print("</html>");} catch (IOException e) {e.printStackTrace();}}/*** 退出登录*/public void logout(HttpServletRequest req, HttpServletResponse resp) {req.getSession().removeAttribute("user");try {resp.sendRedirect("backstage/login.jsp");} catch (IOException e) {e.printStackTrace();}}
}

源码获取:博客首页 "资源" 里下载!

Java项目:茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql)相关推荐

  1. 基于javaweb的茶叶售卖商城系统(java+ssm+jsp+easyui+mysql)

    基于javaweb的茶叶售卖商城系统(java+ssm+jsp+easyui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecl ...

  2. 基于javaweb+jsp的茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql)

    基于javaweb+jsp的茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql) 这是一个应用SSM框架的项目,前端页面整洁清晰.该系统有两个角色,一个是普通用户,另一个是管理员. ...

  3. Java项目:网上图书商城系统(java+SSM+Jsp+MySQL+Redis+JWT+Shiro+RabbitMQ+EasyUI)

    源码获取:博客首页 "资源" 里下载! 这个项目涉及到Shiro整合JWT.秒杀功能所具备的基本要求(限流.乐观锁.接口隐藏.JMeter高并发测试等等).消息中间件RabbitM ...

  4. Java项目:家居购物商城系统(java+html+jdbc+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: Java Web精品项目源码,家居商城分类展示,商品展示, 商品下单,购物车,个人中心,后台管理,用户管理,商品管理, ...

  5. Java项目:在线蛋糕商城系统(java+jsp+jdbc+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 主页显示热销商品:所有蛋糕商品展示,可进行商品搜 索:点击商品进入商品详情页,具有立即购买和加入购物 车功能,可增减购 ...

  6. Java项目:网上花店商城系统(java+jsp+servlert+mysql+ajax)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 一套完整的网上花店商场系统,系统支持前台会员的注册 登陆系统留言,花朵的品种选择,详情浏览,加入购物 车,购买花朵等: ...

  7. Java项目:在线水果商城系统(java+JSP+Spring+SpringMVC +MyBatis+html+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 区分为管理员用户和普通用户,普通用户:用户注册登录,首页水果展示,商品分类展示,购物车添加,下单,订单查询,个人信息修 ...

  8. Java项目:嘟嘟网上商城系统(java+jdbc+jsp+mysql+ajax)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 商品的分类展示,用户的注册登录,购物车,订单结算, 购物车加减,后台商品管理,分类管理,订单管理等等功 能. 二.项目 ...

  9. Java项目嘟嘟网上商城系统(java+jdbc+jsp+mysql+ajax)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 商品的分类展示,用户的注册登录,购物车,订单结算, 购物车加减,后台商品管理,分类管理,订单管理等等功 能. 二.项目 ...

最新文章

  1. pilt图像处理_图像处理 PIL
  2. IntelliJ IDEA 15快捷键大全
  3. 小白的算法初识课堂(part1)--二分查找法
  4. 【算法图解|3】JavaScript 如何实现数组去重
  5. FMDB(FMDatabase)--SQLite的封装
  6. jmeter 获取全部响应,jmeter中的正则表达式提取器-从响应中提取多个值.
  7. 搭建redis主从复制,遇到的问题总结
  8. lisp方格网法计算土方量_方格网法计算土方量教材及例题
  9. 百度笔试题——首相的密道
  10. 苏嵌//张福辉//2018.7.13
  11. Linux安装Intel无线网卡(Ubuntu 16.04)
  12. 设置IP代理错误:“[WinError 10061] 由于目标计算机积极拒绝,无法连接”解决办法
  13. KPA EtherCAT主站协议栈基准
  14. android 4.4 锁屏密码,安卓如何绕过锁屏密码:方法都在这儿了
  15. 移动电影院创造中国电影市场的新增量
  16. git如何把分支提交的代码同步到另一个分支(git cherry-pick)
  17. 个人JAVA学习笔记总结(1)(1)
  18. springdatajpa的表名大小写问题
  19. 尚硅谷MySQL经典版教程[婷姐基础篇]
  20. 2022.10.17-10.23论文阅读记录

热门文章

  1. ZBrush全面入门学习教程 Schoolism – Introduction to ZBrush
  2. Python中requests包的安装
  3. python多版本共存使用pip
  4. 配置用户通过Telnet登录设备的身份认证(AAA本地认证)
  5. djangorestframework怎么这么好用!
  6. asp.net提交危险字符处理方法之一
  7. STM32F103C8开发板原理图和管脚图
  8. 【数据结构】某些难理解点
  9. 基础学习总结(四)--SQLite
  10. MinGW-notepad++开发c/c++程序