登录

代码如下

package net.lh.shop.servlet;/*** 功能:登录处理类* 作者:刘浩* 日期:2019年12月9日*/import java.io.IOException;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 javax.servlet.http.HttpSession;import net.lh.shop.bean.User;
import net.lh.shop.service.UserService;@WebServlet("/login")
public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置请求对象的字符编码lrequest.setCharacterEncoding("utf-8");// 获取会话对象HttpSession session = request.getSession();// 获取用户名String username = request.getParameter("username");// 获取密码String password = request.getParameter("password");// 定义用户服务对象UserService userService = new UserService();// 执行登录方法,返回用户实体User user = userService.login(username, password);// 判断用户登录是否成功if (user != null) {// 设置session属性session.setMaxInactiveInterval(5 * 60);session.setAttribute("username", username);session.removeAttribute("loginMsg");// 根据用户权限跳转到不同页面if (user.getPopedom() == 0) {System.out.println("用户登录成功,进入后台管理!");response.sendRedirect(request.getContextPath() + "/backend/management.jsp");} else if (user.getPopedom() == 1) {System.out.println("用户登录成功,进入前台显示类别!");response.sendRedirect(request.getContextPath() + "/showCategory");}} else {System.out.println("用户名或密码错误,用户登录失败!");// 设置session属性loginMsgsession.setAttribute("loginMsg", "用户名或密码错误!");response.sendRedirect(request.getContextPath() + "/login.jsp");}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}

测试
管理员登录

普通用户登录

登录失败



注销

代码如下


```java
package net.lh.shop.servlet;/*** 功能:注销处理类* 作者:刘浩* 日期:2019年12月9日*/import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet("/logout")
public class LogoutServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 让session失效request.getSession().invalidate();// 重定向到登录页面System.out.print("用户注销成功!");response.sendRedirect(request.getContextPath() + "/login.jsp");}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}
测试注销要先登录
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120216922.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209115906248.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)输入 localhost:8080/simonshop/logout![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209115846494.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)![在这里插入图片描述](https://img-blog.csdnimg.cn/2019120912005144.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)## 注册```java```java
package net.lh.shop.servlet;/*** 功能:处理用户注册* 作者:刘浩* 日期:2019年12月5日*/import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.sql.Timestamp;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 javax.servlet.http.HttpSession;import net.lh.shop.bean.User;
import net.lh.shop.service.UserService;@WebServlet("/register")
public class RegisterServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置请求对象的字符编码request.setCharacterEncoding("utf-8");// 获取session对象HttpSession session = request.getSession();// 获取用户名String username = request.getParameter("username");// 获取密码String password = request.getParameter("password");// 获取电话号码String telephone = request.getParameter("telephone");// 设置注册时间(时间戳对象)Timestamp registerTime = new Timestamp(System.currentTimeMillis());// 设置用户为普通用户int popedom = 1;// 创建用户对象User user = new User();// 设置用户对象信息user.setUsername(username);user.setPassword(password);user.setTelephone(telephone);user.setRegisterTime(registerTime);user.setPopedom(popedom);// 创建UserService对象UserService userService = new UserService();// 调用UserService对象的注册方法int count = userService.addUser(user);// 判断是否注册成功if (count > 0) {// 设置session属性session.setAttribute("registerMsg", "恭喜,注册成功!");// 重定向到登录页面response.sendRedirect(request.getContextPath() + "/login.jsp");//在控制台输出测试信息System.out.println("恭喜,注册成功,跳转到登录页面!");} else {// 设置session属性session.setAttribute("registerMsg", "遗憾,注册失败!");// 重定向到注册页面response.sendRedirect(request.getContextPath() + "/frontend/register.jsp");//在控制台输出测试信息System.out.println("遗憾,注册失败,跳转到注册页面!");}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120327705.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120350198.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120407400.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120426485.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
注册失败
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120455960.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120528467.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120550413.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191209120607867.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1VuaW50ZW50aW9uYWxseQ==,size_16,color_FFFFFF,t_70)
### 显示商品类```java
package net.lh.shop.servlet;
/*** 功能:显示类别控制程序* 作者:刘浩* 日期:2019年12月9日*/import java.io.IOException;
import java.util.List;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 javax.servlet.http.HttpSession;import net.lh.shop.bean.Category;
import net.lh.shop.service.CategoryService;@WebServlet("/showCategory")
public class ShowCategoryServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 创建类别服务对象CategoryService categoryService = new CategoryService();// 获取全部商品类别List<Category> categories = categoryService.findAllCategories();// 获取session对象HttpSession session = request.getSession();// 把商品类别列表以属性的方式保存到session里session.setAttribute("categories", categories);// 重定向到显示商品类别页面(showCategory.jsp)response.sendRedirect(request.getContextPath() + "/frontend/showCategory.jsp");//服务器端控制台输出测试信息for (Category category : categories){System.out.println(category);}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}



