BCSP-玄子Java开发之Java Web编程CH01_初识动态网页

news2024/11/24 4:58:51

BCSP-玄子Java开发之Java Web编程CH01_初识动态网页

1.1 B/S架构

B/S架构:浏览器/服务器

  • 程序完全部署在服务器上
  • 使用浏览器访问服务器
  • 无需单独安装客户端软件

为什么要使用B/S架构

B/S与C/S比较B/S架构C/S架构
软件安装浏览器需要专门的客户端应用
升级维护客户端零维护客户端需要单独维护和升级
平台相关与操作系统平台的关系最小化对客户端操作系统一般有限制
性能安全在响应速度和安全性上需要花费更多设计成本能充分发挥客户端处理能力,响应速度快

B/S架构工作原理

B/S架构采用请求/响应模式进行交互

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SNkgh7aE-1687705182909)(./assets/image-20230601113226595.png)]

URL

Uniform Resource Locator:统一资源定位符,用于完整地描述互联网资源的地址

URL组成

http://localhost:8080/news/index.html
  • http:协议部分
  • localhost:8080:主机IP地址:端口号
  • news/index.html:项目资源地址

HTTP协议

基于TCP协议之上的请求-响应协议

请求方式:

  1. GET
/test/index.jsp?name1=value1&name2=value2
  1. POST
POST /test/index.jsp HTTP/1.1
Host: bdqn.cn
name1=value1&name2=value2
对比项GETPOST
对数据长度的限制传送数据量较小传送数据量无限制
数据可见性传输数据在URL可见传输数据在URL不可见
安全性安全性低安全性高
缓存能被缓存不能被缓存

HTTP状态码

浏览器向服务器发出请求后,服务器会返回响应信息,服务器使用请求状态码和请求消息表示响应状态

常见状态码

状态码消息描述
200OK请求成功
302Found所请求的页面已经转移至新的url
400Bad Request服务器未能理解请求
404Not Found服务器无法找到被请求的页面
500Internet Server Error服务器错误

动态网页

动态网页是根据不同的输入或操作,返回不同的网页内容

动态网页的优势

  • 交互性:网页会根据用户的要求动态改变和显示内容
  • 自动更新:无须改变页面代码,便会自动生成新的页面内容
  • 随机性:不同的时间、不同的人访问同一网址时会产生不同的页面效果

创建动态网页

实现动态网页需要使用服务器脚本语言

  • ASP(Active Server Pages)
  • PHP(Hypertext Preprocessor)
  • JSP(Java Server Pages)JSP代码

JSP代码

JSP脚本语言开发的动态网页,需要在Web服务器中运行

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Welcome</title>
    </head>
    <body>
        <%
            String sayHi = "Hello! JSP!";
            out.print(sayHi);
        %>
    </body>
</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uHQuA0EV-1687705182911)(./assets/image-20230601113853160.png)]

Web服务器

一种服务程序, 也称为Web容器,用于运行特定应用程序,可以操作HTTP请求,包括接受请求及进行响应

常见的Web服务器

  • Tomcat
  • Nginx
  • Apache
  • IIS
  • WebLogic

Tomcat

Tomcat 9 安装配置教程

下载链接

官网 https://tomcat.apache.org/

下载步骤

进入 Tomcat 官网,点击左侧导航栏,选择需要的版本下载。这里按照课程要求选择tomcat 9的版本

image-20230504160652017

Mirrors:选择安装的镜像源,如果下载失败可尝试切换镜像

下方选择安装类型,现在的 Windows 电脑基本都是 64 位的,直接点击下载即可

搜狗截图20230504160958

解压安装

下载完成后我们会得到一个压缩包,将压缩包解压到你想要安装的位置即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cLZm0qFR-1687705182911)(./assets/image-20230504161502571.png)]


这里我将文件解压到C:\Program Files\apache-tomcat-9.0.74目录

image-20230504161935071

配置环境变量

右击此电脑--->属性--->高级系统设置

image-20230504162726234

点击下方环境变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bkHaX5Vj-1687705182912)(./assets/image-20230504162810487.png)]


在系统环境变量中新建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eXRuDQoi-1687705182912)(./assets/image-20230504163346762.png)]


分别设置变量名与变量值

变量名:CATALINA_HOME

变量值:Tomcat 解压后的路径

例如我的:C:\Program Files\apache-tomcat-9.0.74

image-20230504163501828 image-20230504163701900

下滑找到系统变量Path

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cKWvHicD-1687705182912)(./assets/image-20230504163923181.png)]


添加环境变量%CATALINA_HOME%\bin

即为 Tomcat 安装路径下的 bin 目录

