jsp小练习01--jdbc小练习01

news2025/3/12 1:20:08

目录

jsp小练习01

jdbc小练习01 

 设计数据库

以下是一个基本的登录页面(login.jsp):

以下是checklogin.jsp页面的示例代码:

以下是main.jsp页面的示例代码:

以下是add.jsp页面的示例代码:

以下是doadd.jsp页面的示例代码:

以下是edit.jsp页面的示例代码:

以下是doedit.jsp页面的示例代码,用于实现更新名片信息的功能。

以下是search.jsp的示例代码:

以下是delete.jsp的示例代码:

以下是recycle.jsp的示例代码:

以下是recover.jsp的示例代码:


jsp小练习01

用jsp设计:.应用Date函数读取系统当前时间,根据不同的时间段,在浏览器输出不同的问候语,例如上午0~12点之间输出“早上好”,同时把系统的年、月、日、小时、分、秒和星期输出到用户的浏览器。

<%@ page language="java" %>
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>

<html>
<head>
  <title>问候语</title>
</head>
<body>
  <%
    // 获取当前的时间
    Date now = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
    String currentTime = dateFormat.format(now);
    // 获取当前的小时数
    Calendar c = Calendar.getInstance();
    int hour = c.get(Calendar.HOUR_OF_DAY);
    // 根据不同时间段输出不同的问候语
    String greeting;
    if (hour >=0 && hour < 12) {
        greeting = "早上好";
    } else if (hour >= 12 && hour < 18) {
        greeting = "下午好";
    } else {
        greeting = "晚上好";
    }
    // 输出问候语和时间
    out.println("<p>" + greeting + "</p>");
    out.println("<p>现在是:" + currentTime + "</p>");
  
  %>
</body>
</html>

jdbc小练习01 

利用JDBC设计:

1.设计一个简单的网上名片管理系统,实现名片的增、删、改、查等操作。该名片管理系统包括如下功能:

1)用户登录与注册

用户登录:在登录时,如果用户名和密码正确,进入系统页面。

用户注册:新用户应该先注册,然后再登录该系统。

2)名片管理

增加名片:以仿真形式(按常用的名片格式)增加名片信息。

修改名片:以仿真形式(按常用的名片格式)修改名片信息。

查询名片:以模糊查询方式查询名片。

删除名片:名片的删除由2种方式,即把名片移到回收站,把名片彻底删除。

3)回收站管理

还原:把回收站中的名片还原回收。

彻底删除:把名片彻底从回收站删除。

浏览/查询:可以模糊查询、浏览回收站中的名片。

 设计数据库

首先,需要设计数据库表来存储名片信息和用户信息。以下是名片信息表和用户信息表的设计:

名片信息表cards:

 用户信息表users:

接着,需要编写JSP页面来实现登录、注册、名片管理和回收站管理功能。

以下是一个基本的登录页面(login.jsp):

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>登录 - 网上名片管理系统</title>
</head>
<body>
  <h1>网上名片管理系统 - 登录</h1>
  <form method="post" action="checklogin.jsp">
    <table>
      <tr>
        <td>用户名:</td>
        <td><input type="text" name="username"></td>
      </tr>
      <tr>
        <td>密码:</td>
        <td><input type="password" name="password"></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" value="登录"></td>
      </tr>
    </table>
  </form>
</body>
</html>

在该页面中,用户输入用户名和密码后提交表单,将会跳转到checklogin.jsp页面进行校验

以下是checklogin.jsp页面的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>登录结果 - 网上名片管理系统</title>
</head>
<body>
  <%
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    
    // 连接数据库进行验证
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    String sql = "SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'";
    ResultSet rs = stmt.executeQuery(sql);
    if (rs.next()) {
      // 登录成功
      session.setAttribute("userid", rs.getInt("id"));
      response.sendRedirect("main.jsp"); // 跳转到主页面
    } else {
      // 登录失败
      out.println("<h2>用户名或密码错误,请重新登录!</h2>");
      out.println("<a href='login.jsp'>返回登录页面</a>");
    }
    rs.close();
    stmt.close();
    conn.close();
  %>
</body>
</html>