显示商品名

package net.lh.shop.servlet;/*** 功能:显示商品列表的控制程序*     通过业务层访问后台数据,*     然后将数据返回给前台页面* 作者:刘浩* 日期:2019年12月9日*/import java.io.IOException;import java.util.List;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 javax.servlet.http.HttpSession;import net.lh.shop.bean.Product;
import net.lh.shop.service.CategoryService;
import net.lh.shop.service.ProductService;@WebServlet("/showProduct")
public class ShowProductServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 获取类别标识符int categoryId = Integer.parseInt(request.getParameter("categoryId"));// 创建商品类别服务对象CategoryService categoryService = new CategoryService();// 由类别标识符获取类别名String categoryName = categoryService.findCategoryById(categoryId).getName();// 创建商品服务对象ProductService productService = new ProductService();// 获取指定商品类别的商品列表List<Product> products = productService.findProductsByCategoryId(categoryId);// 获取session对象HttpSession session = request.getSession();// 把商品列表对象以属性的方式保存到session里session.setAttribute("products", products);// 重定向到显示商品信息页面response.sendRedirect(request.getContextPath() + "/frontend/showProduct.jsp?categoryName=" + categoryName);// 服务器端控制台输出测试信息for(int i = 0; i < products.size(); i++){System.out.println(products.get(i));}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}


显示购物车处理类(ShowCartServlet)

代码:

package net.lh.shop.servlet;/*** 功能:显示购物车控制程序* 作者:刘浩* 日期:2019年12月16日*/import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;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 javax.servlet.http.HttpSession;import net.lh.shop.bean.Product;
import net.lh.shop.service.ProductService;@WebServlet("/showCart")
public class ShowCartServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 获取商品类别标识符int categoryId = Integer.parseInt(request.getParameter("categoryId"));// 获取session对象HttpSession session = request.getSession();// 获取购物车LinkedHashMap<Integer, Integer> cart = (LinkedHashMap<Integer, Integer>) session.getAttribute("cart");// 判断购物车是否为空if (cart != null) {// 定义购物表List<HashMap<String, Object>> shoppingTable = new ArrayList<HashMap<String, Object>>();// 创建商品服务对象ProductService productService = new ProductService();// 购物总金额double totalPrice = 0.0;// 遍历购物车for (Integer id : cart.keySet()) {// 获取商品对象Product product = productService.findProductById(id);// 生成购物表记录HashMap<String, Object> shoppingItem = new HashMap<String, Object>();shoppingItem.put("id", product.getId());shoppingItem.put("name", product.getName());shoppingItem.put("price", product.getPrice());shoppingItem.put("amount", cart.get(id));shoppingItem.put("sum", product.getPrice() * cart.get(id));// 将购物表记录添加到购物表中shoppingTable.add(shoppingItem);// 累加购买总金额totalPrice = totalPrice + (Double) shoppingItem.get("sum");}// 将购物表和购买总金额保存到session里session.setAttribute("shoppingTable", shoppingTable);session.setAttribute("totalPrice", totalPrice);// 重定向到显示商品控制程序response.sendRedirect(request.getContextPath() + "/showProduct?categoryId=" + categoryId);} else {System.out.println("购物车里没有类别号为[" + categoryId + "]的商品!");}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}

开始测试
重启服务器访问 http://localhost:8080/simonshop/showCart?categoryId=1


我们去控制台查看信息

操作购物车处理类(OperateCartServlet)

