javaEE13(网站第8章两个课后题)

news2025/1/16 5:59:09

1、对“jsp+servlet+javabean实现分页查询”功能做如下补充:

(1)记录批量删除:每个记录前添加复选框,点击批量删除,删除选中记录。

  1. 增加跳转到任意页功能。
  2. 用户可改变每页记录条数。             

页面:

<%@ page   pageEncoding="UTF-8" import="java.util.List,dao.StudentDao,entity.Student"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>

<html>

<head><title>模糊</title>

<script>

function qingchu(){

    document.getElementById("sno").value='';

    document.getElementById("sname").value='';

    document.getElementById("sex").value='';

}

function jump1(pageNo){

    var queryForm=document.getElementById("queryForm");

    queryForm.pageNo.value=pageNo;

    queryForm.submit();

}

function jump2(pageNo){

    var pageNo1=document.getElementById("pageNo1").value;

    if(pageNo1!=""){

    jump1(pageNo1);

    }

}

function btSelectAllOnclick(obj) {  

    var isCheck=obj.checked;

    var inputs=document.getElementsByTagName("input");  

    for(var i=0;i<inputs.length;i++){  

        if(inputs[i].type=="checkbox" && inputs[i].id!="selectAll") //刷选出所有复选框  

        {  

            inputs[i].checked=obj.checked;

            if(isCheck==true){

            inputs[i].name="check";

            }else{

            inputs[i].name="user";

            }

        }  

    }  

}

function getCheckBox()  

{  

    var inputs=document.getElementsByTagName("input");  

    var chkInputs=new Array();  

    var j=0;  

    for(var i=0;i<inputs.length;i++)  

    {  

        if(inputs[i].type=="checkbox" && inputs[i].id!="selectAll") //刷选出所有复选框  

        {  

            chkInputs[j]=inputs[i];  

            j++;  

        }  

    }  

    return chkInputs;  

}

function toChkSon(obj)  

{  

var isCheck=obj.checked;

obj.name="check";

    if(isCheck==false) //单选复选框未选中 全选为未选  

    {  

        document.getElementById("selectAll").checked=false;

        obj.name="user";

        return ;  

    }  

  

    var chkInputs=getCheckBox();

    var j=0;  

    for(var i=0;i<chkInputs.length;i++)  

    {  

        if(chkInputs[i].checked==isCheck)  

            j++;  

        else  

            break;  

    }     

    if(j==chkInputs.length) //当所有复选框为同一状态时 赋值全选同一状态  

        document.getElementById("selectAll").checked=isCheck;  

}



function submitForm(){

    document.getElementById("queryForm").submit();

}

function pagesizee(){

    var pagesize=document.getElementById("pageSize").value;

    if(pagesize!=""&&pagesize!=null){

        document.getElementById("queryForm").submit();

    }

}





</script>

<style>

th,td{

border:2px solid gray;

padding:3px;

text-align:center;

}

table,form{

border-collapse:collapse;

margin:0 auto;

text-align:center;

}

#pageSwitch{

margin:5px;

text-align:center;

}



</style>

</head>

<body>



<form method="post" action="${pageContext.request.contextPath}/student" id="queryForm">

学号<input type="text" name="sno" id="sno" value="${param.sno}">

姓名<input type="text" name="sname" id="sname" value="${param.sname}">

性别<input type="text" name="sex" id="sex" value="${param.sex}">

<input type="button"  value="清除" onclick="qingchu()"/>

<input type="hidden" name="action" value="query3"/>

<input type="hidden" name="pageNo" value="1"/>

<input type="submit" value="查询"/>

<br>

<br>

<c:if test="${requestScope.recordCount==0}">

<div style="text-align:center">无记录</div>

</c:if>

<c:if test="${requestScope.recordCount>0}">



<table id="tab">

<tr>

<th><input type="checkbox"  id="selectAll" name="selectAll" onclick="btSelectAllOnclick(this)"/></th>

<th>序号</th><th>学号</th><th>姓名</th><th>性别</th><th>修改</th><th>删除</th>

</tr>

