- Oracle 中的 JOB
Oracle中的JOB是一种用于自动化执行特定任务的机制,它允许你在指定的时间间隔或特定时间点执行SQL语句或PL/SQL块。以下是关于OracleJOB的详细讲解:1.JOB的基本概念OracleJOB是数据库中调度任务的一种方式,类似于操作系统的定时任务(如Linux的cron或Windows的任务计划程序)。通过JOB,你可以:在指定时间点执行一次性任务。按固定间隔(如每天、每周)重复执行任
- Nmon:Linux和AIX系统性能监控与压力测试指南
狗雄
本文还有配套的精品资源,点击获取简介:Nmon是一款适用于Linux和IBMAIX系统的强大性能监控工具,能够实时监控CPU、内存、磁盘I/O、网络流量等关键指标。它支持压力测试、故障排查、容量规划和报告生成,提供定制化的性能监控与数据导出功能。在AIX系统上,Nmon有助于监测CPU利用率、内存管理、磁盘性能和网络活动。本指南详细介绍了nmon的用途、功能特性、版本特定文件和使用步骤,为系统管理
- 关于系统无法找到 arm-linux-gcc 命令,这表明你的环境中尚未安装 ARM 交叉编译工具链。以下是详细的解决方案:(DIY机器人工房)
DIY机器人工房
软件问题解决方法大全arm开发linux运维交叉编译嵌入式
1.错误原因分析错误信息:无法将“arm-linux-gcc”项识别为cmdlet/函数/程序这说明Windows或Cygwin环境中没有安装ARM交叉编译工具,或者工具路径未添加到系统PATH中。当前环境:你之前使用的是Cygwin环境下的x86_64架构GCC(用于编译x86程序),而arm-linux-gcc是专门用于编译ARM架构程序的工具链,需要额外安装。2.解决方案:安装ARM交叉编译
- linux操作系统----nginx平滑升级
Insist753
linuxnginx运维
目录1Nginx平滑升级原理2Nginx信号2.1主进程支持的信号2.2工作进程支持的信号3平滑升级实战3.1Nginx添加新模块1Nginx平滑升级原理在不停掉老进程的情况下,启动新进程。老进程负责处理仍然没有处理完的请求,但不再接受处理请求。新进程接受新请求。老进程处理完所有请求,关闭所有连接后,停止。2Nginx信号2.1主进程支持的信号TERM,INT:立刻退出;QUIT:等待工作进程结束
- 怎么限制某些IP访问服务器?
莱卡云(Lcayun)
tcp/ip服务器网络协议云计算linux
您可以通过多种方式限制特定IP地址访问您的服务器,以下是几种常见的方法:1.使用防火墙限制IP访问Linux系统(iptables)#阻止单个IPiptables-AINPUT-s192.168.1.100-jDROP#阻止IP段iptables-AINPUT-s192.168.1.0/24-jDROP#允许特定IP访问SSH(22端口)iptables-AINPUT-s203.0.113.5-p
- 服务器如何配置防火墙规则开放/关闭端口?
莱卡云(Lcayun)
服务器云计算linux安全
配置服务器防火墙规则(开放/关闭端口)是服务器安全管理的基础操作,不同操作系统和防火墙工具的配置方式有所不同。以下是主流系统的详细操作指南:一、Linux系统(iptables/firewalld/UFW)1.iptables(传统方式)#查看当前规则sudoiptables-L-n#开放端口(如80/TCP)sudoiptables-AINPUT-ptcp--dport80-jACCEPT#关闭
- ubuntu2404命令备忘录
Eva215665
gitcode
ubuntu基础概念什么是BashShellBashShell(全称Bourne-AgainSHell)是Linux和macOS等类Unix系统中最常用的命令行解释器,也是Ubuntu的默认Shell。它既是用户与操作系统内核交互的“翻译官”,也是一种强大的脚本编程语言。用户输入文本命令(如ls、cd)→Bash解析并执行→调用系统内核功能(如文件操作、进程管理)→返回结果到终端。
- Docker 网络中 `iptables` 与 Linux Namespace 行为详解:原理、链路与实战排查路径
观熵
Dockerdocker网络linux
Docker网络中iptables与LinuxNamespace行为详解:原理、链路与实战排查路径关键词:Docker网络、iptables、LinuxNamespace、容器隔离、NAT转发、网络命名空间、网络排查、veth、Bridge、POSTROUTING、FORWARD链、容器网络调试摘要:在Docker网络体系中,iptables与LinuxNamespace是实现容器间隔离、地址转换
- 【ubuntu】如何构建自己的ubuntu内核
1.准备环境sudoaptupdatesudoaptinstallbuild-essentialfakerootdpkg-devkernel-packagelibncurses-devbisonflexlibssl-devlibelf-dev2.下载内核源码确认源码包,下载源码包。dpkg-S/boot/vmlinuz-$(uname-r)linux-image-5.15.0-46-generic
- Linux安装Python失败常见缺失依赖项
xcosy
Pythonpython
1._ctypes模块构建失败buildcorrectlybutfinishedwiththismessage:Failedtobuildthesemodules:_ctypes解决AreyouusingUbuntuorotherLinuxdistribution?Thisproblemisbecauseyoudidn’tinstallthedependencypackage.Youmayfirs
- FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
gegey
ffmpeg笔记音视频
合集-FFmpeg开发实战(53)1.FFmpeg开发笔记(一)搭建Linux系统的开发环境2023-04-162.FFmpeg开发笔记(二)搭建Windows系统的开发环境2023-04-293.FFmpeg开发笔记(三)FFmpeg的可执行程序介绍03-094.FFmpeg开发笔记(四)FFmpeg的动态链接库介绍03-105.FFmpeg开发笔记(五)更新MSYS的密钥环03-166.FFm
- Linux多线程—生产者消费者模型
生产者消费者模型用于解决生产者和消费者之间的同步问题。通过创建多个线程作为生产者和消费者,生产者消费者模型利用线程间的同步机制(如互斥锁、条件变量、信号量等)来实现生产者和消费者之间的协作和数据共享。本篇采用信号量+BlockQueue来实现生产者消费者模型。本文用到的一些接口(线程创建、线程等待...)请点击这个链接查看:多线程编程——Linux操作系统-CSDN博客目录文章目录一、生产者消费者
- Linux多线程(十五)之【封装原生线程】
好名字更能让你们记住我
linux运维服务器jvmcentosc++ubuntu
文章目录封装原生线程封装原生线程Thread.hpp#pragmaonce#include#include#include#include#includeusingnamespacestd;typedefvoid(*callback_t)();staticintnum=1;classThread{public:staticvoid*Routine(void*args){Thread*t=stati
- Linux 宝塔mysql莫名其妙数据库不见了恢复数据库
起因:宝塔安装的mysql线上运行突然表包括库都不见了,想办法恢复数据库登陆mysqlcd/www/server/mysql/binmysql-uroot-p查看binlog日志是否打开showvariableslike'log_%';log_bin如果为ON则为开启状态,如果开启了才可以进行下一步操作查看下binlog日志列表binlog日志文件目录在/www/server/data目录下sho
- mysql启动报错:Can‘t connect to local MySQL server through socket
五月天的尾巴
数据库mysql报错
文章目录一、报错内容二、解决方法一、报错内容在linux上启动mysql时报错[root@localhostbin]#./mysql-uroot-pEnterpassword:ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/tmp/mysql.sock'(2)执行以上命令后报错,并且也没有找到/tmp/mysql.sock
- 爬虫系统异常监控并邮件通知源码
q56731523
爬虫golang开发语言python
前面两篇讲了有关爬虫系统的搭建以及爬虫中需要的代理ip池的搭建的全过程,接下来我将写一个爬虫系统以及代理ip池异常监控的程序,主要功能就是监控是否发生异常,及时通过邮件提醒管理员排查故障,这样整体的一套流程就全部清晰了,能够完美适配任何项目。在Linux系统上监控爬虫运行状态并实现异常邮件通知,可以通过以下方案实现:一、监控爬虫运行状态的核心方法1、进程存活监控#检查爬虫进程是否存在pgrep-f
- Python实例题:基于 Python 的简单文件管理器
狐凄
实例python开发语言
目录Python实例题题目要求:解题思路:代码实现:Python实例题题目基于Python的简单文件管理器要求:使用Python构建一个简单的文件管理器,支持以下功能:浏览文件和文件夹创建、删除和重命名文件/文件夹复制、移动和压缩文件/文件夹搜索文件和文件夹查看文件属性和预览文本文件使用tkinter构建图形用户界面。支持多平台(Windows、Linux、macOS)。解题思路:使用tkinte
- Linux内核套接字诊断框架:sock_diag.c深度解析
109702008
编程#C语言网络linux人工智能网络
在内核网络子系统中,sock_diag.c是支撑ss、netstat等工具的核心模块,它通过统一框架实现了跨协议族的套接字诊断功能。本文将深入剖析其设计思想与实现细节。一、框架概述:解耦协议与诊断sock_diag的核心是协议族处理程序注册机制。不同协议族(如AF_INET、AF_INET6)通过注册sock_diag_handler结构体实现定制化诊断:structsock_diag_handl
- Chatbox使用指南
想知道哇
大语言模型人工智能语言模型
Chatbox使用与API配置指南目录Chatbox简介安装与设置基本使用API配置使用进阶功能常见问题与解决方案最佳实践与技巧1.Chatbox简介Chatbox是一款开源的ChatGPT/API桌面应用程序,支持Windows、Mac和Linux。它允许用户通过友好的界面与各种大型语言模型进行交互,包括:OpenAI的ChatGPT、GPT-4等模型Anthropic的Claude系列模型Go
- Linux
Linux基础Linux基础防火墙命令iptables防火墙firewalld防火墙介绍selinux常用命令集锦文件目录命令查看文件及目录文件浏览文件操作文档编辑管道|grep命令磁盘命令备份压缩文件权限网络配置rpm包管理demoLinux基础防火墙命令注意:在centos6和centos7中,命令上的区别1.防火墙:6是iptables,7是firewalld2.启动服务的命令:6是serv
- 【Linux】电脑安装 Ubuntu 系统
如何安装Linux(Ubuntu)系统文章目录前言一、Ubuntu桌面镜像二、安装步骤1.下载iso镜像2.基于balenaEtcher写入镜像文件3.U盘启动安装总结前言多数情况下,我们通过虚拟机,如Vmware安装linux系统,但有时候为了更好的分配电脑的CPU或GPU性能,我们需要将电脑直接刷成linux系统。本篇介绍如何安装Ubuntu系统。一、Ubuntu桌面镜像Linux系统多数情况
- Coablt strike官方教程中文版
banacyo14206
java网络运维
安装和设置系统要求CobaltStrike的最低系统要求2GHz+以上的cpu2GBRAM500MB+可用空间在Amazon的EC2上,至少使用较高核数的CPU(c1.medium,1.7GB)实例主机。支持的操作系统以下系统支持CobaltStrikeTeamServer:KaliLinux2018.4-AMD64UbuntuLinux16.04,18.04-x86_64CobaltStrike
- 学习:JAVAEE_3 TomCat/HTTP协议/Servlet/三层架构综合案例和开发模式
明礼的代码管理中心
JAVAEE学习java-eetomcat
TomCatTomcat服务器是一个免费的开放源代码的Web应用服务器。下载地址:ApacheTomcat®-Welcome!tar.gz文件是linux操作系统下的安装版本exe文件是window操作系统下的安装版本zip文件是window操作系统下压缩版本/usr/local/apache-tomcat-8.5.78存放位置环境变量exportAPACHE_TOMCAT=/usr/local/
- 【Linux】宏内核与微内核:操作系统内核设计的两大派系
CodeWithMe
linuxlinuxarm开发运维
宏内核与微内核:操作系统内核设计的两大派系在操作系统(OS)的世界里,内核(Kernel)是最核心的部分,它负责管理硬件资源、进程调度、内存管理、设备驱动等关键任务。不同的操作系统内核设计理念主要分为两大类:宏内核(MonolithicKernel)和微内核(Microkernel)。这两者在架构设计、性能、安全性和扩展性上各有优劣,理解它们对于深入掌握操作系统设计至关重要。1.什么是内核?简单来
- 【Note】《深入理解Linux内核》Chapter 13 :深入理解 Linux 内核中的 I/O 架构与设备驱动
CodeWithMe
读书笔记linuxlinux架构运维
《深入理解Linux内核》Chapter13:深入理解Linux内核中的I/O架构与设备驱动关键词:I/O子系统、字符设备、块设备、VFS、设备驱动、file_operations、设备号、cdev、gendisk、驱动模型、模块加载、udev一、LinuxI/O架构总览1.1为什么需要抽象化的I/O架构?设备多样性(硬盘、串口、键盘、GPU);设备访问方式差异极大;用户空间程序期望统一的访问接口
- Redis重大版本整理(Redis2.6-Redis7.0)
m0_74824025
面试学习路线阿里巴巴redisjava数据库
Redis借鉴了Linux操做系统对于版本号的命名规则:node版本号第二位若是是奇数,则为非稳定版本(例如2.7、2.9、3.1),若是是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本,因此咱们在生产环境一般选取偶数版本的Redis。下面是重大版本新功能的归纳:Redis7.0新增Function自定义函数
- Android系统框架详解
giaoho
安卓开发学习android
Android系统框架详解文章目录Android系统框架详解1.系统框架图2.Linux内核(LinuxKernel)3.Android程序库(Libraries)4.Android应用程序框架(ApplicationFramework)5.Android应用程序和小部件1.系统框架图Android系统从下至上分为4层:Linux内核、Android程序库及Android运行时、Android应用
- SSH 升级避坑指南:从依赖到配置的深度优化
超龄超能程序猿
linuxcentos
1.下载依赖并上传服务器本步骤旨在下载SSH升级所需的依赖包,并将其上传至服务器。通过yum命令,指定--downloadonly参数仅进行下载操作,--downloaddir参数设置下载路径为/ssh/install,执行以下命令:yuminstall--downloadonly--downloaddir=/ssh/installgccpam-devellibselinux-develzlib-
- ubuntu下使用串口
三、串口权限问题Linux串口是默认普通用户没有读写权限的,每次开机后对串口读写都要附加权限sudochmod666/dev/ttyUSB0但对于需要开机自动运行的程序就很麻烦了,所以可以设置永久加权打开下面的文件远程的话要把gedit换成vi或nano等。这个文件本来是不存在的,只不过编辑器打开不存在的文件会自动创建。70-usb-serial.rules文件名可以自定义,但必须以.rules结
- 一篇文章了解_docker
weixin_30729609
php测试python
(一)Docker介绍2018年10月6日星期六15:04什么就Docker?Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub上进行维护。Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux
- 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