当前位置: 首页 > news >正文

Java项目:SSM的KTV管理系统

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

主要功能包括:

登陆页,房间信息,房间管理,开取房间,房间查询,会员管理,食物管理,查看订单,查询订单,查看房间消费使用情况等功能。

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

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版本;

技术栈

1. 后端:Spring+SpringMVC+Mybatis

2. 前端:HTML+CSS+JavaScript+jsp

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080/ 登录

运行截图

代码相关

首页管理控制器

//定义为控制器
@Controller
// 设置路径
@RequestMapping("/index")
public class IndexAction extends BaseAction {@Autowired@Resourceprivate UsersService usersService;@Autowired@Resourceprivate ArticleService articleService;@Autowired@Resourceprivate CateService cateService;@Autowired@Resourceprivate CityService cityService;@Autowired@Resourceprivate PeihuoService peihuoService;@Autowired@Resourceprivate JiancaiService jiancaiService;@Autowired@Resourceprivate CartService cartService;@Autowired@Resourceprivate OrdersService ordersService;@Autowired@Resourceprivate DetailsService detailsService;@Autowired@Resourceprivate TopicService topicService;// 公共方法 提供公共查询数据private void front() {this.getRequest().setAttribute("title", "汽车维修预约系统");List<Cate> cateList = this.cateService.getAllCate();this.getRequest().setAttribute("cateList", cateList);List<Jiancai> hotList = this.jiancaiService.getJiancaiByHot();Collections.shuffle(hotList);this.getRequest().setAttribute("hotList", hotList);}// 首页显示@RequestMapping("index.action")public String index() {this.front();List<Cate> cateList = this.cateService.getCateFront();List<Cate> frontList = new ArrayList<Cate>();for (Cate cate : cateList) {List<Jiancai> flimList = this.jiancaiService.getJiancaiByCate(cate.getCateid());cate.setFlimList(flimList);frontList.add(cate);}this.getRequest().setAttribute("frontList", frontList);return "users/index";}// 首页显示@RequestMapping("network.action")public String network() {this.front();List<Cate> cateList = this.cateService.getCateFront();List<Cate> frontList = new ArrayList<Cate>();for (Cate cate : cateList) {List<Jiancai> flimList = this.jiancaiService.getJiancaiByCate(cate.getCateid());cate.setFlimList(flimList);frontList.add(cate);}this.getRequest().setAttribute("frontList", frontList);return "users/network";}// 公告@RequestMapping("article.action")public String article(String number) {this.front();List<Article> articleList = new ArrayList<Article>();List<Article> tempList = this.articleService.getAllArticle();int pageNumber = tempList.size();int maxPage = pageNumber;if (maxPage % 12 == 0) {maxPage = maxPage / 12;} else {maxPage = maxPage / 12 + 1;}if (number == null) {number = "0";}int start = Integer.parseInt(number) * 12;int over = (Integer.parseInt(number) + 1) * 12;int count = pageNumber - over;if (count <= 0) {over = pageNumber;}for (int i = start; i < over; i++) {Article x = tempList.get(i);articleList.add(x);}String html = "";StringBuffer buffer = new StringBuffer();buffer.append("&nbsp;&nbsp;共为");buffer.append(maxPage);buffer.append("页&nbsp; 共有");buffer.append(pageNumber);buffer.append("条&nbsp; 当前为第");buffer.append((Integer.parseInt(number) + 1));buffer.append("页 &nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("首页");} else {buffer.append("<a href=\"index/article.action?number=0\">首页</a>");}buffer.append("&nbsp;&nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("上一页");} else {buffer.append("<a href=\"index/article.action?number=" + (Integer.parseInt(number) - 1) + "\">上一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("下一页");} else {buffer.append("<a href=\"index/article.action?number=" + (Integer.parseInt(number) + 1) + "\">下一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("尾页");} else {buffer.append("<a href=\"index/article.action?number=" + (maxPage - 1) + "\">尾页</a>");}html = buffer.toString();this.getRequest().setAttribute("html", html);this.getRequest().setAttribute("articleList", articleList);return "users/article";}// 阅读公告@RequestMapping("read.action")public String read(String id) {this.front();Article article = this.articleService.getArticleById(id);article.setHits("" + (Integer.parseInt(article.getHits()) + 1));this.articleService.updateArticle(article);this.getRequest().setAttribute("article", article);return "users/read";}// 准备登录@RequestMapping("preLogin.action")public String prelogin() {this.front();return "users/login";}// 用户登录@RequestMapping("login.action")public String login() {this.front();String username = this.getRequest().getParameter("username");String password = this.getRequest().getParameter("password");Users u = new Users();u.setUsername(username);List<Users> usersList = this.usersService.getUsersByCond(u);if (usersList.size() == 0) {this.getSession().setAttribute("message", "用户名不存在");return "redirect:/index/preLogin.action";} else {Users users = usersList.get(0);if (password.equals(users.getPassword())) {this.getSession().setAttribute("userid", users.getUsersid());this.getSession().setAttribute("username", users.getUsername());this.getSession().setAttribute("users", users);return "redirect:/index/index.action";} else {this.getSession().setAttribute("message", "密码错误");return "redirect:/index/preLogin.action";}}}// 准备注册@RequestMapping("preReg.action")public String preReg() {this.front();return "users/register";}// 用户注册@RequestMapping("register.action")public String register(Users users) {this.front();Users u = new Users();u.setUsername(users.getUsername());List<Users> usersList = this.usersService.getUsersByCond(u);if (usersList.size() == 0) {users.setRegdate(VeDate.getStringDateShort());this.usersService.insertUsers(users);} else {this.getSession().setAttribute("message", "用户名已存在");return "redirect:/index/preReg.action";}return "redirect:/index/preLogin.action";}// 退出登录@RequestMapping("exit.action")public String exit() {this.front();this.getSession().removeAttribute("userid");this.getSession().removeAttribute("username");this.getSession().removeAttribute("users");return "index";}// 准备修改密码@RequestMapping("prePwd.action")public String prePwd() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}return "users/editpwd";}// 修改密码@RequestMapping("editpwd.action")public String editpwd() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");String password = this.getRequest().getParameter("password");String repassword = this.getRequest().getParameter("repassword");Users users = this.usersService.getUsersById(userid);if (password.equals(users.getPassword())) {users.setPassword(repassword);this.usersService.updateUsers(users);} else {this.getSession().setAttribute("message", "旧密码错误");return "redirect:/index/prePwd.action";}return "redirect:/index/prePwd.action";}@RequestMapping("usercenter.action")public String usercenter() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}return "users/usercenter";}@RequestMapping("userinfo.action")public String userinfo() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");this.getSession().setAttribute("users", this.usersService.getUsersById(userid));return "users/userinfo";}@RequestMapping("personal.action")public String personal(Users users) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}this.usersService.updateUsers(users);return "redirect:/index/userinfo.action";}// 添加产品到购物车@RequestMapping("addcart.action")public String addcart() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Cart cart = new Cart();cart.setJiancaiid(getRequest().getParameter("goodsid"));cart.setNum(getRequest().getParameter("num"));cart.setPrice(getRequest().getParameter("price"));cart.setUsersid(userid);this.cartService.insertCart(cart);return "redirect:/index/cart.action";}// 查看购物车@RequestMapping("cart.action")public String cart() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Cart cart = new Cart();cart.setUsersid(userid);List<Cart> cartList = this.cartService.getCartByCond(cart);this.getRequest().setAttribute("cartList", cartList);return "users/cart";}// 删除购物车中的产品@RequestMapping("deletecart.action")public String deletecart(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}this.cartService.deleteCart(id);return "redirect:/index/cart.action";}// 准备结算@RequestMapping("preCheckout.action")public String preCheckout() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Cart cart = new Cart();cart.setUsersid(userid);List<Cart> cartList = this.cartService.getCartByCond(cart);if (cartList.size() == 0) {this.getRequest().setAttribute("message", "请选购配件");return "redirect:/index/cart.action";}List<City> cityList = this.cityService.getAllCity();this.getRequest().setAttribute("cityList", cityList);return "users/checkout";}// 结算@RequestMapping("checkout.action")public String checkout() {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Cart cart1 = new Cart();cart1.setUsersid(userid);List<Cart> cartList = this.cartService.getCartByCond(cart1);if (cartList.size() == 0) {this.getRequest().setAttribute("message", "请选购配件");return "redirect:/index/cart.action";} else {// 获取一个1200-9999的随机数 防止同时提交String ordercode = "PD" + VeDate.getStringDatex();double total = 0;for (Cart cart : cartList) {Details details = new Details();details.setDetailsid(VeDate.getStringDatex() + (Math.random() * 9 + 1) * 1200);details.setJiancaiid(cart.getJiancaiid());details.setNum(cart.getNum());details.setOrdercode(ordercode);details.setPrice(cart.getPrice());details.setPeihuoid(this.getRequest().getParameter("peihuoid"));details.setCityid(this.getRequest().getParameter("cityid"));details.setViewdate(this.getRequest().getParameter("viewdate"));this.detailsService.insertDetails(details);Jiancai goods = this.jiancaiService.getJiancaiById(cart.getJiancaiid());goods.setSellnum("" + (Integer.parseInt(goods.getSellnum()) + Integer.parseInt(cart.getNum())));this.jiancaiService.updateJiancai(goods);total += Double.parseDouble(cart.getPrice()) * Double.parseDouble(cart.getNum());this.cartService.deleteCart(cart.getCartid());}Orders orders = new Orders();orders.setAddtime(VeDate.getStringDateShort());orders.setOrdercode(ordercode);orders.setStatus("未付款");orders.setTotal("" + total);orders.setUsersid(userid);this.ordersService.insertOrders(orders);}return "redirect:/index/showOrders.action";}// 查看订购@RequestMapping("showOrders.action")public String showOrders(String number) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Orders orders = new Orders();orders.setUsersid(userid);List<Orders> ordersList = new ArrayList<Orders>();List<Orders> tempList = this.ordersService.getOrdersByCond(orders);int pageNumber = tempList.size();int maxPage = pageNumber;if (maxPage % 12 == 0) {maxPage = maxPage / 12;} else {maxPage = maxPage / 12 + 1;}if (number == null) {number = "0";}int start = Integer.parseInt(number) * 12;int over = (Integer.parseInt(number) + 1) * 12;int count = pageNumber - over;if (count <= 0) {over = pageNumber;}for (int i = start; i < over; i++) {Orders o = tempList.get(i);ordersList.add(o);}String html = "";StringBuffer buffer = new StringBuffer();buffer.append("&nbsp;&nbsp;共为");buffer.append(maxPage);buffer.append("页&nbsp; 共有");buffer.append(pageNumber);buffer.append("条&nbsp; 当前为第");buffer.append((Integer.parseInt(number) + 1));buffer.append("页 &nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("首页");} else {buffer.append("<a href=\"index/showOrders.action?number=0\">首页</a>");}buffer.append("&nbsp;&nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("上一页");} else {buffer.append("<a href=\"index/showOrders.action?number=" + (Integer.parseInt(number) - 1) + "\">上一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("下一页");} else {buffer.append("<a href=\"index/showOrders.action?number=" + (Integer.parseInt(number) + 1) + "\">下一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("尾页");} else {buffer.append("<a href=\"index/showOrders.action?number=" + (maxPage - 1) + "\">尾页</a>");}html = buffer.toString();this.getRequest().setAttribute("html", html);this.getRequest().setAttribute("ordersList", ordersList);return "users/orderlist";}// 准备付款@RequestMapping("prePay.action")public String prePay(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}this.getRequest().setAttribute("id", id);return "users/pay";}// 付款@RequestMapping("pay.action")public String pay(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));orders.setStatus("已付款");this.ordersService.updateOrders(orders);return "redirect:/index/showOrders.action";}// 确认收货@RequestMapping("over.action")public String over(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));orders.setStatus("已收货");this.ordersService.updateOrders(orders);return "redirect:/index/showOrders.action";}// 取消订单@RequestMapping("cancel.action")public String cancel(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}Orders orders = this.ordersService.getOrdersById(this.getRequest().getParameter("id"));orders.setStatus("已取消");this.ordersService.updateOrders(orders);return "redirect:/index/showOrders.action";}// 订单明细@RequestMapping("orderdetail.action")public String orderdetail(String id) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}Details details = new Details();details.setOrdercode(id);List<Details> detailsList = this.detailsService.getDetailsByCond(details);this.getRequest().setAttribute("detailsList", detailsList);return "users/orderdetail";}// 按分类查询@RequestMapping("cate.action")public String cate(String id, String number) {this.front();Jiancai goods = new Jiancai();goods.setCateid(id);List<Jiancai> flimList = new ArrayList<Jiancai>();List<Jiancai> tempList = this.jiancaiService.getJiancaiByCond(goods);int pageNumber = tempList.size();int maxPage = pageNumber;if (maxPage % 12 == 0) {maxPage = maxPage / 12;} else {maxPage = maxPage / 12 + 1;}if (number == null) {number = "0";}int start = Integer.parseInt(number) * 12;int over = (Integer.parseInt(number) + 1) * 12;int count = pageNumber - over;if (count <= 0) {over = pageNumber;}for (int i = start; i < over; i++) {Jiancai x = tempList.get(i);flimList.add(x);}String html = "";StringBuffer buffer = new StringBuffer();buffer.append("&nbsp;&nbsp;共为");buffer.append(maxPage);buffer.append("页&nbsp; 共有");buffer.append(pageNumber);buffer.append("条&nbsp; 当前为第");buffer.append((Integer.parseInt(number) + 1));buffer.append("页 &nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("首页");} else {buffer.append("<a href=\"index/cate.action?number=0&id=\" + id+ \"\">首页</a>");}buffer.append("&nbsp;&nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("上一页");} else {buffer.append("<a href=\"index/cate.action?number=" + (Integer.parseInt(number) - 1) + "&id=\" + id+ \"\">上一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("下一页");} else {buffer.append("<a href=\"index/cate.action?number=" + (Integer.parseInt(number) + 1) + "&id=\" + id+ \"\">下一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("尾页");} else {buffer.append("<a href=\"index/cate.action?number=" + (maxPage - 1) + "&id=\" + id+ \"\">尾页</a>");}html = buffer.toString();this.getRequest().setAttribute("html", html);this.getRequest().setAttribute("flimList", flimList);return "users/list";}// 推荐产品@RequestMapping("recommend.action")public String recommend(String number) {this.front();Jiancai goods = new Jiancai();goods.setRecommend("是");List<Jiancai> flimList = new ArrayList<Jiancai>();List<Jiancai> tempList = this.jiancaiService.getJiancaiByCond(goods);int pageNumber = tempList.size();int maxPage = pageNumber;if (maxPage % 12 == 0) {maxPage = maxPage / 12;} else {maxPage = maxPage / 12 + 1;}if (number == null) {number = "0";}int start = Integer.parseInt(number) * 12;int over = (Integer.parseInt(number) + 1) * 12;int count = pageNumber - over;if (count <= 0) {over = pageNumber;}for (int i = start; i < over; i++) {Jiancai x = tempList.get(i);flimList.add(x);}String html = "";StringBuffer buffer = new StringBuffer();buffer.append("&nbsp;&nbsp;共为");buffer.append(maxPage);buffer.append("页&nbsp; 共有");buffer.append(pageNumber);buffer.append("条&nbsp; 当前为第");buffer.append((Integer.parseInt(number) + 1));buffer.append("页 &nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("首页");} else {buffer.append("<a href=\"index/recommend.action?number=0\">首页</a>");}buffer.append("&nbsp;&nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("上一页");} else {buffer.append("<a href=\"index/recommend.action?number=" + (Integer.parseInt(number) - 1) + "\">上一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("下一页");} else {buffer.append("<a href=\"index/recommend.action?number=" + (Integer.parseInt(number) + 1) + "\">下一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("尾页");} else {buffer.append("<a href=\"index/recommend.action?number=" + (maxPage - 1) + "\">尾页</a>");}html = buffer.toString();this.getRequest().setAttribute("html", html);this.getRequest().setAttribute("flimList", flimList);return "users/list";}// 推荐产品@RequestMapping("hot.action")public String getHost(String number) {this.front();Jiancai goods = new Jiancai();goods.setRecommend("是");List<Jiancai> flimList = new ArrayList<Jiancai>();List<Jiancai> tempList = this.jiancaiService.getJiancaiByHot();int pageNumber = tempList.size();int maxPage = pageNumber;if (maxPage % 12 == 0) {maxPage = maxPage / 12;} else {maxPage = maxPage / 12 + 1;}if (number == null) {number = "0";}int start = Integer.parseInt(number) * 12;int over = (Integer.parseInt(number) + 1) * 12;int count = pageNumber - over;if (count <= 0) {over = pageNumber;}for (int i = start; i < over; i++) {Jiancai x = tempList.get(i);flimList.add(x);}String html = "";StringBuffer buffer = new StringBuffer();buffer.append("&nbsp;&nbsp;共为");buffer.append(maxPage);buffer.append("页&nbsp; 共有");buffer.append(pageNumber);buffer.append("条&nbsp; 当前为第");buffer.append((Integer.parseInt(number) + 1));buffer.append("页 &nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("首页");} else {buffer.append("<a href=\"index/hot.action?number=0\">首页</a>");}buffer.append("&nbsp;&nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("上一页");} else {buffer.append("<a href=\"index/hot.action?number=" + (Integer.parseInt(number) - 1) + "\">上一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("下一页");} else {buffer.append("<a href=\"index/hot.action?number=" + (Integer.parseInt(number) + 1) + "\">下一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("尾页");} else {buffer.append("<a href=\"index/hot.action?number=" + (maxPage - 1) + "\">尾页</a>");}html = buffer.toString();this.getRequest().setAttribute("html", html);this.getRequest().setAttribute("flimList", flimList);return "users/list";}// 全部产品@RequestMapping("all.action")public String all(String number) {this.front();List<Jiancai> flimList = new ArrayList<Jiancai>();List<Jiancai> tempList = this.jiancaiService.getAllJiancai();int pageNumber = tempList.size();int maxPage = pageNumber;if (maxPage % 12 == 0) {maxPage = maxPage / 12;} else {maxPage = maxPage / 12 + 1;}if (number == null) {number = "0";}int start = Integer.parseInt(number) * 12;int over = (Integer.parseInt(number) + 1) * 12;int count = pageNumber - over;if (count <= 0) {over = pageNumber;}for (int i = start; i < over; i++) {Jiancai x = tempList.get(i);flimList.add(x);}String html = "";StringBuffer buffer = new StringBuffer();buffer.append("&nbsp;&nbsp;共为");buffer.append(maxPage);buffer.append("页&nbsp; 共有");buffer.append(pageNumber);buffer.append("条&nbsp; 当前为第");buffer.append((Integer.parseInt(number) + 1));buffer.append("页 &nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("首页");} else {buffer.append("<a href=\"index/all.action?number=0\">首页</a>");}buffer.append("&nbsp;&nbsp;");if ((Integer.parseInt(number) + 1) == 1) {buffer.append("上一页");} else {buffer.append("<a href=\"index/all.action?number=" + (Integer.parseInt(number) - 1) + "\">上一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("下一页");} else {buffer.append("<a href=\"index/all.action?number=" + (Integer.parseInt(number) + 1) + "\">下一页</a>");}buffer.append("&nbsp;&nbsp;");if (maxPage <= (Integer.parseInt(number) + 1)) {buffer.append("尾页");} else {buffer.append("<a href=\"index/all.action?number=" + (maxPage - 1) + "\">尾页</a>");}html = buffer.toString();this.getRequest().setAttribute("html", html);this.getRequest().setAttribute("flimList", flimList);return "users/list";}// 查询配件@RequestMapping("query.action")public String query(String name) {this.front();Jiancai goods = new Jiancai();goods.setJiancainame(name);List<Jiancai> flimList = this.jiancaiService.getJiancaiByLike(goods);this.getRequest().setAttribute("flimList", flimList);return "users/list";}// 配件详情@RequestMapping("detail.action")public String detail(String id) {this.front();Jiancai goods = this.jiancaiService.getJiancaiById(id);goods.setHits("" + (Integer.parseInt(goods.getHits()) + 1));this.jiancaiService.updateJiancai(goods);this.getRequest().setAttribute("goods", goods);if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");Topic topic = new Topic();topic.setJiancaiid(id);List<Topic> topicList = this.topicService.getTopicByCond(topic);this.getRequest().setAttribute("topicList", topicList);this.getRequest().setAttribute("tnum", topicList.size());return "users/detail";}@RequestMapping("addTopic.action")public String addTopic(Topic topic) {this.front();if (this.getSession().getAttribute("userid") == null) {return "redirect:/index/preLogin.action";}String userid = (String) this.getSession().getAttribute("userid");topic.setAddtime(VeDate.getStringDateShort());topic.setContents(this.getRequest().getParameter("contents"));topic.setJiancaiid(this.getRequest().getParameter("goodsid"));topic.setNum(this.getRequest().getParameter("num"));topic.setUsersid(userid);this.topicService.insertTopic(topic);return "redirect:/index/detail.action?id=" + topic.getJiancaiid();}}

如果也想学习本系统,下面领取。关注并回复:070ssm 

相关文章:

深度技术解读AlphaFold3: 谷歌第三代AI工具精准预测生物大分子四级结构

自然界每一种植物、动物和人类细胞内部&#xff0c;都包含有数以亿计的分子机器。这些分子机器由蛋白质、DNA、RNA及其他配体分子组成。正是这些由生物大分子组成的小型机器&#xff0c;维持着生命的运转和延续。从本质上来讲&#xff0c;生命就是建立在分子层面的结构支撑&…...

sql注入中的替换技巧。

目录 1&#xff1a;注释的替换 2&#xff1a;空格替换 3&#xff1a;大小写混合绕过及双写绕过 4&#xff1a;等号的绕过 5&#xff1a;单双引号的绕过 1&#xff1a;注释的替换 注释在sql注入中非常重要&#xff0c;因为会使用它来闭合我们注入的sql语句。 当以get方式提…...

4. 从感知机到神经网络

目录 1. 从感知机到神经网络 2. 最简单的神经网络 3. 激活函数的引入 1. 从感知机到神经网络 之前章节我们了解了感知机&#xff0c;感知机可以处理与门、非与门、或门、异或门等逻辑运算&#xff1b;不过在感知机中设定权重的工作是由人工来做的&#xff0c;而设定合适的&a…...

深入Django:用户认证与权限控制实战指南

title: 深入Django&#xff1a;用户认证与权限控制实战指南 date: 2024/5/7 18:50:33 updated: 2024/5/7 18:50:33 categories: 后端开发 tags: AuthDecoratorsPermissionsGuardianRESTAuthSessionMgmtMFA 第1章&#xff1a;入门Django与设置 1.1 Django安装与环境配置 在…...

java设计模式四 桥接模式

桥接模式关注于将抽象部分与实现部分分离&#xff0c;使它们可以独立变化。它通过在抽象和实现之间建立一个桥梁来实现这一目的。这种设计模式属于结构型模式。 假设我们要设计一个图形编辑器&#xff0c;其中图形&#xff08;如圆形、正方形&#xff09;可以有不同的颜色填充…...

android 预加载进程

目录 一.背景 二.实现 1. 创建预加载服务类 2.清单文件中注册并制定 android:process 要预加载的进程 3.开启和停止 一.背景 做阅读器独立进程时&#xff0c;打开阅读器阅读页面所在的Activity&#xff0c;会出现白屏或黑屏 也就是说从一个进程activity跳转另一个进程的a…...

Java项目:SSM的KTV管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 主要功能包括&#xff1a; 登陆页,房间信息,房间管理,开取房间,房间查询,会员管理,食物管理,查看订单,查询订单,查看房间消费使用情况等功能。…...

包装类-Wrapper

包装类的分类 针对八种基本数据类型相应的引用类型-包装类有了类的特点&#xff0c;就可以调用对应的类中的方法 装箱和拆箱 Java是一种面向对象的编程语言&#xff0c;学习Java时就被明确灌输了一个概念&#xff1a;OOP&#xff0c;即面向对象编程。一切皆对象。但是基本…...

计算机网络——运输层【重点】

运输层概述 概念 进程之间的通信 从通信和信息处理的角度看&#xff0c;运输层向它上面的应用层提供通信服务&#xff0c;它属于面向通信部分的最高层&#xff0c;同时也是用户功能中的最低层。当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时&…...

ADSP-21569/ADSP-21593的开发入门(上)

作者的话 ADI的SHARC系列DSP&#xff0c;目前已经出到5系列了&#xff0c;最新的一颗叫2159x&#xff0c;按照ADI的说法&#xff0c;这颗DSP的性能是21569的两倍&#xff0c;但又能和21569做P2P的替换&#xff0c;所以下面我们就以21593为例&#xff0c;写一点资料&#xff0c…...

【Android App】在线直播之搭建WebRTC的服务端(图文解释 简单易懂)

有问题或需要源码请点赞关注收藏后评论区留言私信~~~ 一、WebRTC的系统架构 WebRTC&#xff08;网页即时通信&#xff09;是一个支持浏览器之间实时音视频对话的新型技术&#xff0c;WebRTC体系由应用于实时通信的编程接口和一组通信协议组成&#xff0c;已成为互联网流媒体通…...

x265 帧间预测

帧间编码入口函数&#xff1a; 从 Analysis::compressCTU 是ctu编码的入口函数&#xff0c;根据 slice 类型判断是 I 还是 BP&#xff0c;如果是BP则执行帧间编码函数 Analysis::compressInterCU_rdx_x&#xff1a;&#xff1a;/*压缩分析CTU过程&#xff1a;1.为当前CTU加载QP…...

【sciter】安全应用列表控件总结

一、效果图 二、功能点 实现电脑文件拖拽进入到安全桌面,读取文件路径,生成应用。可以配置允许拖拽进入安全桌面的文件应用。点击添加图标,可以添加应用到安全桌面中。在安全桌面列表中每一个应用实现双击、失去焦点,获取焦点、右键事件在安全桌面列表中每一个应用可以实现…...

一篇文章让你搞懂Java顺序表

目录 一、 线性表的基本介绍 二、顺序表 1、顺序表的概念 2. 创建顺序表类&#xff08;ArrayList&#xff09; 2. 增加元素 3. 删除元素 4. 修改某个元素 5. 查找元素 Main类 在数据结构体系中我们将整个数据结构分为两类&#xff0c;一类是线性结构&#xff1b; 线性…...

小白必知必会的几个IP协议知识

小白必知必会的几个IP协议知识1.IP地址属于网络层协议2.路由控制3.数据链路的抽象化4.IP属于面向无连接型1.IP地址属于网络层协议 在计算机通信中&#xff0c;为了识别通信对端&#xff0c;必须要有一个类似于地址的识别码进行标识。 MAC地址是用来标识同一个链路中不同计算机…...

【45-线程的实现方式-线程池的创建方式-线程池的执行顺序-CompletableFutrue异步处理】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了&#xff0c;请点击这里&#xff01;】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…...

前馈神经网络与支持向量机实战 --- 手写数字识别

前馈神经网络与支持向量机实战 — 手写数字识别 文章目录前馈神经网络与支持向量机实战 --- 手写数字识别一、前馈神经网络介绍二、支持向量机介绍三、数据集说明四、环境准备五、实验要求六、Python代码tutorial_minst_fnn-keras.py&#xff1a;使用TensorFlow的Sequential实现…...

idea导入eclipse项目的时候,Java图标变成黄色小J了,怎么解决?

凯哥今天导入一个15年时候写的小项目&#xff0c;当时使用的是eclipse写的。最近好几年都在使用idea&#xff0c;习惯了idea的&#xff0c;在用eclipse&#xff0c;不习惯&#xff0c;不顺手&#xff0c;就导入到idea中。发现&#xff0c;Java文件的图标变成了黄色的J。如下图&…...

Redis配置与优化

1 关系数据库与非关系型数据库概述 1.1 关系型数据库 一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上 一般面向于记录 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言 用于执行对关系型数据库中…...

管理团队相关的梳理

管理团队是跟踪团队成员工作表现,提供反馈,解决问题并管理团队变更,以优化项目绩效的过程。本过程的主要作用是,影响团队行为、管理冲突以及解决问题等方式,实现团队管理。 输入 1.项目管理计划 --------资源管理计划 2. 项目文件 --------问题日志、经验教训登记册、项…...

HTML5期末大作业【红色的电影售票平台网站】web前端 html+css+javascript网页设计实例 企业网站制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…...

【三维目标检测】Part-A2(一)

Part-A2是商汤在CVPR 2020上发布的三维点云目标检测模型&#xff0c;来源于PointRCNN同一作者&#xff0c;论文名称《From Points to Parts 3D Object Detection from Point Cloud with Part-aware and Part-aggregation Network》。从名称可以看出&#xff0c;Part代表的是目标…...

C++输出四舍五入的一些小问题

嗯…今天刚去练了一会简单题 就我大一刚上学做的那种题&#xff0c;嗯&#xff0c;然后我发现我还是得调试&#xff0c;想骂人了&#xff0c;就啥样的题呢, 嗯,就这样的题&#xff0c;虽然我大一可能也过不了这种题&#xff0c;hh 现在题目里面要求一些四舍五入的问题 刚才没整…...

详解设计模式:责任链模式

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;也被称为职责链模式&#xff0c;是在 GoF 23 种设计模式中定义了的行为型模式。 责任链模式 是将链中的每一个节点看作是一个对象&#xff0c;每个节点处理的请求不同&#xff0c;且内部自动维护一个下一节点…...

Python源码剖析笔记1-整数对象PyIntObject

1、PyIntObject 对象 [intobject.h] typedef struct {PyObject_HEADlong ob_ival; } PyIntObjectPyIntObject是一个不可变&#xff08;immutable&#xff09;对象。Python内部也大量的使用整数对象&#xff0c;我们在自己的代码中也会有大量的创建销毁整型对象的操作&#xff…...

求一个网页设计作业——个人博客(HTML+CSS)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…...

HTML5期末大作业:基于html+css+javascript+jquery实现藏族文化15页【学生网页设计作业源码】

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…...

2. IMU原理及姿态融合算法详解

文章目录2. IMU原理及姿态融合算法详解一、组合二、 原理a) 陀螺仪b) 加速度计c) 磁力计三、 旋转的表达a) 欧拉角b) 旋转矩阵c) 四元数d) 李群 SO(3)\text{SO}(3)SO(3) 及 李代数 so(3)\text{so}(3)so(3)四、 传感器的噪声及去除a) 陀螺仪b) 加速度计c) 磁力计五、姿态解算原理…...