在该页面中,首先获取从login.jsp传递过来的用户名和密码。然后,连接数据库进行验证。如果用户名和密码正确,则将用户ID存储在session中,并跳转到main.jsp页面否则,返回登录页面。

以下是main.jsp页面的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>网上名片管理系统</title>
</head>
<body>
  <%
    int userid = (int) session.getAttribute("userid");
    
    // 连接数据库,获取用户信息和名片信息
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    
    // 获取用户信息
    String sql = "SELECT * FROM users WHERE id='" + userid + "'";
    ResultSet rs = stmt.executeQuery(sql);
    if (rs.next()) {
      String username = rs.getString("username");
      out.println("<h1>网上名片管理系统 - " + username + "</h1>");
    }
    rs.close();
    
    // 显示已有名片信息
    sql = "SELECT * FROM cards WHERE userid='" + userid + "'";
    rs = stmt.executeQuery(sql);
    while (rs.next()) {
      int id = rs.getInt("id");
      String name = rs.getString("name");
      String company = rs.getString("company");
      String phone = rs.getString("phone");
      String mobile = rs.getString("mobile");
      String fax = rs.getString("fax");
      String email = rs.getString("email");
      String address = rs.getString("address");
      out.println("<h2>名片" + id + "</h2>");
      out.println("<table>");
      out.println("<tr><td>姓名:</td><td>" + name + "</td></tr>");
      out.println("<tr><td>公司:</td><td>" + company + "</td></tr>");
      out.println("<tr><td>电话:</td><td>" + phone + "</td></tr>");
      out.println("<tr><td>手机:</td><td>" + mobile + "</td></tr>");
      out.println("<tr><td>传真:</td><td>" + fax + "</td></tr>");
      out.println("<tr><td>邮箱:</td><td>" + email + "</td></tr>");
      out.println("<tr><td>地址:</td><td>" + address + "</td></tr>");
      out.println("</table>");
      out.println("<a href='edit.jsp?id=" + id + "'>编辑</a> ");
      out.println("<a href='delete.jsp?id=" + id + "'>删除</a><hr>");
    }
    rs.close();
    
    // 关闭数据库连接
    stmt.close();
    conn.close();
  %>
  <a href='add.jsp'>新增名片</a> 
  <a href='recycle.jsp'>回收站</a>
  <a href='logout.jsp'>退出登录</a>
</body>
</html>

在该页面中,首先根据session中保存的用户ID查询用户信息,然后显示已有的名片信息。

同时,在该页面中提供了三个链接,用于新增名片、回收站和退出登录。

以下是add.jsp页面的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>新增名片 - 网上名片管理系统</title>
</head>
<body>
  <h1>网上名片管理系统 - 新增名片</h1>
  <form method="post" action="doadd.jsp">
    <table>
      <tr>
        <td>姓名:</td>
        <td><input type="text" name="name"></td>
      </tr>
      <tr>
        <td>公司:</td>
        <td><input type="text" name="company"></td>
      </tr>
      <tr>
        <td>电话:</td>
        <td><input type="text" name="phone"></td>
      </tr>
      <tr>
        <td>手机:</td>
        <td><input type="text" name="mobile"></td>
      </tr>
      <tr>
        <td>传真:</td>
        <td><input type="text" name="fax"></td>
      </tr>
      <tr>
        <td>电子邮件:</td>
        <td><input type="text" name="email"></td>
      </tr>
      <tr>
        <td>地址:</td>
        <td><input type="text" name="address"></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" value="保存"></td>
      </tr>
    </table>
  </form>
</body>
</html>

该页面用于输入新增名片的信息。表单提交后将会跳转到doadd.jsp页面进行数据库操作

以下是doadd.jsp页面的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>新增名片结果 - 网上名片管理系统</title>
</head>
<body>
  <%
    int userid = (int) session.getAttribute("userid");
    String name = request.getParameter("name");
    String company = request.getParameter("company");
    String phone = request.getParameter("phone");
    String mobile = request.getParameter("mobile");
    String fax = request.getParameter("fax");
    String email = request.getParameter("email");
    String address = request.getParameter("address");
    
    // 连接数据库,执行插入操作
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    String sql = "INSERT INTO cards (name, company, phone, mobile, fax, email, address, userid) VALUES ('" + name + "', '" + company + "', '" + phone + "', '" + mobile + "', '" + fax + "', '" + email + "', '" + address + "', '" + userid + "')";
    stmt.executeUpdate(sql);
    stmt.close();
    conn.close();
    
    // 返回主页面
    response.sendRedirect("main.jsp");
  %>