最后点击确定退出配置界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lJiT80NE-1687705182913)(./assets/image-20230504164042103.png)]


校验 Tomcat

键盘按下win + R键输入cmd打开命令提示符界面

再次输入startup.bat启动 Tomcat 服务

出现 Tomcat 启动窗口即表示安装成功,乱码问题不用管

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yrwAxzio-1687705182913)(./assets/image-20230504165043153.png)]


打开浏览器输入http://localhost:8080/ 到此 Tomcat 安装配置完毕

命令提示符界面一定不能关,关了就等于关闭 Tomcat 服务肯定打不开这个页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1XRWCq8Y-1687705182913)(./assets/image-20230504165312958.png)]


拓展

Tomcat 内置了许多案例,包含源码,可帮助学习

在网址栏后面加上examples即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CQ4nLCHs-1687705182913)(./assets/image-20230504165542793.png)]


Tomcat目录结构

目录说明
/bin存放各种平台下用于启动和停止Tomcat的脚本文件
/conf存放Tomcat服务器的各种配置文件
/lib存放Tomcat服务器所需的各种JAR文件
/logs存放Tomcat的日志文件
/tempTomcat运行时用于存放临时文件
/webapps当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中
/workTomcat把由JSP生成的Servlet放于此目录下

修改Tomcat服务器端口

  1. Tomcat默认端口8080
  2. 修改conf目录下的server.xml文件
  3. 找到<Connector>节点,修改port属性值
<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

http://localhost:8081/…

使用Tomcat 服务器部署Web应用

Web应用目录结构,不同资源文件按规则存储于不同目录下

目录说明
/Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等)
/WEB-INF存放应用使用的各种资源,该目录及其子目录对客户端都是不可以访问
/WEB-INF/classes存放Web项目的所有的class文件
/WEB-INF/lib存放Web应用使用的JAR文件

创建、运行Web应用

  1. 创建Web应用,按目录规则创建Web应用,命名为MyFirstWeb

  2. 编写代码,在MyFirstWeb目录创建index.html文件

  3. 部署Web应用代码,将创建好的Web应用拷贝到Tomcat服务器的webapps目录中

  4. 启动Tomcat服务器

  5. 访问Web应用程序:http://localhost:8080/MyFirstWeb/index.html

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MyFirstWeb</title>
</head>
<body>
    <h1>我的第一个Web应用!</h1>
</body>
</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IoR1q3hN-1687705182914)(./assets/image-20230623214536488.png)]

设置默认欢迎页面

通过配置文件,设置Web应用的欢迎页修改应用程序,WEB-INF目录下的web.xml文件

<welcome-file-list>
        <welcome-file>home.html</welcome-file>
        <!--可以设置多个欢迎页面-->
</welcome-file-list>

访问项目根目录,自动进入默认页面:http://localhost:8080/MyFirstWeb

当运行Web应用时,Tomcat会首先加载项目中的web.xml文件

JSP

JSP (Java Server Pages)

  • 一种用于开发动态Web页面的服务器端技术
  • 在HTML中嵌入Java脚本代码:Html + Java片段
  • 由Web服务器编译和运行
  • 将生成的页面信息返回客户端

JSP页面主要包含静态内容、指令、小脚本、表达式、声明、注释等内容

<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>欢迎进入JSP世界</title>
        <head>
            <body>
                <!--欢迎语 (这是HTML注释)-->
                <h1>Hello! JSP !</h1>
                <%--显示当前日期 (这是JSP注释)--%>
                <%! String currTime; %>
                <%
                //使用预定格式将日期转换为字符串
                SimpleDateFormat formater = new SimpleDateFormat("yyyy年MM月dd日");
                currTime = formater.format(new Date());
                %>
                <%= currTime %>
            </body>
        </head>
<html>

JSP页面元素

  • 静态内容:HTML代码等静态内容

  • JSP指令:(Directives)声明页面属性、用于控制页面处理

  • JSP声明;(Declarations)声明Java变量、定义Java方法

  • JSP脚本;(Scriptlets)Java代码片段

  • JSP表达式;(Expressions)用于展示服务器端的响应结果

  • JSP注释

JSP指令和小脚本

JSP指令(Directives),用于声明页面属性、用于控制页面处理

<%@ 指令名称 属性1="属性值" 属性2="属性值2,属性值3" %>

常用指令:

  • page

  • include

  • taglib

  • Page:指令用于设置页面属性

<%@ page 属性1="属性值" 属性2="属性值1,属性值2" %>

常用属性