【能效管理】安科瑞远程预付费系统在江西某沃尔玛收费管理的应用

摘要&#xff1a;文章根据用电远程管控原理&#xff0c;设计了用电预付费远程管理终端及管理系统&#xff0c;该系统以智能远程预付费电表、智能网关以及预付费管理软件实现了商业综合体的用电管理&#xff0c;实现了欠费自动分闸&#xff0c;充值后自动合闸&#xff0c;并辅助…...

HTML+CSS+JS做一个好看的个人网页—web网页设计作业

个人网页设计个人网页&#xff08;htmlcssjs&#xff09;——网页设计作业带背景音乐&#xff08;The way I still Love you&#xff09;、樱花飘落效果、粒子飘落效果页面美观&#xff0c;样式精美涉及&#xff08;htmlcssjs&#xff09;&#xff0c;下载后可以根据自己需求进…...

【MySQL】表的增删改查(一)

你可以了解世间万物&#xff0c;但追根溯源的唯一途径便是亲身尝试。——《心灵捕手》 前言&#xff1a; 大家好&#xff0c;我是拳击哥&#xff0c;今天给大家讲解的是mysql表GRUD操作中的新增数据、查询数据以及表中数据的排序、去重等。因篇幅过长&#xff0c;分为两期来讲解…...