<c:forEach items="${studentList}" var="student" varStatus="status">

<tr>

<td><input type="checkbox" onclick="toChkSon(this);" value="${student.id}" id="user" name="user"></td>

<td>${status.index+1}</td>

<td>${student.sno}</td>

<td>${student.sname}</td>

<td>${student.sex}</td>

<td><a href="${pageContext.request.contextPath}/student/edit.jsp?id=${student.id}&sno=${student.sno}&sname=${student.sname}&sex=${student.sex}">修改</a></td>

<td><a href="${pageContext.request.contextPath}/student?id=${student.id}&action=delete" onclick="return confirm('确实要删除该记录吗?')">删除</a></td>

</tr>

</c:forEach>

</table>

<input type="button"  value="删除所选" onclick="submitForm()" />

<div id="pageSwitch">

 共有记录${recordCount}条, 第${pageNo}/${pageCount}页,

<c:if test="${pageNo>1}">

 <a href="javascript:jump1('1')">首页</a>

 <a href="javascript:jump1('${pageNo-1}')">上页</a>

</c:if>

<c:if test="${pageNo==1}">
   
   首页  上页

</c:if>

<c:if test="${pageNo<pageCount}">

   <a href="javascript:jump1('${pageNo+1}')">下页</a>

   <a href="javascript:jump1('${pageCount}')">末页</a>

</c:if>

 <c:if test="${pageNo==pageCount}">

   下页   末页

</c:if>

跳转到第<input type="text" name="pageNo1" id="pageNo1" value="" onclick="jump2('${pageNo}')">

页,每页<input type="text" name="pageSize" id="pageSize" value="" onclick="pagesizee()">

条

 </div>

 </c:if>

 </form>

 <%

String pagesize=request.getParameter("pageSize");

if(pagesize!=null&&pagesize!=""){

    session.setAttribute("pageSize",pagesize);

}

%>

</body>

</html>

Servlet