属性描述默认值
language指定JSP页面使用的脚本语言java
import引用脚本语言中使用到的类文件
contentType指定MIME类型和JSP页面响应时所采用的字符编码方式text/html;charset= ISO-8859-1

JSP小脚本

<%@ page language="java" import="java.util.*,java.text.*"  
    contentType="text/html; charset=utf-8"%>

JSP页面中的Java代码片段,以<%开头,以%>结束

<%Java代码%>
<%
    for(String blog : blogs){
        out.print(++i + " : ");
        out.print(blog);
%>
<br />
<%
    }
%>

JSP表达式

表达式,用于展示服务器端的响应结果

<%=Java变量或表达式%>
<%
    for(String blog : blogs){
%>
        <%=++i %>:
        <%= blog %> <br />
<%
    }
%>

JSP声明

声明Java变量、定义Java方法

<%! Declaration;[ Declaration;] …… %>

使用JSP声明定义方法,计算不同直径圆的面积

<%!
    double area(double r){     //计算圆形面积
        return Math.PI*r*r;
    }
%>
<%
    double r1 = 5;  double r2 = 10;
    DecimalFormat df = new DecimalFormat( "0.00 "); 
%>
    半径为<%= r1%>的圆面积为<%= df.format(area(r1))%>  <br />
    半径为<%= r2%>的圆面积为<%= df.format(area(r2))%>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dyRQrNwi-1687705182914)(./assets/image-20230623221654890.png)]

JSP注释

  • HTML注释方法
<!-- HTML注释-->

浏览器查看源码时可以看到注释内容,不安全,加重网络传输负担

  • JSP注释标记
<%-- JSP注释--%>

浏览器查看源码时无法看到注释内容,安全性较高

  • JSP脚本中使用注释
<%  //单行注释  %>
<%  /*多行注释*/  %>

同Java注释

JSP 工作原理

Web容器处理JSP文件请求需要经过3个阶段

  • 翻译阶段
  • 编译阶段
  • 执行阶段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4k4rFMB8-1687705182914)(./assets/image-20230623222212211.png)]


第一次请求之后,Web容器可以重用已经编译好的字节码文件

如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CD4YsXUk-1687705182914)(./assets/image-20230623222530751.png)]

IDEA 创建 Web 项目

创建项目

IDEA 2023 创建Jakarta EE项目

模板:选择使用 Web 应用程序

应用程序服务器:选择安装的 Tomcat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FYbBb4Nq-1687705182915)(./assets/image-20230508151829171.png)]


第一次创建项目可能识别不到 Tomcat 需要手动添加 Tomcat 服务器

设置 Tomcat 主目录为 Tomcat 的安装路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RV9ycPNe-1687705182915)(./assets/image-20230508154653311.png)]


然后下一步,创建

我们课程中使用的 java 版本为 1.8 需要在左上角选择 Java EE 8

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FFHja3OZ-1687705182915)(./assets/image-20230508154836330.png)]


然后点击 IDEA 右上角配置 Tomcat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fhxApdKY-1687705182915)(./assets/image-20230508155257957.png)]


部署Web应用

点击上面的部署,把下面的路径都删掉只留下一个/,或者项目名称

这个就是 Tomcat 的虚拟映射地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YspWV2sS-1687705182916)(./assets/image-20230508161208112.png)]


然后直接运行项目,显示连接成功即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A1HR3XK9-1687705182916)(./assets/image-20230508161324931.png)]


Web项目的目录结构

src目录

  • 存放Java源代码

web目录

  • WEB-INF目录

    • web.xml
  • 自动生成首页:index.jsp

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBGdI1eo-1687705182916)(./assets/image-20230623222752706.png)]

把JSP、HTML文件组织成文件夹,分类放入web目录中可以方便Web项目的维护和管理

修改 Maven 参数

IDEA 中内置了 Maven 就导致,每次新建项目 IDEA 都会使用自带的 Maven 我们需要修改为我们本地的 Maven

  1. 点击 文件 新建项目设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hvYARq8D-1687705182916)(./assets/image-20230508161525979.png)]


  1. 设置 Maven 参数,勾选相关设置

Maven 主路径(H): Maven 安装根目录

用户设置文件(S):Maven conf目录里的settings.xml配置文件

本地仓库(R):Maven 目录下新建的mavne-repo文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LK3qOK4A-1687705182916)(./assets/image-20230508161711179.png)]


运行Web应用常见错误

未启动Tomcat未正确部署Web应用URL输入错误目录不能被引用

常见错误:未启动Tomcat

错误现象:无法访问此网站

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9e3H4tdL-1687705182917)(./assets/image-20230623223343839.png)]

排错方法:访问localhost:8080路径,检查Tomcat服务能否正确运行