HTML5期末考核大作业、HTML个人主页界面设计源码

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…...

计算机毕业设计Java酒店信息管理(源码+系统+mysql数据库+lw文档)

计算机毕业设计Java酒店信息管理(源码系统mysql数据库lw文档) 计算机毕业设计Java酒店信息管理(源码系统mysql数据库lw文档)本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;La…...

ARM 汇编编写 LED 灯

一、一步步点亮LED 1. 硬件工作原理及原理图查阅 LED 本身有 2 个接线点&#xff0c;一个是 LED 的正极&#xff0c;一个是 LED 的负极。LED 这个硬件的功能就是点亮或者不亮&#xff0c;物理上想要点亮一颗 LED 只需要给他的正负极上加正电压即可&#xff0c;要熄灭一颗 LED…...

用python编写远程控制程序

1.前言 远程控制是网络安全的一个极为重要的内容&#xff0c;无论是网络安全的维护者还是破坏者都会对此进行研究。维护者的目标是保证远程控制的安全&#xff0c;而破坏者的目标是希望能够凭借各种手段实现对目标设备的远程控制。 本文主要研究三个内容。 1.如何编写一个基于…...

安装docker,docker-compose

安装docker,docker-composeLinux时间不对ARM同步时间X86同步时间centos8更换源安装dockerARM安装dockerX86安装dockerdocker设置阿里镜像源docker 下载拉取报错安装docker-composeARM X86安装docker-composemac安装docker-composeLinux时间不对 ARM同步时间 # 安装chrony yum…...

