- 11 【HarmonyOS NEXT】 仿uv-ui组件开发之Avatar组件深度剖析(二)
全栈若城
harmonyos从入门到进阶uvuiubuntuHarmonyOSNEXT
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!第二篇:探秘Avatar组件的核心实现机制1.组件结构设计2.状态管理2.1组件状态定义@ComponentexportstructAvatar{//私有属性privateprops:AvatarProps={shape:AvatarShape.CIRCLE,s
- FreeSWITCH 简单图形化界面40 - 使用mod_curl模块进行http请求
贾宝玉的玉宝贾
IPPBXfreeswitchvoipsiphttppython
FreeSWITCH简单图形化界面40-使用mod_curl模块进行http请求0、界面预览00、简介1、编译安装1.1编辑模块配置文件2、使用2.1拨号规则GET请求POST请求JSON数据2.2Lua脚本GET请求POST请求JSON数据3、示例3.1示例1:提交CDR到第三方接口3.2示例2:提交外呼状态到第三方接口0、界面预览http://myfs.f3322.net:8020/用户名:a
- RTC实时时钟M41T00M6F国产替代FRTC4100S
NYFEA
实时音视频
FRTC4100S是NYFEA徕飞公司推出的一种低功耗的串行实时时钟(RTC)。32.768kHz振荡器由外部晶体控制)和RAM的前8个字节用于时钟/日历功能,并以二进制编码十进制(BCD)格式配置。地址和数据通过双向总线以串行方式传输。内置的地址寄存器在每个写或读数据字节后自动递增。FRTC4100S时钟内置电源检测电路,可在电源故障期间检测到电源故障并自动切换到电池供电。维持时钟运行所需的能量
- EasyRTC嵌入式音视频通话SDK:基于ICE与STUN/TURN的实时音视频通信解决方案
EasyCVR
RTC音视频实时音视频h.265人工智能webrtc
在当今数字化时代,实时音视频通信技术已成为人们生活和工作中不可或缺的一部分。无论是家庭中的远程看护、办公场景中的远程协作,还是工业领域的远程巡检和智能设备的互联互通,高效、稳定的通信技术都是实现这些功能的核心。EasyRTC嵌入式音视频通话SDK支持多种类型的网络环境,能够适应不同的网络条件,确保在各种场景下都能实现高效、稳定的实时音视频通信。以下是EasyRTC支持的主要网络环境类型:1、有线网
- 提升Web可访问性的10个关键实践
zsy_1991
前端javascripthtml
在当今互联网时代,确保网站的可访问性(Accessibility)已经成为开发者和设计师的重要任务之一。Web可访问性不仅有助于残障用户更好地访问和使用网站,还能提升整体用户体验。本文将介绍10个关键的Web可访问性实践,帮助你构建更加友好和包容的网站。1.使用语义化的HTML标签语义化的HTML标签不仅有助于搜索引擎优化(SEO),还能提升屏幕阅读器等辅助技术的理解能力。以下是一些常用的语义化标
- C++Primer学习(5.4和5.5 迭代语句和跳转语句)
黑果果的思考
零基础学习C++c++
5.4迭代语句迭代语句通常称为循环,它重复执行操作直到满足某个条件才停下来。while和for语句在执行循环体之前检查条件,dowhile语句先执行循环体,然后再检查条件。5.4.1while语句只要条件为真,while语句(whilestatement)就重复地执行循环体,它的语法形式是while(condition)statement;在while结构中,只要condition的求值结果为真就
- C++Primer学习(5.3条件语句)
黑果果的思考
零基础学习C++c++学习
5.3条件语句C++语言提供了两种按条件执行的语句。一种是if语句,它根据条件决定控制流:另外一种是switch语句,它计算一个整型表达式的值,然后根据这个值从几条执行路径中选择一条。5.3.1if语句if语句(ifstatement)的作用是:判断一个指定的条件是否为真,根据判断结果决定是否执行另外一条语句。if语句包括两种形式:一种含有else分支,另外一种没有。简单if语句的语法形式是if(
- C++Primer学习(5.1和5.2 简单语句和语句作用域)
黑果果的思考
零基础学习C++c++学习
通常情况下,语句是顺序执行的。但除非是最简单的程序,否则仅有顺序执行远远不够。因此,C++语言提供了一组控制流(fow-of-control)语句以支持更复杂的执行路径。5.1简单语句C++语言中的大多数语句都以分号结束,一个表达式,比如iva1+5,末尾加上分号就变成了表达式语句(expressionstatement)。表达式语句的作用是执行表达式并丢弃掉求值结果:ival+5;//一条没什么
- Python Web开发(三):HTTP请求的url路由
是Dream呀
python前端httpdjango后端
本文目录:一、要实现的目标二、创建项目app1.APP介绍2.创建APP三、返回页面内容给浏览器四、url路由1.添加路由记录1.1解决ERROR:Couldnotfindaversionthatsatisfiestherequirementxxx1.2启动web服务2.路由子表`【系列好文推荐】`前言:作者简介:是Dream呀,华为云享专家、CSDN原力计划作者、Python领域优质创作者,专注
- C++11新特性—std:function模板类
BeyondESH
算法C++数据结构c++java前端
std::function模板类1.定义std::function是C++11引入的一个模板类,位于头文件中。它是一个通用的可调用对象包装器(functionobjectwrapper),能够存储、复制和调用任何可以调用的目标(Callabletarget),这些目标包括普通函数、Lambda表达式、函数对象(仿函数)、绑定表达式(通过std::bind创建的)以及其他函数对象等。2.特点std:
- Java新特性梳理——Java17
疯狂的洛必达
javapython前端linux开发语言
highlight:xcodetheme:vuepress概述JDK16刚发布半年(2021/03/16),JDK17又如期而至(2021/09/14),这个时间点特殊,蹭苹果发布会的热度?记得当年JDK15的发布也是同天。Oracle宣布,从JDK17开始,后面的JDK都全部免费提供!!!JDK17是自2018年JDK11后的第二个长期支持版本,支持到2029年9月,支持时间长达8年,这下可以不
- java生成二维码并与另一张图片合成,添加文字水印
DN金猿
springboot组件专题eureka蓝桥杯elementui
效果图1.引入pomcom.google.zxingcore3.3.3com.google.zxingjavase3.3.32.工具类importcom.google.zxing.BarcodeFormat;importcom.google.zxing.EncodeHintType;importcom.google.zxing.MultiFormatWriter;importco
- Java-生成二维码带多行文字-支持自动换行-支持tab缩进效果-支持高度自适应
江节胜-胜行全栈AI
Javajava
最新版本更新https://code.jiangjiesheng.cn/article/3521.样式1:2.1效果图:忽略红色,最外层的红色只是方便展示当前图片的宽高2.2代码packagecn.jiangjiesheng.utils;importcom.google.zxing.BarcodeFormat;importcom.google.zxing.EncodeHintType;import
- mongodb基本操作指令
王老实
mongodb
此文档基于mongodb4.4版本,记录一些mongodb的基本指令1.连接mongodb命令mongo--host192.168.0.10:27017--usernameroot--password1234mydb2.创建数据库命令(如果不存在会创建一个新的,存在会直接使用该数据库)usemydb13.创建用户命令db.createUser({user:"newusername",pwd:"ne
- swagger-01-swagger介绍
褚师子书
swaggerjavaspringbootrestful
swagger1.学习目标:了解前后端分离了解Swagger的作用和概念在SpringBoot中集成Swagger1.1swagger由来前后端分离,当前流行的开发模式Vue+SpringBoot早先的后端时代:前端只用管理静态页面;后端将html用模板引擎JSP进行开发前后端分离式时代:后端:后端控制层,服务层,数据访问层【后端团队】前端:前端控制层,视图层【前端团队】mock后端数据json,
- 基于websocket搭建聊天室
不懂代码的孩子
SpringBootlcVuewebsocket网络协议网络
基于websocket搭建聊天室1.后端配置1.依赖一个web一个websocketorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-websocket2.configimportorg.springframework.context.annotation.Bean;
- 深入理解 Python 中的 copy 与 deepcopy 的使用
web安全工具库
python开发语言
各类资料学习下载合集https://pan.quark.cn/s/8c91ccb5a474在Python中,数据的复制是一个重要的操作,尤其是在处理复杂数据结构(如列表、字典、集合等)时。copy和deepcopy是Python标准库copy模块提供的两种复制方法。它们之间有着明显的区别,理解这些区别对于避免潜在的错误和数据问题至关重要。本文将详细介绍copy和deepcopy的用法,包括代码示例
- 就在刚刚!马斯克决定将“地球上最聪明的人工智能”Grok-3免费了!
源代码杀手
AI技术快讯人工智能python
Grok-3概述与关键功能Grok-3是由xAI开发的先进AI模型,于2025年2月19日发布,旨在提升推理能力、计算能力和适应性,特别适用于数学、科学和编程问题。作为xAI系列模型的最新版本,Grok-3延续了公司对构建强大且安全的AI系统的承诺,并推动人工智能在多个领域的应用。Grok-3的核心优势在于其大规模强化学习(RL)优化,能够在几秒到几分钟内进行深度推理,适应复杂任务的需求。配备的D
- JDK17新特性
yiyi5656
java开发语言
一、语法层面新特性1、文本块文本块指多行的字符串,使用连续的三个双引号来包围一段带换行的文字,它避免了换行转义的需要,并支持String.format。同时添加了两个新的转义字符::,置于行尾,用来将两行连接为一行\s:单个空白字符2、Switch表达式增强支持表达式,增加yield关键字,跳出switch并返回结果3、instanceof的模式匹配4、var局部变量推导二、模块化及类封装1、记录
- 没有最好的,只有最合适的:重新认识测试工具的价值
测试者家园
软件测试测试开发和测试质量效能测试工具软件测试人工智能智能化测试自动化测试自主化测试
用ChatGPT做软件测试在软件测试领域,关于“测试工具是否有好坏之分”的问题常常引发热议。一方面,经验丰富的测试专家通常有自己偏爱的工具和方法,另一方面,新手常困惑于琳琅满目的测试工具库,渴望寻找“最好”的工具。然而,测试工具真的有绝对的好坏之分吗?本文将从多维度剖析这个问题,旨在帮助读者开阔视野,重新思考测试工具的选择与价值。一、工具好坏的判断标准:适用性胜于绝对性1.1目标导向性:工具的价值
- linux下postgresql的连接数查看及管理
tiguer
数据库sql
1.查询当前连接数:selectcount(*)frompg_stat_activity;2.查询最大连接数showmax_connections;3.修改最大连接数SHOWconfig_file:查看postgresql.conf配置文件位置然后修改配置文件中max_connections=10244.重启服务servicepostgresqlrestart或者:pg_ctlrestart连接数
- Adobe InCopy[IC2024]文本编辑软件下载安装与使用(附win/mac安装包)
sdbaerhz
htmlcss前端adobemacoswindows
安装包https://pan.baidu.com/s/1CfATbRzYK6nh4e2qzo0mXw?pwd=faf3一、功能介绍1.1文本编辑功能AdobeInCopy提供强大的文本编辑功能,使用户可以方便地进行文本排版、格式调整和样式应用。它支持基本的文字处理功能,如拼写检查、查找与替换、段落和字符样式的创建与应用,帮助编辑在工作中保持内容的一致性和专业性。用户还可以通过使用文本框和文本流,来
- 在 JavaScript 中,可以通过以下几种方式判断函数是否是通过 new 关键字调用的
斯~内克
javaScriptjavascript开发语言ecmascript
在JavaScript中,可以通过以下几种方式判断函数是否是通过new关键字调用的:方法1:使用new.target(ES6+推荐)functionMyClass(){if(new.target===MyClass){console.log('通过new调用');}else{console.log('未通过new调用');}}//测试newMyClass();//输出"通过new调用"MyClas
- 常用的快捷键
笔落惊风雨。。。
QQ截屏:crtl+alt+a录屏:crtl+alt+sword删除光标后面的字:ctrl+delete控制面板快捷键:Win键+R+输入control+enter任务管理器快捷键:ctrl+shift+esc截屏快捷键:Ctrl+Alt+x调节音量:fn+f10/f11/f12word删除表格内容:选中要删除的单元格内容,按:“delete”键即可vs2013ctrl+f/h:查找/替换ctrl
- 青少年编程与数学 02-010 C++程序设计基础 32课题、多重继承
明月看潮生
编程与数学第02阶段青少年编程c++编程与数学开发语言
青少年编程与数学02-010C++程序设计基础32课题、多重继承一、多重继承二、应用场景三、应用示例1.图形用户界面(GUI)库中的多重继承**基类定义****多重继承的派生类****使用示例**2.游戏开发中的多重继承**基类定义****多重继承的派生类****使用示例**课题摘要:本文深入探讨了C++中的多重继承特性。多重继承允许一个类继承多个基类,其语法为classDerivedClassN
- UI自动化:Python + Selenium4.6+版本 环境搭建
双子测试
自动化python
以下是Python+Selenium4.12+环境搭建的详细步骤(无需手动下载浏览器驱动,利用SeleniumManager自动管理驱动):1.安装Python1.1下载并安装Python官网下载地址:DownloadPython|Python.org安装时勾选AddPythontoPATH(自动配置环境变量)。1.2验证Python安装bash复制python--version#输出Python
- springboot生成二维码在word文档,并下载到本地
尼古拉骚
springboot+IO流javaspringjavascript
springboot生成二维码在word文档,并下载到本地分为两部分演示,第一部分简单的生成word文档并保存到本地;第二部分生成二维码在word文档,并保存到本地。第一部分首先引入word的依赖资源com.lowagieitext2.1.7com.lowagieitext-rtf2.1.7com.itextpdfitext-asian5.2.0创建Word,并且写入IO流中,前端获取文件流才能保
- JDK 17 和JDK 8 相比增加了哪些新特性
阿好程序
Java基础篇javajvm开发语言
JDK17新特性JDK17和JDK8相比增加了哪些新特性文章目录JDK17新特性前言一、JDK17的新特性有哪些?二、新特性Java代码演示1.Sealedclasses2.Patternmatchingforinstanceof3Records4Textblocks5Switchexpressions6StrongencapsulationofJDKinternals7Foreignfuncti
- DAHSF: An Algorithm for Sequence Parsing for Specific Scenarios and Lightweight Deployment
AI是这个时代的魔法
新程序员魔法魔法传奇人工智能自然语言处理算法数据结构人机交互
FullPaperhttps://alphaxiv.org/pdf/2412.14054ProjectLinkhttps://blog.csdn.net/m0_62984100/article/details/140054725Githubhttps://github.com/Magic-Abracadabra/DAHSF/blob/main/DAHSF.pdfDigestionAlgorithm
- TouchGFX之图像
Stone_lu。
STM32arm开发
touchgfx提供的几种图像控件1.Image(图像)TouchGFX中的图像会绘制关联图像文件中的像素数据。使用图像文件前,必须将其导入到项目中。图像大小是由关联的图像文件定义的,不能在运行时改动。如果需要将图像显示为不同大小,需要调整关联的导入图像的大小。这一要求是出于性能原因。图像位于TouchGFXDesigner中的图像控件组中。
- 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