</body>
</html>

在该页面中,首先获取表单提交过来的新增名片信息,然后连接数据库执行插入操作。插入成功后,将会跳转到主页面。

以下是edit.jsp页面的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>编辑名片 - 网上名片管理系统</title>
</head>
<body>
  <h1>网上名片管理系统 - 编辑名片</h1>
  <%
    int id = Integer.parseInt(request.getParameter("id"));
    int userid = (int) session.getAttribute("userid");
    
    // 连接数据库,获取名片信息
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    String sql = "SELECT * FROM cards WHERE id='" + id + "' AND userid='" + userid + "'";
    ResultSet rs = stmt.executeQuery(sql);
    if (rs.next()) {
      String name = rs.getString("name");
      String company = rs.getString("company");
      String phone = rs.getString("phone");
      String mobile = rs.getString("mobile");
      String fax = rs.getString("fax");
      String email = rs.getString("email");
      String address = rs.getString("address");
      out.println("<form method='post' action='doedit.jsp'>");
      out.println("<input type='hidden' name='id' value='" + id + "'>");
      out.println("<table>");
      out.println("<tr><td>姓名:</td><td><input type='text' name='name' value='" + name + "'></td></tr>");
      out.println("<tr><td>公司:</td><td><input type='text' name='company' value='" + company + "'></td></tr>");
      out.println("<tr><td>电话:</td><td><input type='text' name='phone' value='" + phone + "'></td></tr>");
      out.println("<tr><td>手机:</td><td><input type='text' name='mobile' value='" + mobile + "'></td></tr>");
      out.println("<tr><td>传真:</td><td><input type='text' name='fax' value='" + fax + "'></td></tr>");
      out.println("<tr><td>电子邮件:</td><td><input type='text' name='email' value='" + email + "'></td></tr>");
      out.println("<tr><td>地址:</td><td><input type='text' name='address' value='" + address + "'></td></tr>");
      out.println("<tr><td colspan='2'><input type='submit' value='保存'></td></tr>");
      out.println("</table>");
      out.println("</form>");
    } else {
      out.println("<h2>无权访问此名片!</h2>");
    }
    rs.close();
    stmt.close();
    conn.close();
  %>
</body>
</html>

在该页面中,首先获取从main.jsp传递过来的名片ID和用户ID,并连接数据库查询名片信息。如果查询到符合条件的名片,则将名片信息显示到表单中,并在form标签中添加隐藏的id字段。表单提交后将会跳转到doedit.jsp页面进行数据库操作。如果无权访问此名片,则输出无权访问的提示信息。

以下是doedit.jsp页面的示例代码用于实现更新名片信息的功能。

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>编辑名片 - 网上名片管理系统</title>
</head>
<body>
  <h1>网上名片管理系统 - 编辑名片</h1>
  <%
    int id = Integer.parseInt(request.getParameter("id"));
    int userid = (int) session.getAttribute("userid");
    String name = request.getParameter("name");
    String company = request.getParameter("company");
    String phone = request.getParameter("phone");
    String mobile = request.getParameter("mobile");
    String fax = request.getParameter("fax");
    String email = request.getParameter("email");
    String address = request.getParameter("address");

    // 连接数据库,更新名片信息
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    String sql = "UPDATE cards SET name='" + name + "', company='" + company + "', phone='" + phone +
        "', mobile='" + mobile + "', fax='" + fax + "', email='" + email + "', address='" + address +
        "' WHERE id='" + id + "' AND userid='" + userid + "'";
    int rows = stmt.executeUpdate(sql);
    if (rows == 1) {
      out.println("<h2>名片更新成功!</h2>");
    } else {
      out.println("<h2>名片更新失败!</h2>");
    }
    stmt.close();
    conn.close();
  %>
</body>
</html>