一文带你深入理解【Java基础】· 泛型

写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…...

RabbitMQ学习笔记

目录 尚硅谷mq视频学习笔记 1.1. MQ 的相关概念 1.1.1. 什么是MQ 1.1.2. 为什么要用MQ 1.1.3. MQ 的分类 1.ActiveMQ 2.Kafka 3.RocketMQ 4.RabbitMQ 1.1.4. MQ 的选择 1.Kafka 2.RocketMQ 3.RabbitMQ 1.2. RabbitMQ 1.2.1. RabbitMQ 的概念 1.2.2. 四大核心概念…...

Java安全-CC1

CC1 这里用的是组长的链子和yso好像不太一样&#xff0c;不过大体上都是差不多的。后半条的链子都是一样的&#xff0c;而且这条更短更易理解。yso的CC1过段时间再看一下。 环境 Maven依赖&#xff1a; <dependencies><dependency><groupId>commons-colle…...

【得到日期对象NSDate的各个部分 Objective-C语言】

一、得到日期对象NSDate的各个部分,年月日时分秒 1.例如,我这儿有1个NSDate对象, NSDate *date = [NSDate date]; 这个日期里面是不是有年、有月、有日、有时、有分、有秒 我想单独的拿到这个日期里面的年,该怎么拿 用date.year属性,行吗,不行,因为没有这个属性 用…...