常见错误:未部署Web应用

错误现象:404错误

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDrONLMA-1687705182917)(./assets/image-20230623223829844.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y07Jdl1I-1687705182917)(./assets/image-20230623223832721.png)]

排错方法:检查Web应用是否正确部署

常见错误:URL输入错误

错误现象:404

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MXv8Y0EC-1687705182917)(./assets/image-20230623223930253.png)]

错误排错方法:

  • 检查URL协议、IP地址、端口号是否拼写正确

  • 检查上下文路径是否拼写正确

  • 检查文件名称是否拼写正确

常见错误:目录不能被引用

错误现象:404

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y7803K8P-1687705182917)(./assets/image-20230623223954188.png)]

错误排错方法:

  • 由于WEB-INF文件夹下的内容无法对外发布,所以 /WEB-INF/下的文件是不允许被引用的
  • 查看被引用文件是否在/WEB-INF/下,将其移出

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

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

相关文章

NGINX PHP Cookie 会话中 PHPSESSID 缺少 HTTPOnly、Secure 属性解决方案

NGINX & PHP Cookie 会话中 PHPSESSID 缺少 HTTPOnly、Secure 属性解决方案 1 / 说明 基于安全的考虑&#xff0c;需要给cookie加上Secure和HttpOnly属性&#xff0c;HttpOnly比较好理解&#xff0c;设置HttpOnlytrue的cookie不能被js获取到&#xff0c;无法用document.coo…

linux系统的文件等相关操作命令

文章目录 1 查找文件&#xff08;find、grep&#xff09;2 查看文件内容&#xff08;cat、more、less、head、tail&#xff09;3 文件比较&#xff08;diff&#xff09;4 文本编辑器&#xff08;vi、vim&#xff09;5 文件压缩与解压&#xff08;tar、tar.tgz、zip、rar、rar.g…

yum安装 lnmp

目录 一.nginx 的yum安装 1.关闭防火墙 2. 安装 nginx 3.安装依赖包 4.启动服务 二. 安装 mysql 5.7 (mariadb) 1.nysal的yum安装 2. 启动服务 3.在日志文件中找出root用户的初始密码 4.登录 mysql 5. 停止版本更新&#xff0c;稳定数据库的运行 三.php 的yum安装 1.…

rust abc(4): 定义变量并使用 mut 关键字

文章目录 1. 目的2. 不可变变量 (immutable variable)2.1 含义2.2 代码实例 3. 可变变量 (mutable variable)3.1 含义3.2 代码实例 4. 总结 1. 目的 学习 rust 语言中变量的定义方式&#xff0c; 包括普通变量&#xff08;immutable&#xff09;、可变变量&#xff08;mutable…

轻量云服务器(香港)ping不通怎么解决?

​  在使用轻量云服务器(香港)时&#xff0c;有时候会出现ping不通的情况&#xff0c;这时候我们该怎么办呢? 首先&#xff0c;我们需要知道 ping 不通的原因。 ping 是一种基于 ICMP 协议的网络测试工具&#xff0c;它可以用来测试网络连接的质量和速度。如果 ping 不通&am…

英特尔进军晶圆代工,台积电“危”?

近来&#xff0c;半导体市场再次变得繁荣&#xff0c;尤其随着AI大型机模型的出现&#xff0c;半导体巨头们纷纷加大投资力度&#xff0c;以期在AI时代中积蓄新的增长。 作为AI大模型时代中最受益的厂商之一&#xff0c;英伟达稳居市场前沿&#xff0c;而AMD也加入了竞争&…

阿里发布2023年Java社招岗(正式版)面试题

每年的金三银四、金九银十都是各大公司招聘程序员的最佳时期&#xff0c;在这段时间内有好多程序员为面试而发愁&#xff0c;不知道如何才能收到好的 offer&#xff0c;拿到理想的薪资&#xff0c;实现自我的人生价值&#xff01; 我想告诉大家的是&#xff0c;其实都不用愁的…

Web Worker是什么?怎么用?

71. Web Worker是什么&#xff1f;怎么用&#xff1f; Web Worker 是一种浏览器提供的 JavaScript 特性&#xff0c;它允许在后台线程中运行脚本&#xff0c;从而避免阻塞主线程并提高页面性能和响应速度。 1. Web Worker 的使用方法如下&#xff1a; 创建 Worker 对象&…

chatgpt赋能python:Python编译成库的利与弊

Python编译成库的利与弊 Python作为一种高级编程语言&#xff0c;具有简洁易读的语法和强大的生态系统&#xff0c;在数据科学、Web开发、游戏开发等领域得到广泛应用。然而&#xff0c;Python解释器的执行效率较低&#xff0c;因此为了提高Python程序的性能&#xff0c;常使用…

