- nvm安装linux
SmartManWind
chromejavascript前端
1、下载安装包nvm-0.40.1.tar.gz2、解压文件tar-vxfnvm-0.40.1.tar.gz-C~/.nvm3、配置环境vi~/.bashrcexportNVM_DIR="$HOME/.nvm/nvm-0.40.1"[-s"$NVM_DIR/nvm.sh"]&&\."$NVM_DIR/nvm.sh"#Thisloadsnvm[-s"$NVM_DIR/bash_completion"
- Linux解析/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow文件
菜菜的土豆哥
Linux运维linux运维服务器
/etc/passwd/etc/passwd文件是Linux系统中用于存储用户账户信息的文件。这个文件对系统中的所有用户都是可读的,因为它不存储密码,密码信息已经移动到了/etc/shadow文件中。示例username:x:1000:1000:UserName:/home/username:/bin/bash用户名:x:用户ID:组ID:用户姓名:/家目录/用户名:/bin/bashuserna
- cv2 要下载哪个包
ivanfor666
pythonpython
cv2是OpenCV库的一个常见别名,用于计算机视觉任务。要安装OpenCV,你可以使用以下命令:bashCopycodepipinstallopencv-python这将从PyPI上下载并安装OpenCV的Python包。请确保你已经安装了pip工具,并且在执行该命令时,你正在使用与你的项目相对应的Python版本。如果你需要安装OpenCV的额外模块,你可以通过类似的方式安装它们。例如,如果你
- linux用户管理
千航@abc
linux运维服务器
用户创建:useradd(用户创建命令的详细使用:用户创建命令的详细使用与参数说明-CSDN博客)用户信息配置文件:/etc/passwdabc:x:1000:1000:abc:/home/abc:/bin/bash第一段:用户名(设置你自己的用户名)第二段:密码占位符(就是字面上的意思,一个占位符,真正的密码在配置文件/etc/shadow里)第三段:UID(用户ID:是系统用来唯一标识一个用户
- 判断ip是否合法+linux,Shell脚本判断IP地址是否合法的方法
我是波波老师呐
判断ip是否合法+linux
使用shell校验ip地址合法性使用方法:[root@yangpython]#bashcheck_ip.ship地址执行结果:返回值0校验合法,非0不合法。shell代码:[root@yangpython]#vicheck_ip.sh#!/usr/bin/shcheckipaddr(){echo$1|grep"^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\
- X264编译SO库
启航风起时
服务器github运维
#!/bin/bashecho">>>>>>>>>编译x264android-v7a>>>>>>>开始编译>>>>>编译完成!<<<<<<"}build_android
- HBase-2.5.10 伪分布式环境搭建【Mac】
凡许真
hbase伪分布式zkmac
文章目录前言一、搭建单节点Zookeeper1.解压zookeeper2.配置环境变量3.修改配置文件4.启动zk二、搭建伪分布式Hbase1.解压hbase2.配置环境变量3.修改配置4.启动HBase前言搭建hbase伪分布式环境提示:以下是本篇文章正文内容,下面案例仅供参考一、搭建单节点Zookeeper1.解压zookeeper版本:3.8.02.配置环境变量vi~/.bash_profi
- Hadoop3.3.4伪分布式环境搭建
凡许真
分布式hadoop伪分布式hadoop3.3.4
文章目录前言一、准备1.下载Hadoop2.配置环境变量3.配置免密二、Hadoop配置1.hadoop-env.sh2.hdfs-site.xml3.core-site.xml4.mapred-site.xml5.yarn-site.xml三、格式化四、启动五、访问web页面前言hadoop学习——伪分布式环境——普通用户搭建一、准备1.下载Hadoop2.配置环境变量vi~/.bash_pro
- 基于JavaWeb的原色蛋糕商城的设计与实现
yh1340327157
计算机毕业设计实战案例java-eestrutskafkatomcathibernateintellij-ideaspring
开发环境开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器后台路径地址:localhost:8080/项目名称/admin/dist/index.html前台路径地址:localh
- JAVA毕业设计高校学生智慧党建系统设计与开发计算机源码+lw文档+系统+调试部署+数据库
瑞致网络
java开发语言
JAVA毕业设计高校学生智慧党建系统设计与开发计算机源码+lw文档+系统+调试部署+数据库JAVA毕业设计高校学生智慧党建系统设计与开发计算机源码+lw文档+系统+调试部署+数据库本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQ
- JAVA儿童教育系统计算机毕业设计Mybatis+系统+数据库+调试部署
七七科技
数据库javamybatis
JAVA儿童教育系统计算机毕业设计Mybatis+系统+数据库+调试部署JAVA儿童教育系统计算机毕业设计Mybatis+系统+数据库+调试部署本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5.7/8.0源码地址:https
- 【hexo更新博客的步骤+部署到github】
水文摸鱼怪
github笔记
hexo更新博客的步骤+部署到githubhexo更新博客的步骤1、新建博客文章2、编辑博客(一般使用markdown的语法编辑器,txt文本应该也可编辑)3、网站部署和同步更新补充昨天晚上想更新一下自己的网站,结果有点忘记如何操作了,今天整理一下更新步骤,方便之后参考。hexo更新博客的步骤1、新建博客文章在【X盘的…\hexo\blog】文件夹下右键,选择BGH(GitBashHere),输入
- ubuntu20.04安装mujoco和mujoco_py
tangyubbb?
ubuntulinux人工智能
一.安装mujoco参考链接1.官网下载mujoco210文件https://github.com/deepmind/mujoco/releases/tag/2.1.02.将下载的文件解压到指定目录~/.mujoco下mkdir~/.mujocotar-zxvfmujoco210-linux-x86_64.tar.gz-C~/.mujoco3.配置.bashrc环境文件,在文档最后一行加入下面代码
- 用Github+hexo搭个人博客遇到的坑
hamster2021
githubnpmnode.jsgit
我搭博客看的是知乎上这个教程:从零开始搭建个人博客(超详细)-知乎(zhihu.com)当我按教程第5篇在Blog文件夹里用gitbash输入以下命令时:npminstallhexo-deployer-git--save报出了以下错误:npmERR!codeEPERMnpmERR!syscallopennpmERR!pathD:\nodejs\node_cache\_cacache\tmp\5c2
- 【elasticsearch】tasks 查看任务
infiniteWei
elasticsearchelasticsearch搜索引擎
模糊匹配GET/_tasks?detailed=true&actions=*reindex例如,返回:节点信息(nodes)&任务信息(tasks)某个任务正在执行一个跨集群的reindex操作,数据从远程集群的source_index索引复制到本地集群的destination_index索引"nodes":{"tmKI6JpWRe2tEezmK_NCZA":{#节点id"name":"fdd16
- 【elasticsearch】reindex 操作将索引的数据复制到另一个索引
infiniteWei
elasticsearchelasticsearch搜索引擎
在Elasticsearch中,reindex操作用于将一个索引的数据复制到另一个索引。常用的reindex命令有很多细节,下面是一些常见用法和命令详解:基本命令基础Reindex命令POST/_reindex{"source":{"index":"source_index"},"dest":{"index":"destination_index"}}source:需要复制数据的源索引。dest:
- 在Linux上启动elasticsearch报错
大连好光景
linuxelasticsearchjenkins
[
[email protected]]#bin/elasticsearchfutureversionsofElasticsearchwillrequireJava11;yourJavaversionfrom[/opt/apps/jdk1.8.0_321/jre]doesnotmeetthisrequirementfutureversionsofElasticsearchw
- 【高级篇】第7章 Elasticsearch 索引生命周期管理(ILM)
JAVA和人工智能
elasticsearch大数据搜索引擎
引言在大数据时代,有效地管理数据的生命周期是确保系统性能、成本控制和合规性的关键。Elasticsearch的索引生命周期管理(ILM)为此提供了强大的解决方案。本章将深入探讨ILM的概念、策略设计与实施、以及监控与维护的实践,帮助读者掌握这一重要领域的精髓。7.1ILM概念:数据管理的智慧策略索引生命周期管理(ILM)是Elasticsearch中的一项高级功能,它代表了一种前瞻性的数据管理哲学
- java毕业设计校园共享单车管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
好好吃肉
mybatismysql数据库
java毕业设计校园共享单车管理系统源码+lw文档+mybatis+系统+mysql数据库+调试java毕业设计校园共享单车管理系统源码+lw文档+mybatis+系统+mysql数据库+调试本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据
- Elasticsearch 索引生命周期管理:优化大数据存储
静谧星光c
大数据elasticsearchjenkins
Elasticsearch索引生命周期管理:优化大数据存储在处理大规模数据时,存储和检索效率是至关重要的。Elasticsearch是一款功能强大的搜索和分析引擎,它的索引生命周期管理功能可以帮助我们优化大数据的存储和查询性能。本文将介绍Elasticsearch索引生命周期管理的概念,并提供相应的源代码示例。索引生命周期管理(IndexLifecycleManagement,简称ILM)是Ela
- 用bash脚本激活python虚拟环境
这个人很懒,还没有设置昵称...
bashbash
bash脚本内容:#!/bin/bashcondaactivatenamefasta=$1echo$fasta$1就是接受的用户在命令行输入的变量,echo就是打印该变量激活办法:bash-irun.sh参考链接:https://zhuanlan.zhihu.com/p/422365954if语句判断路径是否存在:result=$1if[-f"$result"];thenmkdir$resultf
- ubuntu18.04安装nvm管理本机node和npm
爱学习的狮王
Linux/Shellnodenpm前端node.jsnvm
ubuntu18.04安装nvm管理本机node和npmnvm的使用方法1.安装nvm2.加载nvm3.安装执行版本4.设置默认版本(可选)5.检查:6.将配置加入到shell配置文件中(默认已经加入)如果系统全局的Node.js存在,但被nvm覆盖了,可以通过禁用或卸载nvm恢复到系统版本。1.取消nvm的版本管理2.然后从shell配置文件(例如~/.bashrc,~/.zshrc或~/.ba
- 基于centos6.5安装ElasticSearch
小码农叔叔
ElasticSearchlinux与容器实战ElasticSearchES安装
前面我们讲述了solr的安装搭建过程,今天讲讲ElasticSearch,ElasticSearch是另一款作为分词和搜索的服务器,相比solr,ElasticSearch在做大数据方面更有优势,因为其天然支持分布式,而且其强大的分词技术使得其在众多需要处理大数据量的业务中低位逐渐拔高,像大数据中做日志的提取和分析,使用ElasticSearch很适合,实际工作中,ElasticSearch主要是
- centos安装elasticsearch6.5与安装问题解决
vincent_wsc
nodejscentos安装elasticsearch安装问题解决
centos安装elasticsearch6.5与安装问题解决前言步骤前言在安装elasticsearch之前需要保证系统已经配置了java环境,而且由于6.5版本在jdk1.7版本下运行是会提示1.8所有安装的javajdk版本需要1.8以上。步骤(一)安装java我们采用懒人一键安装形式:借用yum安装,而且此方法安装也少去配置系统环境。1.查看centos自带的jdk是否已安装,并确保是否为
- es6.7.1分词器ik插件安装-和head插件连接es特殊配置
运维实战课程
jenkins运维
es6.7.1分词器ik插件安装-和head插件连接es特殊配置如果对运维课程感兴趣,可以在b站上、A站或csdn上搜索我的账号:运维实战课程,可以关注我,学习更多免费的运维实战技术视频1.查看es6.7.1和es-head安装位置和es插件路径[root@verify-10-100-4-4data]#dockerps|grepes4f0fe4db0ca9elasticsearch-head:6.
- AI软件外包需要注意什么 外包开发AI软件的关键因素是什么 如何选择AI外包开发语言
北京动点飞扬软件
AI外包
1.定义目标与需求首先,要明确你希望AI智能体做什么。是自动化任务、数据分析、自然语言处理,还是其他功能?明确目标可以帮助你选择合适的技术和方法。2.选择开发平台与工具开发AI智能体的软件时,你需要选择适合的编程语言、框架和工具。例如:编程语言:Python是最常用的语言,因为它有强大的AI/ML库,如TensorFlow、PyTorch、scikit-learn等。开发平台:你可以使用本地环境、
- -bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory
GeoWin_CAU
GeoPythonSpatialBigData(空间大数据)pythonlinuxwindows
在windows系统下写的python脚本,在linux下赋予权限chmod+xxxx.py以后,执行./xxx.py运行提示:bash:/usr/bin/autocrorder:/usr/bin/python^M:badinterpreter:Nosuchfileordirectory更多文章请点击我
- Window平台Git-Bash的主题配置
SpeculateCat
CodingNotelinuxcmdgitgit-bash
通过这篇文章,可以了解到:为什么要使用Git-Bash,以及Git-Bash的优点Git-Bash的外观主题配置Git-Bash的优点在开发的过程中,我们可能需要使用大量的命令行工具,或者远程连接到服务器进行操作。然而,由于Window自带的CMD和PowerShell都不太好用,而且在Window下的命令又与Linux和MacOS的命令不太一样,如果需要经常跨平台操作,学习Window的命令行命
- linux批量提取文本,关于bash:如何使用sed从字符串中提取多个文本和数字?
国家级做梦冠军
linux批量提取文本
本问题已经有最佳答案,请猛点这里访问。如何使用"sed"从一行中提取3个或更多单独的文本我有以下几行:echo到目前为止,我可以通过执行以下操作来提取"DOB-029"sed-n's/.*\(DOB-[0-9]*\).*/\1/p'但我没有得到其他文字,例如姓名或职位。我的预期输出应该是MikeDOB-029Post-555已编辑假设我在文件中有一个列表,我想从整个列表中提取特定的文本/ID,然后
- bash: /home/xxx/anaconda3/bin/conda: No such file or directory
鲤鱼不懂
bugbashconda开发语言
一背景最近把conda移动后,出现了一堆bug,目前pip不能使用,在此记录一下解决方案。二报错信息bash:/home/xxx/anaconda3/envs/yolov10/bin/pip3/home/xxx/.conda/envs/yolov10/bin/python:badinterpreter:NosuchfileordirectoryNosuchfileordirectory错误说明是p
- 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