前端面试常考 | CSS垂直居中解决方案

文章目录一. 前言二. flx布局实现三. Grid布局实现四. 绝对定位transform五. 绝对定位负margin五. 绝对定位calc六. 定位加margin一. 前言 前段时间刷到一篇帖子&#xff0c;说面试竟然遇到了CSS的考点&#xff0c;让回答CSS实现垂直居中的方式有哪些?&#xff0c;都2022年了…...

Flink中的UDF的实现

Flink 的 Table API 和 SQL 提供了多种自定义函数的接口&#xff0c;以抽象类的形式定义。当前 UDF 主要有以下几类&#xff1a; 标量函数&#xff08;Scalar Functions&#xff09;&#xff1a;将输入的标量值转换成一个新的标量值&#xff1b;表函数&#xff08;Table Funct…...

Linux教程

Linux 目录结构 /bin&#xff1a;&#xff08;binary&#xff09;存放的是一些二进制文件&#xff0c;但是在Linux中二进制文件是可以被执行的。这个目录中的命令文件是给普通用户使用&#xff08;非超级管理员用户&#xff09;。 /etc&#xff1a;Linux下所有的配置文件都会…...

1.3 Apache Hadoop的重要组成-hadoop-最全最完整的保姆级的java大数据学习资料

文章目录1.3 Apache Hadoop的重要组成1.3 Apache Hadoop的重要组成 HadoopHDFS(分布式文件系统)MapReduce(分布式计算框架)Yarn(资源协调框架)Common模块 Hadoop HDFS&#xff1a;&#xff08;Hadoop Distribute File System &#xff09;一个高可靠、高吞吐量的分布式文件系统…...

