- elk+redis+logstash+kibana保姆式教程
weixin_51711897
elkredisjenkins
主机名ip描述elasticsearch-1192.168.5.94es集群elasticsearch-2192.168.5.95es集群elasticsearch-1192.168.5.96es集群redis192.168.5.97redis存储收集日志logstash192.168.5.98将redis数据传到es中kibana192.168.5.99将日志数据显示出来报错Couldnotin
- windows10 ELK保姆级教程以及踩坑记录 适用于新版8.1.3
bug柯南
ELKjava
elk其实就是ElasticSearch(ES)、Logstash和Kibana三个开源的工具组成。1.ES是个开源的分布式搜索引擎,它的特点是:分布式、零配置、自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。2.Logstash是一个完全开源的工具,开源对日志进行收集、分析、并将其储存以后使用。3.Kibana也是一个完全开源的免费的工具,它为Logsta
- Linux中es启动成功,windows服务器访问不了的解决方案
码代码的小仙女
笔记linuxwindowselasticsearch
1.在Linux服务器中安装elasticsearch。在bin目录下执行./elasticsearch报错信息:org.elasticsearch.bootstrap.StartupException:java.lang.RuntimeException:cannotrunelasticsearchasrootatorg.elasticsearch.bootstrap.Elasticsearch
- java.lang.NoSuchMethodError: org.elasticsearch.client.RestClient.performRequest(Ljava/lang/String;Lj
频繁输入,积极输出
eses
es创建索引时,报:java.lang.NoSuchMethodError:org.elasticsearch.client.RestClient.performRequest(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/apache/http/HttpEntity;[Lorg/apache/http/Header;)Lorg/e
- ElasticSearch基础入门(四)桶、度量
全端工程师
elasticsearchelasticsearch
ElasticSearch基础入门(四)聚合一、基本概念1.桶(bucket)2.度量(metrics)二、聚合为桶三、桶内度量四、桶的嵌套五、直方图分桶(阶梯)六、范围分桶(range)一、基本概念通过聚合,我们会得到一个数据的概览。我们需要的是分析和总结全套的数据而不是寻找单个文档。ElasticSearch中的聚合,常见的有两种,桶和度量。1.桶(bucket)桶,是按照一定的方式对数据进行
- ElasticSearch的常用命令
qqqweiweiqq
elasticsearchelasticsearch搜索引擎大数据
GET_search{"query":{"match_all":{}}}PUT/dangdang/DELETE/dangdangDELETE/emsGET/_cat/indices?vPUT/ems{"settings":{"number_of_replicas":1,"number_of_shards":1}}GET/gunspoc/_mapping反正一个index下面就只有一个typePUT
- 基于 Elasticsearch 和 Milvus 的 RAG 运维知识库的架构设计和部署落地实现指南
ViniJack
AImilvus运维rag落地方案知识库
最近在整理一些业务场景的架构设计和部署落地实现指南先放一个【基于RAG的运维知识库(ElasticSearch+Milvus)的详细实现指南】,其中包含了详尽的技术实现细节、可运行的示例代码、原理分析、优缺点分析和应用场景分析。架构描述:基于RAG的运维知识库(ElasticSearch+Milvus)部署指南1.极其详细的部署步骤(包含详尽的技术实现细节和分步骤、可运行的示例代码-也只能给示例代
- 掌握 ElasticSearch 聚合查询:Aggregations 入门与实战
全端工程师
elasticsearchelasticsearchjava
掌握ElasticSearch聚合查询:Aggregations入门与实战一、引言(Introduction)二、数据准备(DataPreparation)2.1创建索引(CreateIndex)2.2批量导入数据(BulkImportData)三、聚合查询基础(AggregationBasics)3.1什么是聚合查询?(WhatareAggregations?)3.2聚合查询的基本结构(Basi
- 掌握 ElasticSearch 四种match查询的原理与应用
全端工程师
elasticsearchelasticsearchdjango大数据
文章目录一、引言(Introduction)二、准备工作:创建索引和添加示例数据三、`match`查询四、`match_all`查询五、`multi_match`查询六、`match_phrase`查询七、总结(Conclusion)一、引言(Introduction)在信息爆炸的时代,快速准确地找到所需信息至关重要。全文检索技术应运而生,它允许我们对文本内容进行深入搜索,而不仅仅是简单的关键词匹
- ElasticSearch基础入门(六)使用Spring Data ElasticSearch添加、修改、删除数据
全端工程师
elasticsearchelasticsearch
ElasticSearch基础入门(六)使用SpringDataElasticSearch添加、修改、删除文档一、概述二、新增文档1.新增一条2.批量新增三、修改文档四、删除文档一、概述SpringData的强大之处,就在于你不用写任何DAO处理,自动根据方法名或类的信息进行CRUD操作。只要你定义一个接口,然后继承Repository提供的一些子接口,就能具备各种基本的CRUD功能。我们想要操作
- 掌握 ElasticSearch的 _source 过滤
全端工程师
elasticsearchelasticsearch大数据
掌握ElasticSearch的_source过滤1.引言2.`_source`元数据基础2.1什么是`_source`字段?2.2`_source`的基本用法3.禁用`_source`3.1如何禁用`_source`字段3.2禁用`_source`的利弊3.3最佳实践建议4.`_source`数据源过滤4.1为什么需要数据源过滤?4.2两种过滤方式4.2.1在Mapping中定义(不推荐)4.2
- 操作es聚合操作并显示其他字段_Elasticsearch 之聚合分析入门
weixin_39944595
操作es聚合操作并显示其他字段
本文主要介绍Elasticsearch的聚合功能,介绍什么是Bucket和Metric聚合,以及如何实现嵌套的聚合。首先来看下聚合(Aggregation):什么是Aggregation?首先举一个生活中的例子,这个是京东的搜索界面,在搜索框中输入“华为”进行搜索,就会得到如上界面,搜索框就是我们常用的搜索功能,而下面这些,比如分类、热点、操作系统、CPU类型等是根据ES的聚合分析获得的相关结果。
- 【大数据】es ElasticSearch常用操作:查询与聚合篇
roshy
大数据
0说明基于es5.4和es5.6,列举的是个人工作中经常用到的查询(只是工作中使用的是JavaAPI),如果需要看完整的,可以参考官方相关文档https://www.elastic.co/guide/en/elasticsearch/reference/5.4/search.html。1查询先使用一个快速入门来引入,然后后面列出的各种查询都是用得比较多的(在我的工作环境是这样),其它没怎么用的这里
- 使用Idea创建springboot项目
奔跑吧邓邓子
SpringBoot深入浅出常见问题解答(FAQ)高效运维javaidea
提示:“奔跑吧邓邓子”的高效运维专栏聚焦于各类运维场景中的实际操作与问题解决。内容涵盖服务器硬件(如IBMSystem3650M5)、云服务平台(如腾讯云、华为云)、服务器软件(如Nginx、Apache、GitLab、Redis、Elasticsearch、Kubernetes、Docker等)、开发工具(如Git、HBuilder)以及网络安全(如挖矿病毒排查、SSL证书配置)等多个方面。无论
- es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?
忍者算法
elasticsearch架构大数据
Elasticsearch生产集群部署架构及面试解析在后端面试中,Elasticsearch(ES)是一个经常被问到的技术点,尤其是涉及到生产环境的部署架构。面试官往往希望通过这个问题来验证你是否有真正的生产经验,而不仅仅是玩过一些Demo。如果你对ES的生产环境一无所知,可能会在这个问题上暴露短板。因此,提前了解并掌握一些基本的生产环境参数,对于面试至关重要。一、为什么面试官会问这个问题?面试官
- docker快速安装带认证Es和Kinbana
大大大大肉包
dockerdockerelasticsearch容器
es安装1、进行拉取镜像dockerpullelasticsearch:7.17.16dockerpullkinbana:7.17.162、查看下载的镜像:dockerimages;3、创建虚拟网络:dockernetworkcreatees-net4、创建挂载目录mkdir-p/usr/local/elasticsearch/pluginsmkdir-p/usr/local/elasticsea
- Elasticsearch 集群快照的定期备份设置指南
碧水澜庭
运维管理类工具elasticsearch运维
Elasticsearch集群快照的定期备份设置指南概述快照:在给定时刻对整个集群或者单个索引进行备份,以便在之后出现故障时可以基于之前备份的快照进行快速恢复。前提条件:准备一个备份存储盘,本指南采用的是AWSEFS文件系统做为备份盘一、挂载集群备份存储路径在Elasticsearch集群的每一个节点上,执行以下操作创建基础目录:mkdir/es-backup-warehouse此目录将作为挂载点
- Linux部署elasticsearch集群
西望千秋雪
eseselasticsearch
操作系统CentOS7.61.安装jdk环境直接使用yum安装yuminstalljava-1.8.0-openjdk*配置环境变量vim/etc/profile#添加:JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/CLASS_PATH=.:$JAVA_HOME/libPATH=$JAVA_HOME/b
- Elasticsearch集群部署详解
Jeffrey_Zeng_
elasticsearchlinux
文章目录Elasticsearch功能与特性:Elasticsearch单节点安装部署Elasticsearch集群安装部署附件1、安装Java(JDK)2、问题一2、问题二Elasticsearch功能与特性:(1)分布式搜索和分析引擎(2)全文检索,结构化检索,数据分析(3)对海量数据进行近实时的处理分布式:ES自动可以将海量数据分散到多台服务器上存储和检索海量数据的处理:分布式后,可采用大量
- Elasticsearch 数据量大时如何优化查询性能?
忍者算法
elasticsearch大数据搜索引擎
Elasticsearch数据量大时如何优化查询性能?在面试中,如果你被问到:“Elasticsearch(ES)在数据量很大的情况下(数十亿级别)如何提高查询效率?”那么面试官其实是在测试你是否有实际使用ES的经验。为什么这么说?因为很多人以为ES性能非常强大,但实际上,在数据量达到几亿甚至数十亿条时,你可能会惊讶地发现,搜索一次需要5~10秒。而且,第一次查询特别慢,之后才变快,变成几百毫秒。
- 【高级篇】第6章 Elasticsearch 高级查询与搜索优化
JAVA和人工智能
elasticsearch搜索引擎
在Elasticsearch的深入应用之旅中,掌握高级查询技巧与优化搜索性能是提升数据处理效率的关键。本章将带你深入探索Elasticsearch的高级查询特性,揭示搜索性能优化的奥秘,以及如何利用高亮与建议API增强用户体验。6.1复杂查询6.1.1Nested查询Nested基本概念与用法:在Elasticsearch中,nested类型是一种特殊的数据类型,用于存储复杂对象数组,使得数组中的
- ElasticSearch中使用“group by“ 统计 (ElasticsearchTemplate进行聚合查询)
不会吉他的肌肉男不是好的挨踢男
elasticsearchjavaelasticsearchjava
我用的es是6.8.1如果我们想在es实现sql中的groupby的查询统计效果SELECTCOUNT(id)FROMpatientstudyGROUPBYhospitalId;在kibana中执行命令POST/patientstudy/_search?size=0{"aggs":{"count":{"terms":{"field":"hospitalId"}}}}看结果用java怎么实现呢pub
- Elasticsearch:使用阿里云 AI 服务进行向量化和重新排名
作者:来自ElasticTomásMurúa在本文中,我们将介绍如何将阿里云AI功能与Elasticsearch集成,以提高语义搜索的相关性。阿里云人工智能搜索是一种将高级人工智能功能与Elasticsearch工具相结合的解决方案,利用QwenLLM/DeepSeek-R1系列提供高级推理和分类模型。在本文中,我们将使用同一作者撰写的小说和戏剧的描述来测试阿里巴巴重新排名和稀疏嵌入端点。步骤创建
- elasticsearch添加kerberos认证完整操作流程
鸡蛋可好吃了
elasticsearchjenkins大数据java
kerberos认证的教程网上有很多,但是es的真的找遍全网都很少有详细的教程!我苦读官网,到处搜罗零碎信息,才终于完成es的kerberos认证。文章目录一、elasticsearch升级白金版1.下载对应版本源码,修改相关类2.编译后替换jar包中的class文件3.更新license二、搭建kerberos服务1.安装kerberos服务端2.安装kerberos客户端3.服务端配置文件kd
- 集群部署Elasticsearch+Logstash+Kibana+Filebeat+Kafka+Zookeeper
YH746
日志分析系统linux
目录引言一、安装Zookeeper步骤1、准备阶段(全部节点操作,以node1为例)(1)关闭防火墙和系统安全机制(全部节点操作,以node1为例)(2)同步时钟源(全部节点操作,以node1为例)(3)JDK的安装(全部节点操作,以node1为例)(4)配置hosts(全部节点操作,以node1为例)2、安装Zookeeper软件包(全部节点操作,以node1为例)3、修改配置文件(全部节点操作
- Java | 基于Kerberos认证对接华为云Elasticsearch
yinbp
bbosselasticjava华为云elasticsearchbboss
可以通过华为官方提供的Java客户端,来实现基于Kerberos认证访问和操作华为云Elasticsearch;亦可以使用更加通用的开源ElasticsearchJava客户端bboss,来实现基于Kerberos认证访问和操作华为云Elasticsearch。本文介绍使用bboss实现基于Kerberos认证访问和操作华为云Elasticsearch的方法。1.bboss介绍bboss是一个高性
- elfk+zookeeper+kafka数据流
AustinCien
zookeeperkafkaelk
申请7台部署elfk+zookeeper+kafka数据流:filebeat(每台app)------>【logstash(2)+kafka(3)】------->logstash(1)------->【elasticsearch(3)+kibana(1)】
- 【Elasticsearch】动态计算字段的几种方式
risc123456
Elasticsearchelasticsearch
在Elasticsearch中,动态计算字段可以通过以下几种方法实现:1.动态映射(DynamicMapping)动态映射允许Elasticsearch在索引文档时自动检测并添加新字段及其数据类型。虽然动态映射主要用于自动处理新字段,但也可以通过动态模板(DynamicTemplates)来控制新字段的映射规则,从而实现一定程度的动态计算字段的功能。示例:```jsonPUT/my_index{"
- Elasticsearch——动态映射
java编程小帅
Elasticsearchelasticsearch大数据esjava搜索引擎
目录Dynamicfieldmappingsdatedetection(日期检测)Disablingdatedetection(禁用日期检测)Customizingdetecteddateformats(自定义检测到的日期格式)Numericdetection(数字检测)Dynamictemplates验证动态模板在动态模板映射运行时字段Elasticsearch最重要的功能之一就是它会尽量避开我
- Elasticsearch:使用 runtime fields 探索你的数据
小贤编程手记
elasticsearch大数据
考虑要提取字段的大量日志数据。为数据建立索引非常耗时,并且会占用大量磁盘空间,而你只想探索数据结构而无需预先提交schema。你知道你的日志数据包含你要提取的特定字段。在这种情况下,我们要关注@timestamp和消息字段。通过使用运行时字段(runtimefields),你可以定义脚本来计算这些字段在搜索时的值。定义索引字段作为起点你可以从一个简单的示例开始,将@timestamp和messag
- 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