【嵌入式环境下linux内核及驱动学习笔记-(18)内核驱动模块的启动机制】

目录 1、module_init宏1.1 展开1.2 解释以下几个标识1.2.1 fn1.2.2 id1.2.3 类型 initcall_t &#xff1a;1.2.4 __used1.2.5 __init1.2.6 __attribute__ 1.3 实例说明 2、 驱动启动机制2.1 initcall_t 类型的数组2.2.1 __initcallx_start数组2.2.2 initcall_levels[]数组 2.3 …

每日一练 | 华为认证真题练习Day64

1、如下图所示的网络&#xff0c;所有路由器运行0SPF协议&#xff0c;链路上方为Cost值的大小&#xff0c;则RA路由表中到达网络10.0.0.0/8的Cost值是多少&#xff1f; A. 70 B. 20 C. 60 D. 100 2、如下图所示的网络&#xff0c;主机A没有配置网关&#xff0c;主机B存在网关…

基于GEC6818 Qt智能病房监控系统

文章目录 一、项目设备及平台二、项目功能说明1. 整体功能2. GEC6818开发板功能介绍3. GY39模块功能介绍4. MQ-2型烟雾传感器功能介绍5. RFID模块 三、硬件系统设计实现与图表四、软件系统设计实现与流程图1. 软件系统设计总体描述2. 软件实现流程图3. 操作过程 五、调试过程中…

基于电容电流前馈与电网电压全前馈的单相LCL并网逆变器谐波抑制MATLAB仿真(电压比例反馈及一二次微分反馈)

基于电容电流前馈与电网电压全前馈的单相LCL并网逆变器谐波抑制MATLAB仿真&#xff08;电压比例反馈及一二次微分反馈&#xff09;资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87941037模型简介&#xff1a; 参考阮新波教授【LCL型并网逆变器的控制技术…

scrapy的数据保存到数据库

将数据保存到数据库 mysql数据库 下载链接数据库的依赖 Conda/pip install pymysql在piplines.py 文件中 重写open_spider方法 ​ 连接到mysql数据库 def open_spider(self, spider):self.conn pymysql.Connect(hostlocalhost,port3306,userroot,password20020115,dbscrap…

go系列-读取文件

1 概述 2 整个文件读入内存 直接将数据直接读取入内存&#xff0c;是效率最高的一种方式&#xff0c;但此种方式&#xff0c;仅适用于小文件&#xff0c;对于大文件&#xff0c;则不适合&#xff0c;因为比较浪费内存。 2.1 直接指定文化名读取 在 Go 1.16 开始&#xff0c;i…

chatgpt赋能python:Python编程语言制作的著名游戏

Python编程语言制作的著名游戏 Python是一种广泛使用的编程语言&#xff0c;其简单易读的语法让其成为许多游戏开发者的首选。本文将介绍利用Python编程语言制作的几个著名游戏&#xff0c;并将着重标记加粗它们的标题&#xff0c;以便于读者更容易了解。 1. 游戏&#xff1a…

【Python】python入门篇

概述 官网 https://www.python.org/ Python 是一种脚本语言&#xff08;scripting language&#xff09;。 与编译型语言&#xff08;如 C 和 C&#xff09;不同&#xff0c;Python 的程序代码不需要进行显式的编译&#xff0c;在执行时会动态地解释执行代码。 Python 的脚本执…

FFmpeg 解码 AAC 格式的音频

FFmpeg 默认是可以解码 AAC 格式的音频&#xff0c;但是如果需要获取 PCM16 此类数据则需要经过音频转码。首先要打开解码器&#xff0c;然后向解码器发送 AAC 音频帧&#xff08;不带 ADTS&#xff09;&#xff0c;然后从解码器获取解码后的音频帧&#xff0c;数据是 float 类…

【软考网络管理员】2023年软考网管初级常见知识考点(12)-应用层协议

涉及知识点 应用层协议详解&#xff0c;DNS的概念&#xff0c;FTP的概念&#xff0c;DHCP的概念&#xff0c;Telnet的概念&#xff0c;电子邮件协议 软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于&#xff1a;CSDN博主…

我的内网渗透-代理转发(2)

目录 ssh telnet与SSH的区别 安装环境 常用参数 本地端口转发 远程端口转发 动态端口转发 Socks 使用方法 msf端口转发 常用参数 使用方法 创建监听 MSF读取文件命令&#xff08;开启msf的时候直接读取文件就自动设置好监听的各种配置&#xff09; 获取会话后 …