【蓝桥杯】第十四届模拟赛第一期及第二期填空汇总

目录 1.A题&#xff08;进制位数&#xff09; 位运算符 第一期 问题描述 解析 第二期 解析 代码 2.B题&#xff08;日期问题&#xff09; 第一期 问题描述 解析 代码实现 执行结果 第二期 问题描述 解析 3.C题&#xff08;数学问题&#xff09; 第一期 问题…...

Go学习之路-环境搭建

默认运行设备系统&#xff1a;MacOS 安装 安装包下载地址&#xff08;下面3个都可以&#xff09;&#xff1a; https://studygolang.com/dl https://golang.google.cn/dl/ https://golang.org/dl/ 我这里选择 pkg包、一键安装、默认的安装路径 /usr/local/go 环境 设置go语言…...

Siamese Neural Network (SNN: 孪生神经网络)

【学习参考】&#xff1a; https://blog.csdn.net/MyArrow/article/details/122539749https://blog.csdn.net/MyArrow/article/details/122539749 Siamese network 孪生神经网络--一个简单神奇的结构 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/35040994 【Siamese和Ch…...

22个每个程序员都应该知道的 Git 命令

在这篇文章中&#xff0c;我写了一个快速学习 git 命令的备忘单。它将包括开发人员每天使用的命令&#xff0c;如 git add、git commit、git pull、git fetch&#xff0c;并共享其他有用的 git 命令。 我一直使用Git的一些命令&#xff0c;今天这个列表清单&#xff0c;希望也…...