private void query3(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        request.setCharacterEncoding("UTF-8");

        String users[]=request.getParameterValues("check");

        StudentDao studentDao=new StudentDao();

        HttpSession session=request.getSession();

        if(users!=null){

            for(int i=0;i<users.length;i++){//循环删除被选中的数据

                try {

                studentDao.delete(Integer.parseInt(users[i]));

            } catch (Exception e) {

                e.printStackTrace();

            }

            }

        }

       

        try {

            String condition=" where 1=1 ";

            String sno=request.getParameter("sno");

            String sname=request.getParameter("sname");

            String sex=request.getParameter("sex");

            if(notEmpty(sno)) {

                condition+=" and sno like '%"+sno+"%' ";

            }

            if(notEmpty(sname)) {

                condition+=" and sname like '%"+sname+"%' ";

            }

            if(notEmpty(sex)) {

                condition+=" and sex like '%"+sex+"%' ";

            }

            int pageNo=1;

            int pageSize=10;

            try {

                pageNo=Integer.parseInt(request.getParameter("pageNo"));

            } catch (Exception e) {

            }

           

            String pagesize=request.getParameter("pageSize");

            String pagesize1=(String) session.getAttribute("pageSize");

            if(pagesize!= null && !pagesize.equals("")) {

            pageSize=Integer.parseInt(pagesize);

            }else if(pagesize1!= null && !pagesize1.equals("")) {

            pageSize=Integer.parseInt(pagesize1);

            }

            int recordCount=studentDao.getRecordCount(condition);

            if(recordCount>0){

                 List<Student> studentList=studentDao.query(condition,"",pageNo,pageSize);                     

                   int t1=recordCount%pageSize;;

                   int t2=recordCount/pageSize;

                   int pageCount=(t1==0?t2:t2+1);

                   request.setAttribute("pageNo", pageNo);

                   request.setAttribute("pageCount", pageCount);

                   request.setAttribute("studentList", studentList);

                  

            }

            request.setAttribute("recordCount", recordCount);

        request.getRequestDispatcher("/student/query3.jsp").forward(request,response);

           

           

           

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

       

    }

Dao

public void delete(int id) throws Exception{

         Connection conn = null;

         PreparedStatement ps = null;

         try {

            conn = JdbcUtil.getConnection();

            String sql = "delete from student where id=?";

            ps = conn.prepareStatement(sql);

            ps.setInt(1,id);

            ps.executeUpdate();

        }finally {JdbcUtil.free( null,ps, conn);}

       }

2、针对课程表数据库(数据库脚本下载)实现分页查询。同时按课程名、上课时间、上课地点、任课教师四列查询。

      样例:http://47.93.11.179/test/courseServlet3

页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8" import="java.util.List,dao.courseDao,entity.course"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>

<html>

<head>

<style>

  body{

      text-align:center;

  }

  th,td{

  border:2px solid gray;

  text-align:center;

  padding:3px 10px;

  }

  table{

  border-collapse:collapse;

  margin:0 auto;

  }

 </style>

 <script>

 function jump1(pageNo){

   document.getElementById("pageNo").value=pageNo;

   document.getElementById("form11").submit();

 }

 function qc(){

      document.getElementById("kcm").value="";

      document.getElementById("sksj").value="";

      document.getElementById("skdd").value="";

      document.getElementById("rkjs1").value="";

 }

 </script>

 <style>

 .odd{

 background-color:#E0EEEE;

 }

 </style>

</head>



<body>

 <h2>课程表分页查询</h2>

 <form action="${pageContext.request.contextPath}/courseServlet3" method="post" id="form11" >

  课程名<input name="kcm" value="${param.kcm}" id="kcm">

 上课时间<input name="sksj" value="${param.sksj}" id="sksj">

 上课地点<input name="skdd" value="${param.skdd}" id="skdd">

 任课教师<input name="rkjs1" value="${param.rkjs1}" id="rkjs1">

<input type="hidden" name="pageNo" id="pageNo" value="1"/>

<input type="submit" value="查询"/>

<input type="button" value="清除" onclick="qc()"/>

</form>

<br>

<c:if test="${requestScope.recordCount==0}">

<div style="text-align:center">无记录</div>

</c:if>

<c:if test="${requestScope.recordCount>0}">

<table>

<tr>

<th>学院</th><th>课序号</th><th>课程号</th><th>课程名</th><th>任课老师</th><th>上课时间</th><th>上课周次</th><th>上课地点</th><th>班级</th><th>年级</th><th>校区</th>

</tr>

<c:forEach items="${studentList}" var="student" varStatus="status">

<tr>

<td>${status.index+1}</td>

<td>${student.kxh}</td>

<td>${student.kch}</td>

<td>${student.kcm}</td>

<td>${student.rkjs1}</td>

<td>${student.sksj}</td>

<td>${student.skzc}</td>

<td>${student.skdd}</td>

<td>${student.bj}</td>

<td>${student.rs}</td>

<td>${student.xq}</td>

</tr>

</c:forEach>

</table>



<div id="pageSwitch">

 共有记录${recordCount}条, 第${pageNo}/${pageCount}页,

<c:if test="${pageNo>1}">

 <a href="javascript:jump1('1')">首页</a>

 <a href="javascript:jump1('${pageNo-1}')">上页</a>

</c:if>

<c:if test="${pageNo==1}">

  首页  上页

</c:if>

<c:if test="${pageNo<pageCount}">

   <a href="javascript:jump1('${pageNo+1}')">下页</a>

   <a href="javascript:jump1('${pageCount}')">末页</a>

</c:if>

 <c:if test="${pageNo==pageCount}">

   下页   末页

</c:if>



 </div>

 </c:if>

 <br>

</body>

</html>

Servlet:



package servlet;

import java.io.IOException;

import java.io.PrintWriter;

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 dao.courseDao;

import entity.course;

@WebServlet("/courseServlet3")

public class CourseServlet extends HttpServlet{

  private static final long serialVersionUID = 1L;

    courseDao studentDao=new courseDao();

    public CourseServlet() {

        super();

        // TODO Auto-generated constructor stub

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

     // TODO Auto-generated method stub

     this.doPost(request, response);

  }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

     // TODO Auto-generated method stub

  response.setContentType("text/html;charset=UTF-8");

        request.setCharacterEncoding("UTF-8");

        PrintWriter out = response.getWriter();

     try {

       String condition=" where 1=1 ";

       String kcm=request.getParameter("kcm");

       String sksj=request.getParameter("sksj");

       String skdd=request.getParameter("skdd");

       String rkjs1=request.getParameter("rkjs1");

       if(notEmpty(kcm)) {

         condition+=" and kcm like '%"+kcm+"%' ";

       }

       if(notEmpty(sksj)) {

         condition+=" and sksj like '%"+sksj+"%' ";

       }

       if(notEmpty(skdd)) {

         condition+=" and skdd like '%"+skdd+"%' ";

       }

       if(notEmpty(rkjs1)) {

         condition+=" and rkjs1 like '%"+rkjs1+"%' ";

       }

       int pageNo=1;

       int pageSize=10;

       try {

       pageNo=Integer.parseInt(request.getParameter("pageNo"));

       } catch (Exception e) {

       }

          int recordCount=studentDao.getRecordCount(condition);

         

       if(recordCount>0){

             List<course> studentList=studentDao.query(condition,"",pageNo,pageSize);             

            int t1=recordCount%pageSize;

            int t2=recordCount/pageSize;

            int pageCount=(t1==0?t2:t2+1);

            request.setAttribute("pageNo", pageNo);

            request.setAttribute("pageCount", pageCount);

           request.setAttribute("studentList", studentList);

       }

       request.setAttribute("recordCount", recordCount);

     request.getRequestDispatcher("courseServlet.jsp").forward(request,response);

     } catch (Exception e) {

       // TODO Auto-generated catch block

       e.printStackTrace();

     }

  }

    private boolean notEmpty(String s) {

     return s!=null&&!"".equals(s.trim());

  }

}