在该页面中,首先获取从编辑名片页面传递过来的名片ID和用户ID,以及提交的新的名片信息然后连接数据库,执行UPDATE语句更新名片信息。如果更新成功,则输出更新成功的提示信息,否则输出更新失败的提示信息。最后关闭数据库连接。


以下是doedit.jsp页面的完整示例代码,包括表单校验和重定向到main.jsp页面的功能。

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>编辑名片 - 网上名片管理系统</title>
  <script type="text/javascript">
    function checkForm() {
      var name = document.forms[0].name.value;
      if (name == "") {
        alert("姓名不能为空!");
        return false;
      }
      var company = document.forms[0].company.value;
      if (company == "") {
        alert("公司不能为空!");
        return false;
      }
      var phone = document.forms[0].phone.value;
      var mobile = document.forms[0].mobile.value;
      if (phone == "" && mobile == "") {
        alert("电话和手机至少填写一项!");
        return false;
      }
    }
  </script>
</head>
<body>
  <h1>网上名片管理系统 - 编辑名片</h1>
  <%
    int id = Integer.parseInt(request.getParameter("id"));
    int userid = (int) session.getAttribute("userid");
    String name = request.getParameter("name");
    String company = request.getParameter("company");
    String phone = request.getParameter("phone");
    String mobile = request.getParameter("mobile");
    String fax = request.getParameter("fax");
    String email = request.getParameter("email");
    String address = request.getParameter("address");

    // 表单校验
    if (name == null || company == null || phone == null || mobile == null ||
        name.equals("") || company.equals("") || (phone.equals("") && mobile.equals(""))) {
      response.sendRedirect("edit.jsp?id=" + id);
      return;
    }

    // 连接数据库,更新名片信息
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    String sql = "UPDATE cards SET name='" + name + "', company='" + company + "', phone='" + phone +
        "', mobile='" + mobile + "', fax='" + fax + "', email='" + email + "', address='" + address +
        "' WHERE id='" + id + "' AND userid='" + userid + "'";
    int rows = stmt.executeUpdate(sql);
    if (rows == 1) {
      response.sendRedirect("main.jsp");
    } else {
      out.println("<h2>名片更新失败!</h2>");
    }
    stmt.close();
    conn.close();
  %>
</body>
</html>

以下是查询名片、删除名片和回收站管理的示例代码。其中,模糊查询使用LIKE子句实现,删除名片分为将名片移动到回收站和彻底删除两种,回收站管理包括还原和彻底删除。

查询名片的功能可以在main.jsp页面上添加一个查询表单,用户输入关键字后提交,调用search.jsp页面进行查询。

以下是search.jsp的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>查询名片 - 网上名片管理系统</title>
  <style type="text/css">
    table, td {
      border: 1px solid black;
      padding: 5px;
    }
  </style>
</head>
<body>
  <h1>网上名片管理系统 - 查询名片</h1>
  <%
    String keyword = request.getParameter("keyword");
    if (keyword == null) {
      keyword = "";
    }

    // 连接数据库,查询名片信息
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    String sql = "SELECT * FROM cards WHERE name LIKE '%" + keyword + "%' OR company LIKE '%" + keyword + "%' ORDER BY id DESC";
    ResultSet rs = stmt.executeQuery(sql);

    // 输出查询结果
    if (!rs.next()) {
      out.println("<p>没有符合条件的名片!</p>");
    } else {
      out.println("<table>");
      out.println("<tr><th>ID</th><th>姓名</th><th>公司</th><th>电话</th><th>手机</th><th>操作</th></tr>");
      do {
        int id = rs.getInt("id");
        String name = rs.getString("name");
        String company = rs.getString("company");
        String phone = rs.getString("phone");
        String mobile = rs.getString("mobile");
        out.println("<tr><td>" + id + "</td><td>" + name + "</td><td>" + company + "</td><td>" + phone +
            "</td><td>" + mobile + "</td><td><a href='edit.jsp?id=" + id + "'>编辑</a>&nbsp;<a href='delete.jsp?id=" +
            id + "'>删除</a></td></tr>");
      } while (rs.next());
      out.println("</table>");
    }

    rs.close();
    stmt.close();
    conn.close();
  %>
</body>
</html>