Android动画——使用动画启动Activity

1、使用动画启动Activity概述 我们在Android开发应用时&#xff0c;会遇到一个页面跳转到另一个页面的情况&#xff0c;这时候我们如果使用动画过渡会使得页面更加的流畅。这是一个滑动式的进入和退出的动画可以看到Android的过渡动画可以在不同状态之间建立视觉联系。您可以为…...

【YOLO系列改进NO.46】改进激活函数为ACON

文章目录 前言一、解决问题二、基本原理三、​添加方法四、总结前言 作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv7的如何改进进行详细…...

JavaScript -- 09. 内置对象的介绍

文章目录内置对象1 解构赋值1.1 保留默认值1.2 接受剩余的所有参数1.3 对函数执行结果解构1.4 交换两个变量的值1.5 二维数组结构2 对象的解构2.1 声明对象同时解构对象2.2 先声明再解构2.3 解构不存在的属性2.4 设置解构别名2.5 设置解构默认值3 对象的序列化3.1 对象的序列化…...

Spring核心与设计思想

⭐️前言⭐️ 这篇文章作为Spring篇目的开篇&#xff0c;带领大家认识Spring&#xff0c;知道为什么要用Spring框架&#xff0c;以及了解Spring的核心与设计思想。 &#x1f349;博客主页&#xff1a; &#x1f341;【如风暖阳】&#x1f341; &#x1f349;精品Java专栏【Jav…...

Java的字符串String