Dao

package dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;



import entity.course;

import util.JdbcUtil;

public class courseDao {

  public List<course>  query(String condition) throws Exception{

     Connection conn = null;

     PreparedStatement ps = null;

     ResultSet rs = null;

     List<course> studentList=new ArrayList<course>();

     try {

       conn = JdbcUtil.getConnection();

       String sql = "select * from course "+condition;

       ps=conn.prepareStatement(sql);

       rs=ps.executeQuery();

       while(rs.next()){

          course student=new course();

          student.setId(rs.getInt(1));

          student.setXy(rs.getString(2));

          student.setKxh(rs.getString(3));

          student.setKch(rs.getString(4));

          student.setKcm(rs.getString(5));

          student.setRkjs1(rs.getString(9));

          student.setSksj(rs.getString(11));

          student.setSkzc(rs.getString(12));

          student.setSkdd(rs.getString(13));

          student.setBj(rs.getString(14));

          student.setRs(rs.getString(16));

          student.setXq(rs.getString(17));

          studentList.add(student);

       }

     }finally {JdbcUtil.free(rs, ps, conn);}

     return studentList;

     }

     public int getRecordCount(String condition) throws Exception{

        

        Connection conn = null;

        PreparedStatement pst = null;

        ResultSet rs = null;

       int recordcount=0;

       try {

            conn = JdbcUtil.getConnection();

            String sql = "select count(*) from course "+condition;

            pst = conn.prepareStatement(sql);

            rs=pst.executeQuery();

            rs.next();

            recordcount=rs.getInt(1);

           

         }finally {

            JdbcUtil.free(rs, pst, conn);

         }

         return recordcount;

        

     }