在该页面中,根据用户输入的关键字(模糊查询),构造SELECT语句查询名片信息,并输出查询结果。如果没有符合条件的名片,则输出相应提示信息。

删除名片的功能可以通过在主页面中添加“删除”链接实现。点击该链接后,调用delete.jsp进行名片删除,根据用户选择的方式将名片移动到回收站或彻底删除。

以下是delete.jsp的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>删除名片 - 网上名片管理系统</title>
</head>
<body>
  <h1>网上名片管理系统 - 删除名片</h1>
  <%
    int id = Integer.parseInt(request.getParameter("id"));
    String action = request.getParameter("action");
    if (action == null) {
      action = "";
    }

    // 连接数据库,删除名片信息
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    int rows = 0;
    if (action.equals("discard")) {
      // 将名片移动到回收站
      rows = stmt.executeUpdate("UPDATE cards SET discard=1 WHERE id='" + id + "'");
    } else {
      // 彻底删除名片
      rows = stmt.executeUpdate("DELETE FROM cards WHERE id='" + id + "'");
    }
    if (rows == 1) {
      response.sendRedirect("main.jsp");
    } else {
      out.println("<h2>名片删除失败!</h2>");
    }

    stmt.close();
    conn.close();
  %>
</body>
</html>

在该页面中,根据用户选择的操作(移动到回收站或彻底删除),构造UPDATE或DELETE语句删除名片信息,并在成功删除后重定向到主页面main.jsp。

回收站管理的功能可以添加一个链接或按钮在主页面中,点击后进入recycle.jsp页面进行回收站管理。

以下是recycle.jsp的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>回收站管理 - 网上名片管理系统</title>
  <style type="text/css">
    table, td {
      border: 1px solid black;
      padding: 5px;
    }
  </style>
</head>
<body>
  <h1>网上名片管理系统 - 回收站管理</h1>
  <%
    String keyword = request.getParameter("keyword");
    if (keyword == null) {
      keyword = "";
    }

    // 连接数据库,查询回收站中的名片信息
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    String sql = "SELECT * FROM cards WHERE discard=1 AND name LIKE '%" + keyword +
        "%' OR company LIKE '%" + keyword + "%' ORDER BY id DESC";
    ResultSet rs = stmt.executeQuery(sql);

    // 输出查询结果
    if (!rs.next()) {
      out.println("<p>回收站中没有名片!</p>");
    } else {
      out.println("<table>");
      out.println("<tr><th>ID</th><th>姓名</th><th>公司</th><th>电话</th><th>手机</th><th>操作</th></tr>");
      do {
        int id = rs.getInt("id");
        String name = rs.getString("name");
        String company = rs.getString("company");
        String phone = rs.getString("phone");
        String mobile = rs.getString("mobile");
        out.println("<tr><td>" + id + "</td><td>" + name + "</td><td>" + company + "</td><td>" + phone +
            "</td><td>" + mobile + "</td><td><a href='recover.jsp?id=" + id + "'>还原</a>&nbsp;<a href='delete.jsp?id=" +
            id + "&action=delete'>彻底删除</a></td></tr>");
      } while (rs.next());
      out.println("</table>");
    }

    rs.close();
    stmt.close();
    conn.close();
  %>
</body>
</html>

在该页面中,根据用户输入的关键字(模糊查询),构造SELECT语句查询回收站中的名片信息,并输出查询结果。其中,每条查询结果均包含一个“还原”链接和一个“彻底删除”链接,分别调用recover.jsp和delete.jsp进行还原和彻底删除操作。

还原名片的功能可以在recover.jsp页面中实现,调用UPDATE语句将名片从回收站中还原。

以下是recover.jsp的示例代码:

<%@ page language="java" %>
<%@ page import="java.sql.*" %>

<html>
<head>
  <title>还原名片 - 网上名片管理系统</title>
</head>
<body>
  <h1>网上名片管理系统 - 还原名片</h1>
  <%
    int id = Integer.parseInt(request.getParameter("id"));

    // 连接数据库,还原名片
    String url = "jdbc:mysql://localhost:3306/cards?useSSL=false";
    String user = "root";
    String pass = "password";
    Connection conn = DriverManager.getConnection(url, user, pass);
    Statement stmt = conn.createStatement();
    int rows = stmt.executeUpdate("UPDATE cards SET discard=0 WHERE id='" + id + "'");
    if (rows == 1) {
      response.sendRedirect("recycle.jsp");
    } else {
      out.println("<h2>名片还原失败!</h2>");
    }

    stmt.close();
    conn.close();
  %>