package net.lh.shop.servlet;/*** 功能:操作购物车控制程序* 作者:刘浩* 日期:2019年12月16日*/import java.io.IOException;
import java.util.LinkedHashMap;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 net.lh.shop.service.ProductService;@WebServlet("/operateCart")
public class OperateCartServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 获取商品标识符int id = Integer.parseInt(request.getParameter("id"));// 获取商品操作String operation = request.getParameter("operation");// 从session里获取购物车(键:商品标识符;值:购买数量)LinkedHashMap<Integer, Integer> cart = (LinkedHashMap<Integer, Integer>) request.getSession().getAttribute("cart");// 判断购物车是否为空if (cart == null) {// 创建购物车cart = new LinkedHashMap<Integer, Integer>();// 将购物车保存到session里,便于用户在不同页面访问购物车request.getSession().setAttribute("cart", cart);}if (operation.equals("add")) {// 将商品添加到购物车if (cart.containsKey(id)) { // 该商品已购买过// 购买数量增加1cart.put(id, cart.get(id) + 1);} else { // 该商品未曾购买// 购买数量设置为1cart.put(id, 1);}} else if (operation.equals("delete")){// 将商品从购物车删除if (cart.get(id) > 1) {// 购买数量减少1cart.put(id, cart.get(id) - 1);} else {// 从购物车里删除该商品cart.remove(id);}}// 创建商品服务对象ProductService productService = new ProductService();// 获取该商品类别标识符int categoryId = productService.findProductById(id).getCategoryId();// 重定向到显示购物车控制程序response.sendRedirect(request.getContextPath() + "/showCart?categoryId=" + categoryId);}
}

生成订单处理类(MakeOrderServlet)

package net.lh.shop.servlet;/*** 功能:生成订单控制程序* 作者:刘浩* 日期:2019年12月16日*/import java.io.IOException;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;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 javax.servlet.http.HttpSession;import net.lh.shop.bean.Order;
import net.lh.shop.bean.User;
import net.lh.shop.service.OrderService;
import net.lh.shop.service.UserService;
import net.lh.shop.service.OrderService;
import net.lh.shop.service.UserService;@WebServlet("/makeOrder")
public class MakeOrderServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置请求对象的字符编码request.setCharacterEncoding("utf-8");// 获取表单提交数据String username = request.getParameter("username");String telephone = request.getParameter("telephone");Double totalPrice = Double.parseDouble(request.getParameter("totalPrice"));String deliveryAddress = request.getParameter("deliveryAddress");// 创建订单对象Order order = new Order();// 设置订单属性order.setUsername(username);order.setTotalPrice(totalPrice);order.setTelephone(telephone);order.setDeliveryAddress(deliveryAddress);order.setOrderTime(new Date());// 创建订单服务OrderService orderService = new OrderService();// 添加订单orderService.addOrder(order);// 获取最后一个订单Order lastOrder = orderService.findLastOrder();// 保存到session里request.getSession().setAttribute("lastOrder", lastOrder);// 重定向到显示订单页面response.sendRedirect(request.getContextPath() + "/frontend/showOrder.jsp");}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}

支付处理类(PayServlet)

package net.lh.shop.servlet;
/*** 功能:支付处理程序* 作者:刘浩* 日期:2019年12月16日*/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 java.io.IOException;@WebServlet("/pay")
public class PayServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置请求对象的字符编码request.setCharacterEncoding("utf-8");///// 待做部分// 设置session失效request.getSession().invalidate();// 重定向到登录页面response.sendRedirect(request.getContextPath() + "/login.jsp");}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}

显示用户处理类(ShowUserServlet)

package net.lh.shop.servlet;/*** 功能:显示用户控制程序* 作者:刘浩* 日期:2019年12月14日*/import java.io.IOException;
import java.util.List;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 javax.servlet.http.HttpSession;import net.lh.shop.bean.User;
import net.lh.shop.service.UserService;@WebServlet("/showUser")
public class ShowUserServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 创建用户服务对象UserService userService = new UserService();// 获取全部用户List<User> users = userService.findAllUsers();// 获取session对象HttpSession session = request.getSession();// 把用户列表以属性的方式保存到session里session.setAttribute("users", users);// 重定向到显示用户页面(showUser.jsp)response.sendRedirect(request.getContextPath() + "/backend/showUser.jsp");// 在控制台输出所有用户信息for (User user: users) {System.out.println(user);}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
}

重启服务器输入 http://localhost:8080/simonshop/showUser


我们到服务器控制台查看信息