     public List<course>  query(String condition,String order,int pageNo,int pageSize) throws Exception{

       Connection conn = null;

       PreparedStatement ps = null;

       ResultSet rs = null;

       List<course> studentList=new ArrayList<course>();

       try {

         conn = JdbcUtil.getConnection();

         String sql = "select * from course "+condition+order+" limit ?,?";

         ps=conn.prepareStatement(sql);

         ps.setInt(1, (pageNo-1)*pageSize);

         ps.setInt(2, pageSize);

         rs=ps.executeQuery();

         while(rs.next()){

            course student=new course();

            student.setId(rs.getInt(1));

            student.setXy(rs.getString(2));

            student.setKxh(rs.getString(3));

            student.setKch(rs.getString(4));

            student.setKcm(rs.getString(5));

            student.setRkjs1(rs.getString(9));

            student.setSksj(rs.getString(11));

            student.setSkzc(rs.getString(12));

            student.setSkdd(rs.getString(13));

            student.setBj(rs.getString(14));

            student.setRs(rs.getString(16));

            student.setXq(rs.getString(17));

            studentList.add(student);

         }

       }finally {JdbcUtil.free(rs, ps, conn);}

       return studentList;

        }



}

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

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

相关文章

ImportError: Plotly express requires pandas to be installed.

在 Python3 环境下&#xff0c;使用 plotly 绘图时&#xff0c;发生了如下错误&#xff1a; ImportError: Plotly express requires pandas to be installed. 通过排查发现是使用了折行导入时报错的&#xff1a; import plotly.express as px 通过检索找到了解决办法&#xff0…

VScode Error Lens插件

安装完成之后&#xff0c;当我们输入一些错误的语法格式的时候&#xff0c;它都会有一些提示&#xff01; 一开始是英文提示 修改为中文提示 设置搜索 typescript.local

【gpt实践】李某的AI课程值199吗

先说个人的答案&#xff1a;不值。但也不是说毫无价值&#xff0c;只是他的价值没那么高。 文末分享该课程&#xff0c;大家有兴趣可以看看&#xff0c;该课程是否有价值。 “清华博士”推出的199元的AI课程销售额竟然突破了5000万。这一数字让人惊叹&#xff0c;也引发了人们…

免费AI软件开发工具测评:iFlyCode VS CodeFlying

前言 Hello&#xff0c;各位看官&#xff0c;今天为大家带来两款人工智能的软件开发工具的测评&#xff0c;他们分别是iFlyCode和CodeFlying&#xff0c;我相信当大家看到这两款产品名字的时候不禁都会有些好奇&#xff0c;两个产品都有Code 和Fly两个元素&#xff0c;那他们之…

Consul 配置持久化

当我们在consul的key-value中配置了几个字段 访问后的结果: 但是当我们在控制台输入命令重启consul服务后: consul agent -dev 刚刚设置的key-value值便消失不见了 此时就要进行 consul 持久化配置. 第一步:在consul文件夹下创建 1.空文件夹mydata 2.新建文件consul_star…

电脑截图的方式有哪些?

针对使用电脑截图&#xff0c;可以下个截图软件&#xff0c;到目前位置感觉用得不错的是Snipaste这一款&#xff0c;看下图所示。下载链接 Snipaste - 截图 贴图 需要根据自己的电脑配置&#xff0c;选择下载对应的版本。就不详细介绍怎么安装了。 具体操作&#xff1a;在电脑…

在linux上部署yolov5和安装miniconda3

第一步&#xff1a;安装miniconda3 官网&#xff1a;Miniconda — Anaconda documentation 这四个命令快速而安静地安装最新的64位版本的安装程序&#xff0c;然后自行清理。要为Linux安装Miniconda的不同版本或体系结构&#xff0c;请在wget命令中更改.sh安装程序的名称。 …

安卓 OpenGL ES 学习笔记

文章目录 OpenGL 学习笔记OpenGL 是什么&#xff1f;OpenGL ES是什么&#xff1f;怎么用&#xff1f;hello world如何实现动画效果 参考文章 OpenGL 学习笔记 OpenGL 是什么&#xff1f; OpenGL&#xff08;Open Graphics Library&#xff09;是一个跨平台的图形编程接口&…

MySQL8 设置大小写敏感

问题描述 今天对我本地的数据库迁移服务器上&#xff0c;完成之后启动项目报错 说数据库中不存在 quartz_LOCKS 这张表 我打开服务器上面的数据上面展示的表名是 quartz_LOCKS&#xff0c;然后通过查询 lower_case_table_names 配置可知 show variables like lower_case_tabl…

