- php 常用bc函数
任性不起来了
phpbc函数
bcadd—加法,2个任意精度数字的加法计算bcsub—减法bcmul—乘法bcdiv—除法bcpow—乘方bcmod—取模bcsqrt—求二次方根bccomp—比较两个任意精度的数字,返回一个整数的结果:若两数相等返回0,左数大返回1,否则返回-1bcpowmod—求高精度数字乘方求模,数论里非常常用bcscale—设置所有bc数学函数的默认小数点保留位数—比较两个高精度数字,返回-1,0,1
- PHP 的运行模式到底是干什么的?使用场景是什么?底层原理是什么?
快点好好学习吧
PHPphpandroid开发语言
1.PHP的运行模式到底是什么?1.1简单解释PHP的运行模式是指PHP脚本在服务器上执行的方式。不同的运行模式适用于不同的场景,决定了PHP如何与Web服务器交互。1.2常见的PHP运行模式CGI模式:PHP作为独立的CGI程序运行,每次请求都会启动一个新的进程。FastCGI模式:使用FastCGI协议,PHP-FPM(FastCGIProcessManager)管理多个PHP进程,提高性能。
- PHP之Cookie和Session
0白露
PHPphp开发语言
在你有别的编程语言的基础下,你想学习PHP,可能要了解的一些关于cookie和session的信息。Cookie参数信息setcookie(name,value,expire,path,domain);name:Cookie的名称。value:Cookie的值。expire:Cookie的过期时间,可以是一个Unix时间戳(例如:time0)+3600表示一小时后过期),或者是一个具体的日期时间字
- php网站建设实训引言_网站建设实训心得体会
weixin_39571179
php网站建设实训引言
网站建设实训心得体会在这两周的网站建设实训过程中,我练习掌握了很多关于网站建设的知识和技巧。因为这是我比较感兴趣的课程,所以对于所学的知识非常珍惜,也很欣慰,因为学到了很多对以后工作和生活很有帮助的知识。我们这一小组做的主要内容为建设一个网上商店的网站,网上商店的名称是“衣之谷”。主要内容包括网站主页、商品分类、新品推荐、购物帮助和客户服务。而我负责客户服务的网页制作。在整个实训过程中,难免会遇到
- 使用PHP对接StockTV全球金融市场数据API实战指南
CryptoRzz
php开发语言
关键词:PHPAPI开发、金融市场数据、WebSocket实时数据、cURL实战一、项目概述StockTV作为全球领先的金融数据平台,提供覆盖股票、外汇、期货和加密货币的实时行情服务。本文将手把手教你使用PHP实现以下核心功能:✅RESTAPI调用:获取历史行情数据✅WebSocket订阅:实时价格推送✅生产级特性:异常重试、速率控制、数据缓存✅高性能优化:连接池、异步处理二、环境准备1.运行环境
- 【网络安全】测试文件上传漏洞的 5 种高级方法
秋说
web安全文件上传漏洞挖掘
未经许可,不得转载。文章目录正文01、PHPdisabled_functions02、通过文件上传进行路径遍历03、更改目录配置04、上传存储型XSS和XXE负载04-104-204-305、ZIPSlip正文本文将介绍不太传统的文件上传漏洞。01、PHPdisabled_functions很多时候,我们将一些PHP文件上传到目标应用程序,但却无法使用它们。原因通常是因为.ini文件中的PHP功能
- PHP反序列化漏洞POP链详解 - Yii框架案例分析 (②)
恩师小迪
android前端javascript
POP链的第二条路:从Faker\Generator开始现在,让我们一步步解析这条攻击链。我们将从Faker\Generator类的__call魔术方法开始,追踪到最终执行危险函数的地方。第一步:触发__call魔术方法在PHP中,当你尝试调用一个对象中不存在的方法时,如果该对象定义了__call魔术方法,PHP会自动调用它。假设我们有一个Faker\Generator对象:$generator=
- Docker部署CRMEB开源版本实战
HOOLOO
docker开源容器CRMEB
Crmeb商城系统开源版目前版本在5.4.0,本文以此版本为基础实现docker部署。crmeb开源版本对系统的要求如下:运行环境要求操作系统Linux/WindowsWEB服务Nginx/Apache/IISPHP版本PHP7.1~7.4数据库MySQL5.7~8.0(引擎:InnoDB)缓存Redis(可选,不安装则使用文件缓存)管理器Supervisor(用于管理消息队列)推荐工具宝塔面板(
- MySQL 教程(超详细,零基础可学、第一篇)
AA-老高(接毕设)
开发资料mysql数据库
目录一、MySQL数据库概述二、MySQL连接1、使用MySQL二进制方式连接2、使用PHP脚本连接MySQL三、MySQL创建数据库1、使用mysqladmin创建数据库2、使用PHP脚本创建数据库四、MySQL删除数据库1、使用mysqladmin删除数据库2、使用PHP脚本删除数据库五、MySQL选择数据库1、从命令提示窗口中选择MySQL数据库2、使用PHP脚本选择MySQL数据库六、My
- 踩坑记录-用python解析php Laravel8生成的jwt token一直提示 Invalid audience
陈钇谷
pythonphpandroid
importjwtdeftoken_required(token):withopen('storage/oauth-public.key','r')asf:public_key=f.read()try:#尝试使用当前算法解码token,同时指定受众decoded=jwt.decode(token,public_key,algorithms=['RS256'],options={"verify_au
- 利用PHP爬虫按关键字搜索1688商品:实战指南
小爬虫程序猿
php爬虫开发语言
在电商领域,快速获取商品数据对于市场分析、选品决策和竞争情报收集至关重要。1688作为国内领先的B2B电商平台,提供了丰富的商品信息。通过PHP爬虫技术,我们可以高效地按关键字搜索商品,并获取其详情数据,为商业决策提供有力支持。一、环境准备(一)PHP开发环境确保你的服务器上安装了PHP环境,并且启用了cURL扩展,用于发送HTTP请求。(二)安装必要的库安装GuzzleHttp库,用于发送HTT
- thinkphp 微信商家转账功能(小程序)
小花小草小绿
微信小程序
首选需要给微信商户的运营账户充钱,保证账户有钱首选需要给微信商户的运营账户充钱,保证账户有钱首选需要给微信商户的运营账户充钱,保证账户有钱protected$mch_id='16xxx';//商户号protected$appid='wxxxx';//商户号Appidprotected$cert_pem='/www/wwwroot/xxxx/public/cert/apiclient_cert_10
- Swift语言的Web开发
邵晨熙
包罗万象golang开发语言后端
Swift语言的Web开发引言随着移动互联网的快速发展,Web开发的需求日益增长。传统上,Web开发主要使用JavaScript、Python、PHP等语言,但近年来,Swift作为一种新兴语言,也逐渐进入了Web开发的视野。Swift最初由苹果公司推出,主要用于iOS和macOS的应用开发。随着它的开源化,Swift逐步被应用于服务器端开发,形成了一种新的Web开发趋势。在本文中,我们将深入探讨
- phpcms v9文件上传漏洞复现
熬夜且瞌睡
网络php开发语言
1.压缩包文件无递归删除$file=$_FILES['file'];#检查文件是否为空文件if(!$file){exit("请勿上传空文件");}$name=$file['name'];$dir='upload/';$ext=strtolower(substr(strrchr($name,'.'),1));functioncheck_dir($dir)#检查文件格式{$handle=opendir
- 2025校园私域攻略开源PHP源码分享/校园生活系统/校园服务平台/智慧校园程序
越来越多的人开始做校园表白墙,朋友圈影响力下降,校园小程序校园社区崛起。今年大家可以明显感觉到做校园社区的人更多了,一方面是做教学助教的,再不断地招学员,一方面各家社区、平台也有自己的加盟。导致本来小众的校园私域市场变得热闹起来了,目前各大社区平台累积加盟的校园数量已经有4000-5000家了,带来了更多的连锁反应,很多去年有用的方法现在都不管用了。比如某音某书,其他人也可以做甚至做的更加精致,开
- 零基础学习HTML(8)——pre标签、code标签
Dragon水魅
零基础学习Web开发html
文章目录官方资料学习正文注:学习笔记基于小甲鱼学习视频,官方论坛:https://fishc.com.cn/forum.php官方资料鱼C课程案例库:https://ilovefishc.com/html5/html5速查手册:https://man.ilovefishc.com/html5/css速查手册:https://man.ilovefishc.com/css3/学习正文pre标签:htt
- Go与PHP性能对比分析
大0马浓
golangphp开发语言
以下是Go1.22版本和PHP8.3版本+Swoole的性能对比一、核心性能指标对比指标Go(1.22版本)PHP(8.3版本+Swoole)差距倍数单请求响应时间0.8ms(JSON序列化)2.5ms(Swoole协程模式)3.1倍并发吞吐量18万QPS(4核8G)5.2万QPS(Swoole+OPcache)3.5倍内存占用50MB/协程(百万级并发)180MB/进程(协程池模
- 模板注入漏洞(SSTI)学习笔记
栀寒老醑
学习笔记网络安全安全web安全系统安全安全架构
模板注入漏洞(SSTI)学习笔记1.模板注入简介什么是模板引擎?模板引擎用于将动态数据渲染到静态页面(如HTML)。例如,Jinja2(Python)、Twig(PHP)等。示例:#Flask中使用Jinja2渲染模板fromflaskimportrender_template@app.route('/')defindex():user_input=request.args.get('name')
- 【2025年春季】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!
白帽子凯哥
web安全学习安全CTF夺旗赛网络安全
基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、SQL注入(7-8天)2、文件上传(7-8天)3、其他漏洞(14-15
- AJAX与PHP数据交互的精细指南
t0_54coder
ajaxphp交互个人开发
在当今的Web开发中,AJAX(AsynchronousJavaScriptandXML)与PHP的结合使用非常普遍,用于实现无刷新页面更新或后台数据处理等功能。今天,我们将通过一个实例,详细讲解如何使用AJAX与PHP进行数据交互,并解决常见的问题。实例背景假设我们有一个用户注册表单,当用户提交表单时,我们需要将数据插入到MySQL数据库中,同时在前端实时显示插入是否成功。前端代码首先,我们在H
- LFI to RCE:通过phpinfo()页面与日志文件实现远程代码执行(RCE)
vortex5
安全网络安全CTFphp渗透测试
在PHP应用的某些漏洞场景中,攻击者不仅能通过包含日志文件来实现远程代码执行(RCE),还可以通过包含phpinfo()页面来进行RCE。这两种方式有着不同的利用原理和流程,但都能实现代码执行。今天,我们将深入探讨这两种攻击方式的原理与利用方法。攻击原理概述LFI(LocalFileInclusion,本地文件包含)攻击允许攻击者通过输入文件路径来读取本地文件。在某些情况下,如果攻击者能够包含并执
- 代码贴——堆(二叉树)数据结构
头发尚存的猿小二
代码帖数据结构数据结构android
头文件Heap.h#pragmaonce#includetypedefintHPDataType;typedefstructHeap{HPDataType*a;intsize;intcapacity;}HP;voidHPInit(HP*php);voidHPDestory(HP*php);//出入后保持数据是堆voidHPPush(HP*php,HPDataTypex);HPDataTypeHPT
- php-tp5-fastadmin开发H5页面,以微信公众号授权,进行JSAPI支付流程
bilichen006
小例子phpfastadmintp5公众号支付JSAPI
技术要点(具体开发代码,在(公正年报H5)中实现1、申请好公众号,获取AppID(公众号ID)AppSecret(公众号密钥)2、申请微信支付账户,获取(商户号)和(密钥)3、在微信支付账户中绑定公众号,然后在公众号中同意授权绑定,使两者产生关联代码实现一、h5页面,调用方法获取codepublicfunctiongetGzhCode(){$appid='xxx';//公众号appid$redir
- Composer install 报错
要加油呀
问题整理composerphp
Composerinstall报错项目构建命令:composerinstall--no-dev--no-interaction-o--ignore-platform-reqs构建输出:没有错误,陷入死循环>Illuminate\Foundation\ComposerScripts::postAutoloadDump>@phpartisanpackage:discover--ansiDiscover
- phpstorm重复试用
Sword-Holy
PHPStorm试用期重置清理缓存注册表开发者指南
phpstorm重复试用1.关闭软件(建议先导出设置配置,操作会重置配置)2.删除文件(一般AppData会被隐藏,需要通过查看选项里面打开查看隐藏文件,不懂自行百度)删除目录C:\Users\用户名\AppData\Roaming\JetBrains\PhpStorm2020.2\eval删除文件C:\Users\用户名\AppData\Roaming\JetBrains\PhpStorm202
- 解决Composer依赖报错问题的方法
代码之旅
composerphp
在进行PHP项目开发过程中,我们经常会使用Composer来管理项目的依赖关系。然而,有时候在执行composerinstall或composerupdate命令时可能会遇到一些报错。本文将介绍一些常见的Composer依赖报错问题,并提供相应的解决方案。问题:依赖冲突错误错误信息示例:Yourrequirementscouldnotberesolvedtoaninstallablesetofpa
- Composer的报错及解决办法
代码之旅
composerandroidandroidstudio
Composer是一个用于管理PHP项目依赖关系的工具,它使得项目的依赖包安装、更新和管理变得简单和高效。然而,在使用Composer的过程中,有时候会遇到一些报错。本文将介绍一些常见的Composer报错,并提供相应的解决办法。“Yourrequirementscouldnotberesolvedtoaninstallablesetofpackages.”这个错误通常发生在安装或更新依赖包时,表
- composer install 中出现用户名密码错误问题的解决方法
kge888
laravelcomposergitgitcomposerlaravel
问题背景:laravel项目新从git上拉取下来,初次进行composer重构,在执行composerinstall的时候,执行中断报如下错误:[RuntimeException]Failedtoexecutegitclone--no-checkout"git@git.xxx.com:xx/api-client.git""C:\phpStudy\PHPTutorial\WWW\xxx\vendor
- linux-运维进阶-28 LNMP动态网站架构
IT@feng
Linux-运维进阶LNMPlinux
linux-运维进阶-28LNMP动态网站架构LNMP动态网站架构LNMP动态网站部署架构是一套由Linux+Nginx+MySQL+PHP组成的动态网站系统解决方案。LNMP中的字母L是Linux系统的意思,不仅可以是RHEL、CentOS、Fedora,还可以是Debian、Ubuntu等系统开发环境的部署在使用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境,他需要具备C语言、
- centos7中LNMP架构部署
m0_45318174
linux
一.环境规划IP角色192.168.19.152PHP脚本程序解析192.168.19.20Web服务器192.168.19.153数据库节点系统采用:[root@nebulalinux~]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)软件版本:nginx:nginx/1.15.0php:PHP7.4.8mysql:8.0.16处理防
- 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