</body>
</html>

在该页面中,根据用户选择的操作,构造UPDATE语句将名片从回收站中还原,并在成功还原后重定向到回收站管理页面recycle.jsp。

彻底删除名片的功能在delete.jsp页面中已经实现,当用户选择彻底删除时,将直接调用DELETE语句删除名片信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/433320.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——第三章 AI应用开发

第1节 课程概述 第1单元 本课程是否适合您 1.没有深度学习的背景 边学习边补充基础 2.少量深度学习背景&#xff0c;但并不了解华为昇腾 对于昇腾的学习是贯穿全程的 3.听说过或接触过华为昇腾&#xff0c;但不知道如何基于昇腾使能AI应用。 保持学习&#xff0c;按时交作业…

Letcode 两数之和

1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以…

Wi-Fi 6(802.11ax)解析12:下行OFDMA接入机制(DL-OFDMA)

序言 在介绍完802.11ax的信道接入以及其触发帧机制后&#xff0c;本文着重介绍下行OFDMA的接入机制&#xff08;即DL-OFDMA&#xff09; 下行OFDMA接入机制&#xff08;DL-OFDMA&#xff09; OFDMA是一种多用户通信机制&#xff0c;其只适用于802.11ax AP和802.11ax用户之间…

ChatGPT 学习 ES lucene 底层写入原理,源码

一直有个疑问“学习最新版lucene 数据写入相关的源码&#xff0c;应该看哪些源码&#xff0c;以什么顺序看&#xff08;先看什么&#xff0c;后看什么&#xff09;&#xff1f;” 对于Lucene的数据写入过程&#xff0c;可以分为以下几个阶段 在学习Lucene的数据写入相关的源码…

FTP服务

一、FTP的简介 FTP是FileTransferProtocol&#xff08;文件传输协议&#xff09;的英文简称&#xff0c;而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时&#xff0c;它也是一个应用程序&#xff08;Application&#xff09;。基于不同的操作系统有不同的…

C++笔记——第十四篇 哈希

目录 一、unordered系列关联式容器 1.1 unordered_map 1.1.1 unordered_map的文档介绍 1.1.2 unordered_map的接口说明 二、 底层结构 2.1 哈希概念 2.2 哈希冲突 2.3 哈希函数 2.4 哈希冲突解决 2.4.1 闭散列 1. 线性探测 2. 二次探测 2.4.2 开散列 三、 哈希的应用 …

200万奖金广聚天下算法英雄,第二届广州·琶洲算法大赛要来了!

随着深度学习不断驱动技术创新&#xff0c;人工智能加速与实体经济深度融合发展。作为中国首个自主研发、开源开放的产业级深度学习平台&#xff0c;飞桨与百度自研的产业级知识增强文心大模型&#xff0c;共同构筑了产业智能化基座&#xff0c;并联合产学研用各方生态力量&…