图片格式转换怎么操作?这一个方法快快收藏

图片格式转换能够改变图片的质量、大小兼容性。不同的图片格式用途也不同&#xff0c;当我们需要转换图片格式的时候要怎么操作呢&#xff1f;下面&#xff0c;小编给大家分享一款操作简单&#xff0c;小白也能轻松上手的图片转换器&#xff08;https://www.yasuotu.com/geshi&…

[ThinkPHP]Arr返回1

$detailId (int)Arr::get($detail, null); var_dump($detailId); 打印结果&#xff1a;int(1) 原因&#xff1a; vendor/topthink/think-helper/src/helper/Arr.php

Spring启动“--”设置参数没生效

现象 在idea中启动SpringBoot项目时&#xff0c;使用“--”设置的启动参数没有生效&#xff0c;如修改端口号“--server.port8082” 原因 排查发现是因为在使用SpringApplication.run启动项目时&#xff0c;没有将args参数传入run方法。 修复方案 SpringApplication.run参数中…

【漏洞复现】宏景HCM downlawbase SQL注入漏洞

0x01 产品简介 宏景人力资源管理软件是一款人力资源管理与数字化应用相融合&#xff0c;满足动态化、协同化、流程化、战略化需求的软件。 0x02 漏洞概述 宏景HCM downlawbase 接口处存在SQL注入漏洞&#xff0c;未经过身份认证的远程攻击者可利用此漏洞执行任意SQL指令&…

综合实验---Web环境搭建

题目&#xff1a; 服务器IP地址规划&#xff1a;client&#xff1a;12.0.0.12/24&#xff0c;网关服务器&#xff1a;ens36:12.0.0.1/24、ens33&#xff1a;192.168.10.1/24&#xff0c;Web1&#xff1a;192.168.10.10/24&#xff0c;Web2&#xff1a;192.168.10.20/24&#xf…

53、WEB攻防——通用漏洞CRLF注入URL重定向资源处理拒绝服务

文章目录 CRLF注入原理&检测&利用URL重定向web拒绝服务 CRLF注入原理&检测&利用 URL重定向 就是url中存在urlhttps://xxx&#xff0c;重定向的页面没有限制。主要用来做钓鱼。 web拒绝服务 例如&#xff0c;图片的长宽参数由前端传入&#xff0c;恶意的数据…

vmware虚拟机命令安装Vmware tools

安装Vmware tools sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools-desktop

记OnlyOffice的两个大坑

开发版&#xff0c;容器部署&#xff0c;试用许可已安装。 word&#xff0c;ppt&#xff0c;excel均能正常浏览。 自带的下载菜单按钮能用。 但config里自定义的downloadAs方法却不一而足。 word能正常下载&#xff0c;excel和ppt都不行。 仔细比对调试了代码。发现app.js…

VsCode远程免密登录

创建本地密匙 按下WinR输入cmd&#xff0c;输入 ssh-keygen -t rsa然后连续回车直到结束 找到Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub&#xff0c;每个人都不一样找到密匙所在地 打开id_rsa.pub这个文件&#xff0c;可以用记事本打开&am…

苹果放弃造车计划 或更加专注AI

近日&#xff0c;据有关消息称苹果公司决定放弃投入数十亿美元的造车项目&#xff0c;2000多名员工将逐步转到人工智能项目。特斯拉CEO马斯克、小米创始人雷军、理想汽车CEO李想、小鹏汽车CEO何小鹏等纷纷在社交平台发言感慨。 从2008年开始&#xff0c;苹果就有了造车野心&…

剪映能导入mxf格式吗?mxf格式怎么转换为mp4?

剪映支持导入MXF格式的视频文件。在导入MXF格式的视频时&#xff0c;如果遇到无法导入的情况&#xff0c;可能是由于封装的视频或音频不符合剪映支持的编码模式。这时&#xff0c;你可以使用音视频转换器&#xff0c;如野葱视频转换器、在线网站convertio、开源工具FFmpeg&…