- 前端压缩视频(@ffmpeg/ffmpeg)和图片(browser-image-compression)
会飞的鱼先生
前端音视频ffmpegvue.js
前端压缩视频(@ffmpeg/ffmpeg)和图片(browser-image-compression)1.压缩图片安装插件npminstallbrowser-image-compression--save引入插件import{createWorker}from'browser-image-compression';定义方法//压缩图片asynccompressImage(file,maxSize
- 阿里云oss视频苹果端无法播放问题记录
卖柴火的小伙子
音视频
记录一下苹果端视频不可以播放的原因.看了一下其他视频可以正常播放,但是今天客户发来的视频无法正常播放.咨询过阿里云售后给出的原因是编码格式过高.需要调整编码格式为:baseline,下面记录如何使用ffmpeg修改视频的编码格式.下载文件(可从官方下载)配置环境变量(系统变量中path添加安装目录)D:\tool\ffmpeg\bin验证是否配置成功(配置完环境变量如不生效可重启)ffmpeg-v
- Ubuntu 64-bit 交叉编译 FFmpeg(高级用户指南)
追随远方
AndroidFFMpeg开发ubuntuffmpeglinux
适用于ARM(aarch64)、Windows(mingw)、Android、RaspberryPi等平台的交叉编译。1.安装交叉编译工具链ARM(aarch64)示例sudoaptupdatesudoaptinstallgcc-aarch64-linux-gnug++-aarch64-linux-gnubinutils-aarch64-linux-gnuWindows(MinGW-w64)示例s
- Qt+FFmpeg+opengl从零制作视频播放器-1.项目介绍
灬Sunnnnn
实战项目-视频播放器音视频qtffmpegopengl
1.简介学习音视频开发,首先从做一款播放器开始是比较合理的,每一章节,我都会将源码贴在最后,此专栏你将学习到以下内容:1)音视频的解封装、解码;2)Qt+opengl如何渲染视频;3)音视频同步,如何seek到指定时间;4)学习FFmpeg常用接口;5)学习opengl的渲染原理;6)Qt界面开发以及QSS样式表加载;7)网络视频流的加载;8)播放器跨平台移植;9)Windows打包为exe包发布
- RAGFlow + LlamaIndex 本地知识库RAG增强架构与实现直播智能复盘
每天三杯咖啡
架构
一、需求分析与架构设计基于RAGFlow+LlamaIndex本地知识库RAG扩展直播话术合规与复盘系统,需构建实时流处理、多模态合规引擎、智能复盘分析三层能力。以下是完整架构图与技术方案:二、核心模块技术方案1.直播流实时处理(输入层→实时处理层)技术栈流接入:FFmpeg(RTMP推流)、WebRTC(低延迟互动)语音识别:Whisper(本地部署)+NVIDIATriton(加速推理)合规检
- 【水文章】ffmpeg m4a转16000的wav
我的巨剑能轻松搅动潮汐
ffmpeg
ffmpeg-iabc.m4a-ar16000-ac1-acodecpcm_s16le-fwavoutput.wavm4a是PC机录音保存的格式。转wav有用
- 从0到1:Rust 如何用 FFmpeg 和 OpenGL 打造硬核视频特效
引言:视频特效开发的痛点,你中了几个?视频特效如今无处不在:短视频平台的滤镜美化、直播间的实时美颜、影视后期的电影级调色,甚至AI生成内容的动态效果。无论是个人开发者还是团队,视频特效都成了吸引用户眼球的杀手锏。然而,实际开发中却总会遇到这些“拦路虎”:场景一:批量处理需求你需要给上百个视频自动添加模糊背景,PR和AE这种手动工具直接废掉,效率低到让人抓狂。场景二:命令行噩梦用FFmpeg原生命令
- ffmpeg录制屏幕
FreeFly辉
ffmpegwindows
安装ffmpeg首先到ffmpeg官网下载对应压缩包。网址https://www.ffmpeg.org/download.html#build-windows下载完解压后,将bin目录加至环境变量windows下使用ffmpeg录制桌面1、Windows先安装dshow软件Windows先安装dshow软件ScreenCapturerRecorder,项目地址:https://sourceforg
- ffmpeg 获取屏幕和摄像头及音频
KKView远程查看手机电脑摄像头和屏幕
ffmpegffmpeg音视频
Linux系统使用x11grab设备采集视频图像:ffmpeg-video_size1024x768-framerate25-fx11grab-i:0.0+100,200output.mp4这条命令将会从桌面图像的左上角偏移坐标位置为(x=100,y=200)处获取宽高为1024x768的图像,.如果需要加入音频,则采集ALSA(参考Capture/ALSA获得更多信息):ffmpeg-video
- FFmpeg录制屏幕和音频
byxdaz
音视频ffmpeg音视频
一、FFmpeg命令行实现录制屏幕和音频1、Windows示例#include#include#includeintmain(){//FFmpeg命令行(录制屏幕+麦克风音频)std::stringcommand="ffmpeg-fgdigrab-framerate30-idesktop"//屏幕捕获(GDI)"-fdshow-iaudio=\"麦克风(RealtekAudio)\""//音频设备
- Rust 开发者必备:三分钟掌握视频帧率调整,告别 FFmpeg 命令行与 FFI 烦恼
前言在视频处理中,帧率(FPS)直接影响视频的流畅度和设备兼容性。例如,你可能需要将一个60FPS的游戏录屏调整为30FPS以适配主流播放平台,或将视频帧率降低以匹配特定设备的播放要求。传统上,开发者依赖FFmpeg命令行工具完成这类任务,比如ffmpeg-iinput.mp4-r30output.mp4,但这需要掌握复杂的参数,且在批量处理时效率不高。在Rust中,直接通过FFI(Foreign
- VMWare中Ubuntu 20.04.3 LTS编译、安装FFmpeg
等风来v
FFmpeg嵌入式ubuntuffmpeg
记:准备入坑FFmpeg了,之前在Windows平台尝试编译FFmpeg源码,屡次失败,准备先在Ubuntu环境编译进行学习,之后再尝试在Windows环境下编译源码。一、准备Ubuntu20.04.3LTS的虚拟机或者物理机。FFmpeg源码,我用的是4.4.1。SDL库。(因为ffplay播放器依赖SDL库,所以需要先安装SDL库,我用的是2.0版的库。如果没有这个库,编译安装后不会生产ffp
- FFmpeg命令详解
都非拉得
工具ffmpeg
FFmpeg命令详解1.基础命令#查看版本ffmpeg-version#查看支持的编解码器ffmpeg-codecs#查看支持的格式,如MP4、MKV、MP3、AVI等ffmpeg-formats#查看详细的编码器信息ffmpeg-encoders#查看详细的解码器信息ffmpeg-decoders#查看滤镜,列出所有可用的视频/音频滤镜ffmpeg-filters2.视频格式转换#将MP4转换为
- ffmpeg视频转码相关
Vegetable_xu
ffmpeg音视频
ffmpeg视频转码相关获取视频时长视频转码获取视频时长//Duration:00:00:30.03,start:0.000000,bitrate:1191kb/spublicStringgetVideoDuration(StringinputFilePath){Processprocess=null;try{//定义远程视频的URL//构建FFmpeg命令ProcessBuilderproces
- ffmpeg中格式转换需要注意点总结
小小码农Come on
音视频ffmpeg
某些封装格式(例如MP4/FLV/MKV等)的H.264码流的SPS和PPS信息存储在AVCodeccontext结构体的extradata中。分离某些封装格式(例如MP4/FLV/MKV等)中的H.264的时候,需要首先写入SPS和PPS,否则会导致分离出来的数据没有SPS、PPS而无法播。需要使用ffmpeg中名称为“h264mp4toannexb”的bitstreamfilter处理关键概念
- 在 Rust 中使用 FFmpeg (1):环境搭建
小时了了
Rust的音视频开发之旅rustffmpeg音视频视频编解码
写播放器最快的方式是用各个操作系统平台提供的多媒体组件,一般十几行几十行代码就能搞出一个勉强可用的播放器来,但是要做更深入更强大的功能就难了,如果要做跨平台那更不可能,这时候就需要用到FFmpeg了,Rust也不例外。接下来就让我们的自虐之路从FFmpeg开始。creates.io上提供FFmpeg接口绑定或者包装的crate有不少,其中人气最高的应该是ffmpeg-sys-next,该项目提供了
- 在 Rust 中使用 FFmpeg (2):视频解码测试
小时了了
Rust的音视频开发之旅rustffmpeg音视频视频编解码
在上一篇文章《在Rust中使用FFmpeg(1):环境搭建》中我们完成了环境搭建,通过一个简单的API调用打通了在Rust中调用FFmpeg的完整路径。这次我们将通过一个简单的示例程序学习如何用ffmpeg-next库实现视频解码。dump-frames,ffmpeg-next仓库自带的example,实现了对输入视频文件的逐帧解码,并保存为图像文件的功能。完整的源码在这里。首先,为crateff
- 推荐:Rust版FFmpeg库封装利器——ac-ffmpeg
蒋闯中Errol
推荐:Rust版FFmpeg库封装利器——ac-ffmpegrust-ac-ffmpegSimpleandsafeRustinterfaceforFFmpeglibraries.项目地址:https://gitcode.com/gh_mirrors/ru/rust-ac-ffmpeg在多媒体处理领域,FFmpeg无疑是一个不可或缺的名字。它提供了强大的音视频编解码、容器处理和转换功能。而今天,我们
- 从0到1:Rust 如何用 FFmpeg 和 OpenGL 打造硬核视频特效
Yeauty
rustffmpeg音视频
引言:视频特效开发的痛点,你中了几个?视频特效如今无处不在:短视频平台的滤镜美化、直播间的实时美颜、影视后期的电影级调色,甚至AI生成内容的动态效果。无论是个人开发者还是团队,视频特效都成了吸引用户眼球的杀手锏。然而,实际开发中却总会遇到这些“拦路虎”:场景一:批量处理需求你需要给上百个视频自动添加模糊背景,PR和AE这种手动工具直接废掉,效率低到让人抓狂。场景二:命令行噩梦用FFmpeg原生命令
- ffmpeg4.1 源码学习之-转封装
xfc_1939
ffmpeg学习ffmpeg
前言ffmpeg的源码量非常的多,而且非常繁杂,非常多的函数,如果一个函数一个函数看的话要花费比较多的时间。所以本文通过跟踪ffmpeg转封装的过程来学习ffmpeg的源码具体转封装的命令:ffmpeg-i1_cut.flv-ccopy-fmp41.mp4在学习过程中,如果遇到libavformat、libavcodec、libavutils等库的主要函数,将单独写一篇文章进行分析为了减少篇幅,源
- python合并音频和视频_ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
weixin_39597323
python合并音频和视频
安装官网下载选择需要的版本将解压后得到的以下几个文件放置在E:\FFmpeg下环境变量此电脑--属性--高级系统设置--环境变量在系统变量(也就是下面那一半)处找到新建,按如下所示的方法填写再将%FFMPEG_HOME%以及%FFMPEG_HOME%\bin写入系统变量的Path中然后一路确定即可验证win+R,cmd输入ffmpeg-versionffmpeg的使用对于我将B站PC端缓存的音频m
- FFmpeg发送流媒体的命令(UDP,RTP,RTMP)
音视频开发老马
流媒体服务器Android音视频开发音视频开发ffmpeg音视频开发视频编解码网络HLS
从雷神哪里转载来的,简单记录备忘。1.UDP1.1.发送H.264裸流至组播地址注:组播地址指的范围是224.0.0.0—239.255.255.255下面命令实现了发送H.264裸流“chunwan.h264”至地址udp://233.233.233.223:6666ffmpeg-re-ichunwan.h264-vcodeccopy-fh264udp://233.233.233.223:666
- 五.ubuntu20.04 - ffmpeg推拉流以及Nginx、SRS本地部署
djykkkkkk
ffmpeg学习ffmpegnginx运维
一.本地部署nginx1.编译ffmpeg,参考这位博主的,编译选项有的enable找不到的不需要的可以直接删除,但是像sdl(包含ffplay)、h264、h265这些需要提前下载好,里面都有下载指令。Ubuntu20.04编译安装FFmpeg详细教程_ubuntu20.04bianyiffmpegcsdn-CSDN博客2.下载并配置编译Nginxubuntu20.04编译安装nginx_ubu
- QtAV入门
byxdaz
QTqtvideoaudio
QtAV是一个基于FFmpeg和Qt的高性能多媒体播放框架,提供强大的音视频解码、渲染和处理能力,适合开发跨平台的播放器、视频编辑和流媒体应用。1.核心功能多格式支持支持H.264/H.265、VP9、AV1等视频编码。支持MP3、AAC、Opus等音频编码。封装格式:MP4、MKV、FLV、RTMP、HLS等。硬件加速利用GPU解码(DXVA2、VAAPI、VideoToolbox、CUDA)。
- liunx源码部署 ffmpeg 踩坑指南 x264、yasm、nasm、java集成ffmpeg
独木桥向北
ffmpegjava开发语言实时音视频linux
liunx部署ffmpeg踩坑指南x264、yasm、nasm、java集成ffmpeg部署流程准备安装包开始部署踩坑记录!!(先看)测试转换转换命令java集成部署流程准备安装包ffmpeg-6.1.1.tar.gz、nasm-2.14.tar.gz、x264.tar.gz、yasm-1.3.0.tar.gz下载地址:wgethttp://www.tortall.net/projects/yas
- FFmpeg 相关音视频技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中...)
信必诺
FFmpeg音视频FFmpegOpenGLQtYUVNV12
❗❗❗更新于2025-03-24: FFmpeg——常用指令集合(附:Windows下多个相同usb摄像头名称一致时解决办法) FFmpeg——在Linux下使用FFmpeg拉取rtsp流解码,留出图像接口供OpenCv处理等(附:源码) FFmpeg——中标麒麟系统下使用FFmpeg内核+Qt界面,制作完整功能音视频播放器(附:源码 FFmpeg——Win10下使
- 【c++】使用FFmpeg库进行视频流处理的
四维碎片
c++ffmpeg开发语言
使用FFmpeg库进行视频流处理的C++代码。主要功能是拉取RTSP流,解码视频帧,并将解码后的帧转换成Qt中的QImage,最后通过信号发射将图像传递给界面。下面是对代码的详细解释:初始化FFmpeg库和网络库:cppCopycodeavformat_network_init();av_register_all();这两行代码用于初始化FFmpeg库和网络库,确保在使用解封装(flv,mp4,r
- 音视频 ffmpeg库使用
师从小白
音视频音视频ffmpeg
ffmpeg4.2.4源代码extern"C"{#include"libavformat/avformat.h"#include"libavcodec/avcodec.h"#include"libswscale/swscale.h"#include"libswresample/swresample.h"#include"libavfilter/avfilter.h"#include"libavfi
- ffmpeg 编译
师从小白
音视频音视频
配置帮助>>./configure-h(切换到ffmpeg根目录)列举功能支持项(Helpoptions)--helpprintthismessage--quietSuppressshowinginformativeoutput--list-decodersshowallavailabledecoders--list-encodersshowallavailableencoders--list-h
- ffmpeg 模块分析
师从小白
音视频ffmpeg
预置模块协议protocolURLContext-av_class是预置ffurl_context_class;预置URLProtocol,对应外部URLContext(url_protocols预置列表,包含ff_file_protocol)URLContext-prot和priv_data,以file为例,分别为ff_file_protocol和FileContext对象指针;原生protoc
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include