学习风`宇博客用户权限菜单模块

文章目录 用户-角色-菜单-资源 各表关系图菜单 和 路由菜单表及分析分析 /api/admin/user/menus接口MenuServiceImpl#listUserMenus接口返回示例及分析 前端代码分析menu.jsSideBar.vue 接口权限控制资源表 及 分析分析 WebSecurityConfig权限控制整体流程先说登录UserDetailsS…

ChatGPT 有什么新奇的使用方式?

你别说&#xff0c;你还真别说&#xff0c;我对象一般用它谈恋爱&#xff01;&#xff01;&#xff01; 我对象在谈一种很新的恋爱&#xff0c;不建议模仿&#xff0c;因为根本停不下来&#xff01; 事情是这样的&#xff0c;我最近开始对ChatGPT感兴趣&#xff0c;但我这个技…

AppArmor零知识学习十四、实操与实践(2)

本文内容参考&#xff1a; Linux安全模块AppArmor总结-CSDN博客&#xff0c; apparmor首页、文档和下载 - 应用程序访问控制系统 - OSCHINA - 中文开源技术交流社区&#xff0c; AppArmor GitBook&#xff0c; AppArmor配置&#xff08;二&#xff09;_domybest_nsg的博客…

CESM 地球系统模式

详情点击链接&#xff1a;地球系统模式&#xff08;CESM&#xff09; CESM 运行的系统和软件环境 1.CESM需要什么运行环境 2.CESM2.0运行环境的搭建CESM 运行需要掌握的Linux及编译 1.Linux 2.Linux编译 3.基于Make 和CMake的编译体系CESM 的基本结构 1.CESM的几大功能模块 2…

德赛西威上海车展重磅发布Smart Solution 2.0,有哪些革新点?

4月18日&#xff0c;全球瞩目的第二十届上海车展盛大启幕&#xff0c;作为国际领先的移动出行科技公司&#xff0c;德赛西威携智慧出行黑科技产品矩阵亮相&#xff0c;并以“智出行 共创享”为主题&#xff0c;重磅发布最新迭代的智慧出行解决方案——Smart Solution 2.0。 从…

“量子+金融”!摩根大通和QC Ware拓展量子深度对冲

​ &#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;QC Ware和摩根大通完成了一项关于量子“深度对冲”的研究&#xff0c;为提高未来的金融服务风险应对能力铺平了道路。 利用市场摩擦和交易约束的数据驱动模型&#xff0c;可以降低投资组合的风险。相关论…

Flink学习——基本概述

目录 一、Flink概述 二、单机版安装配置 1.开启hadoop 2.解压Flink压缩包 3.修改文件名 4.开启客户端 5.访问webUI 三、集群配置 1.jobmanager配置 2.master配置 3.workers配置 4.分发配置 5.开启Flink集群 6.访问webUI 7.查看Job Manager 8.查看Task Managers…

不同批次板子采集到的传感器压力值不同

问题描述&#xff1a; M340B空压机主控板在接正常压力气源时&#xff0c;显示屏显示压力值过高并报警。 问题排查&#xff1a; 确认可能的故障点&#xff1a;压力传感器、硬件电路&#xff08;供电电路、分压电路、ADC采样电路等&#xff09;、单片机、软件&#xff1b; 排…

MySQL-----表的约束

文章目录 前言一、空属性二、默认值三、列描述四、zerofil五、主键六、自增长七、唯一键八、外键总结 前言 真正约束字段是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性, 从业务逻辑角度保证数据的正确性.比如有一个字段是email,要求是唯一的…

十八、市场活动备注:修改

功能需求 用户在市场活动明细页面,点击"修改"市场活动备注的图标,弹出修改市场活动备注的模态窗口; 用户在修改市场活动备注的模态窗口,填写表单,点击"更新"按钮,完成修改市场活动备注的功能. *备注内容不能为空 *修改成功之后,关闭模态窗口,刷新备注列表…

VC++ | 编译、运行Debug版本报错-20230419-01

VC++ | 编译、运行Debug版本报错-20230419-01 1.LOG如下 1>------ 已启动生成: 项目: CamManager, 配置: Debug Win32 ------ 1>stdafx.cpp 1>UnicodeLib.cpp 1>MultiLanguage.cpp 1>d:\01_project\02_grain\pdv-tools

DSAI130D 3BSE003127R1在机器视觉系统中主要负责光束调制

DSAI130D 3BSE003127R1在机器视觉系统中主要负责光束调制 如今&#xff0c;随着工业4.0的到来&#xff0c;机器视觉技术在工业自动化中逐渐起着十分重要的地位&#xff0c;机器视觉技术的不断创新&#xff0c;推动了工业自动化、智慧安防以及人工智能等行业的进步&#xff0c;…

Maven打包跳过测试的5种方式

Maven打包跳过测试的5种方式 1、命令行方式跳过测试 我们可以通过使用命令将项目打包&#xff0c;添加跳过测试的命令就可以了&#xff0c;可以用两种命令来跳过测试&#xff1a; -DskipTeststrue mvn package -DskipTeststrue-DskipTeststrue&#xff0c;不执行测试用例&a…