文章目录什么是字符串String类的声明为什么我们的String是不可变的为什么String类用final修饰String的创建字符串比较相等关于Java中的比较关于字符串不同赋值操作对应的内存分配那对象如何进行比较内容字符串常量池StringTalbe的位置字符串常见的操作拼接操作获得字符串的子串…...

net-java-php-python-网络安全教育学习网站计算机毕业设计程序

net-java-php-python-网络安全教育学习网站计算机毕业设计程序 net-java-php-python-网络安全教育学习网站计算机毕业设计程序本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse 前端技术&#xff1a;…...

git分支详解——记住这些指令能帮助你解决大部分git的分支问题

Github 之 分支 branch 操作之 查看分支/创建分支/切换分支/提交分支/删除分支/合并分支 等操作 一、简单介绍 二、查看分支 1、查看本地所有分支&#xff1a;git branch 2、查看远程有哪些分支&#xff1a;git branch -r 3、查看所有分支&#xff08;本地和远程的&#xff09;…...

jdk11新特性——JShell交互性工具

目录一、jshell概述二、jshell位置三、jshell示例3.1、示例一&#xff08;声明变量并赋值&#xff09;3.2、示例二&#xff08;输出打印内容&#xff09;3.3、示例三&#xff08;帮助命令&#xff09;一、jshell概述 java9引入了jshell这个交互性工具&#xff0c;让Java也可以…...

解决 git克隆拉取代码报SSL certificate problem错误

问题&#xff1a;拉取代码时报错&#xff0c;SSL证书问题:证书链中的自签名证书问题 解决&#xff1a;只需要关闭证书验证&#xff0c;执行下面代码即可&#xff1a; git config --global http.sslVerify "false" 再次拉取代码就可以了...

LC719

719. 找出第 K 小的数对距离 719. 找出第 K 小的数对距离 - 力扣&#xff08;LeetCode&#xff09; 数对 (a,b) 由整数 a 和 b 组成&#xff0c;其数对距离定义为 a 和 b 的绝对差值。 给你一个整数数组 nums 和一个整数 k &#xff0c;数对由 nums[i] 和 nums[j] 组成且满足 …...

文件上传结合springboot

目录 前台页面 后台接口 文件上传总结 前端页面三要素 服务端接收文件 前台页面 <form action"/upload" method"post" enctype"mutipart/form-data"> 姓名<imput type"text" name"username"><br> 年…...

【QA】Java集合常用的函数

文章目录 前言Collection接口通用函数 | Collections工具类通用函数 | List接口 Set接口List接口ArrayListLinkedList Set接口TreeSetHashSetLinkedHashSet Map接口通用函数TreeMapHashMapLinkedHashMap 前言 本文介绍Java集合中常用的函数。 Collection接口 通用函数 | Co…...

汽车EDI:IAC Elmdon EDI 对接指南

近期收到客户C公司的需求&#xff0c;需要与其合作伙伴IAC Elmdon建立EDI连接&#xff0c;本文将主要为大家介绍IAC Elmdon EDI 对接指南&#xff0c;了解EDI项目的对接流程。 项目需求 传输协议&#xff1a;OFTP2 IAC Elmdon 与其供应商之间使用的传输协议为OFTP2。OFTP2是…...

【数据结构与算法篇】栈和队列

【数据结构与算法篇】栈和队列 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;数据结构与算法&#x1f345; &#x1f33c;文章目录&#x1f33c; 1. 栈 1.1 栈的概念 1.2 栈的实现 2. 队列 2.1 队列的概念及结构 2.2 队列的实现 1…...

【Linux】从零开始认识动静态库 - 静态库

送给大家一句话: 永不言弃&#xff0c;就是我的魔法&#xff01; ——阿斯塔《黑色四叶草》 ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ 从零…...

VirtualBox虚拟FreeBSD15显卡配置@Win10

VirtualBox虚拟FreeBSD15&#xff0c;准备把X桌面装上&#xff0c;但是常规一顿操作后pkg install xorg xfce4 &#xff0c;一开始startx直接黑屏&#xff0c;后来执行startx就卡在登录界面&#xff0c;而且只能ssh登录上去kill不能切换出来。 执行xrandr报错没有显示器&#x…...

使用zdppy_amauth开发获取用户列表接口

服务端代码&#xff1a; 1、创建数据库连接对象2、初始化数据库3、声明一个上下文4、挂载用户相关的路由&#xff0c;这里主要由&#xff1a;登录&#xff0c;注册&#xff0c;获取用户列表5、启动服务 import mcrud import api import amauth import env import contextlibe…...

十二届蓝桥杯Python组1月中/高级试题 第三题

** 十二届蓝桥杯Python组1月中/高级试题 第三题 ** 第三题&#xff08;难度系数 3&#xff0c;25 个计分点&#xff09; 提示信息&#xff1a; 有一堆砖&#xff0c;需要按照一定规律进行堆放&#xff0c;具体堆放规律如下&#xff1a; 顶层放1块砖&#xff0c; 第二层放3块砖…...

C/C++ StringToAddress(字符串转 boost::asio::ip::address)

为什么不推荐 boost::asio::ip::address::from_string、boost::asio::ip::address::make_string 函数来把字符串转换为 ip 地址呢&#xff1f; 这是因为有平台、编译器兼容性&#xff0c;在 android 平台上面&#xff0c;使用这两个函数会导致崩溃问题&#xff0c;在一些 clang…...

Windows系统本地部署DrawDB数据库设计工具并实现无公网IP远程访问

文章目录 1. Windows本地部署DrawDB2. 安装Cpolar内网穿透3. 实现公网访问DrawDB4. 固定DrawDB公网地址 开发中很多时候都会使用到数据库&#xff0c;所以选择一个好用的数据库设计工具会让工作效率翻倍。在当今数字化时代&#xff0c;数据库管理是许多企业和个人项目的核心。设…...