Java 项目控制层测试相关推荐

  1. java springCloud控制层访问https下的html文件并以流显示到页面

    目标:java controller访问https://xxxx/xxxx.html,以流的形式直接返回该页面 1.添加信任管理器类 public class MyX509TrustManager i ...

  2. 在java项目中咋样测试接口_请问java程序的接口中的测试类该怎么写?有什么用呢?...

    可使用android自带的httpclient框架实现. 1. GET 方式传递参数 //先将参数放入List,再对参数进行URL编码 List params = new LinkedList(); ...

  3. Java项目中利用Freemarker模板引擎导出--生成Word文档

    应邀写的一篇文章:Java项目中利用Freemarker模板引擎导出--生成Word文档 资源下载:https://download.csdn.net/download/weixin_41367523 ...

  4. SSM项目各层单元测试

    2019独角兽企业重金招聘Python工程师标准>>> 数据层的测试 数据主要使用Mybatis,因此注入的时候也只需要引入Mybatis相关的配置 @RunWith(SpringJ ...

  5. Java项目结构的总体理解

    本文简单记录了一下自己对java项目各个层的理解. (清理笔记,hhh) 新版编辑器既好用又不好用,哎,第一次发布的序号都被打乱了.

  6. java系统项目分为哪五大层次?控制层_业务_一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构-转...

    表现层就是看到的东西,比如你现在看到的当前页面 控制层就将你的请求从页面传到后台代码 逻辑层就是处理你的请求的代码 DAO层就是将数据存到数据库中的代码 数据库就是数据库了,存东西用的 ,DAO层就是 ...

  7. 实现以最快速度搭建springboot后台web项目并连通数据库实现控制层与服务层与dao层的select查询...

    背景 Servlet的出现 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来.最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html ...

  8. spring boot构建基础版web项目(一)springboot、thymeleaf控制层基础构

    原文作者:弥诺R 原文地址:http://www.minuor.com/147852147/article 转载声明:转载请注明原文地址,注意版权维护,谢谢! 写前说明 根据个人在各篇博文中看到的信息 ...

  9. JDBC , 使用java来控制mysql。JavaWeb开发的分层设计-三层架:DAO层设计,连接池使用,类加载使用,配置...

    大家可以关注一下我的博客  我的博客所有随笔都是我从基础开始学习java的所有知识点 1. Jdbc概述 问题:实际开发中,不可能用工具或者命令行操作数据库,数据库表中的数据最终要使用Java程序来操 ...

最新文章

  1. Sniffer pro 找不到网卡的解决方法
  2. php 23种设计模型 - 装饰模式
  3. Markdown:数学公式(4)
  4. Erlang与java的内存架构比较
  5. Boost:bind绑定一元地址的测试程序
  6. IOS - 本地消息推送
  7. [LeetCode]最长公共前缀(Longest Common Prefix)
  8. PHP随机静态页面生成系统源码雨尘SEO系统
  9. GitHack 源码分析
  10. Pandas:金融数据下载和分析
  11. HashKey TokenGazer | 去中心化身份(DID)研究报告
  12. 支持团队开发的UML建模和CASE工具MagicDraw
  13. SecureCRT安装及破解
  14. RockWare RockWorks 17.0.0 1CD地表数据可视化软件
  15. Sniffer Pro 4.7.5注册不成功问题(unable to communicate with server)
  16. Asp.net web服务处理程序(第六篇)
  17. 请设计输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用“6.2f“格式输出。
  18. NCTF-Writeup
  19. 解决 No module named 'tensorflow_serving' 问题
  20. 天行健,君子以自强不息;地势坤,君子以厚德载物 释意

热门文章

  1. 【光纤通信】光纤光栅传感网接入GPON的matlab仿真
  2. java 日志打印sql语句_利用log4j打印sql的log日志
  3. Dolphin for Mac(Wii游戏模拟器) v5.0-13367中文免费版
  4. Android图片管理组件(双缓存+异步加载)
  5. processing-python-泡泡龙
  6. 2019款起亚K5Pro车左后轮电子驻车制动功能失效
  7. [好学、好用、好玩的Photoshop.写给初学者的入门书].李金明等.扫描版
  8. Matlab:使用纬度和经度数据创建地图
  9. 弘辽科技:美团版“朋友圈”来了:可与好友互相种草外卖
  10. 推荐一个车载软件的学习目录