- mysql8 mha_探索MySQL高可用架构之MHA(8)
樱桃小公举
mysql8mha
探索MySQL高可用架构之MHA(8)-----构建mysql高可用系列(共9篇)上一篇文章介绍了本次架构的mha读写分离!世上本来就没有十全十美的事物。你不能要求一个人没有一点缺点错误。要正视自己的长处和短处,取他人之长补己之短,把自己的优点发挥至极致,你将会拥有精彩的人生。mha虽然功能强大,但是它同样并不完美,本篇文章主要介绍手工编写shell脚本解决mha的不完美。我只是基本把功实现了,因
- 如何切换npm到淘宝的最新镜像源?
cesske
npm
目录前言一、查看当前npm镜像源二、切换到淘宝镜像源三、验证是否成功切换四、其他注意事项总结前言要切换npm到淘宝的最新镜像源,您可以按照以下步骤操作:一、查看当前npm镜像源在更改npm镜像源之前,首先需要查看当前npm正在使用的镜像源地址。您可以通过在命令行(如Windows的CMD、PowerShell或Linux/macOS的Terminal)中输入以下命令来查看:npmconfigget
- 【Python爬虫实战】深入解析 Scrapy 管道:数据清洗、验证与存储的实战指南
易辰君
python爬虫python爬虫开发语言
个人主页:易辰君-CSDN博客系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html目录前言一、了解ScrapyShell二、配置文件settings.py(一)为什么需要配置文件(二)配置文件的使用方法(三)常用字段及其含义三、管道的深入使用(一)管道的常用方法(二)管道的实现(三)启用管道四、管道的常见应用场景五、管道使用
- VBS恶搞病毒,慎用
vliu612
整人
1.逼用户叫爸爸,不叫就加密所有.docx文件SetobjShell=CreateObject("WScript.Shell")SetobjFSO=CreateObject("Scripting.FileSystemObject")'弹出输入框strInput=InputBox("请输入'爸爸'否则后果自负!","叫爸爸")IfstrInput="爸爸"Then'解除注册表限制(示例:禁用UAC)
- Spark Livy 指南及livy部署访问实践
house.zhang
大数据-Spark大数据
背景:ApacheSpark是一个比较流行的大数据框架、广泛运用于数据处理、数据分析、机器学习中,它提供了两种方式进行数据处理,一是交互式处理:比如用户使用spark-shell,编写交互式代码编译成spark作业提交到集群上去执行;二是批处理,通过spark-submit提交打包好的spark应用jar到集群中进行执行。这两种运行方式都需要安装spark客户端配置好yarn集群信息,并打通集群网
- 【Python进阶】Python中的操作系统接口:使用os模块进行系统调用
m 哆哆.ღ
pythonpython开发语言
1、操作系统接口的重要性1.1操作系统接口概览操作系统接口就像一座桥梁,连接着用户程序与底层操作系统服务。它是软件开发中不可或缺的一部分,让程序员能够借助标准化的方式与操作系统进行对话,执行诸如文件管理、进程控制、系统资源分配等各种关键任务。操作系统接口可分为以下几类:●命令行接口:通过shell或命令行工具直接与系统交互。●图形用户接口:如WindowsExplorer或MacOS的Finder
- 【赵渝强老师】MongoDB逻辑存储结构
数据库nosqlmongodb
MongoDB的逻辑存储结构是一种层次结构,主要包括了三个部分,即:数据库(Database)、集合(Collection,也可以叫做表)和文档(Document,也可以叫做记录)。MongoDB的逻辑存储结构是面向用户使用的,使用mongoshell或者应用程序操作MongoDB时,主要就是操作的MongoDB逻辑存储结构。视频讲解如下:https://www.bilibili.com/vide
- sed学习笔记1
我要精通C++
shell脚本与linux命令sed
0.引用《Linux命令行与shell脚本编程大全.第3版by布鲁姆,布雷斯纳汉》第19章,第21章1.今晚回家学习总结
- Matplotlib教程
weixin_30905133
pythonc/c++人工智能
Matplotlib是用于数据可视化的最流行的Python包之一。它是一个跨平台库,用于根据数组中的数据制作2D图。它提供了一个面向对象的API,有助于使用PythonGUI工具包(如PyQt,WxPythonotTkinter)在应用程序中嵌入绘图。它也可以用于Python和IPythonshell,Jupyter笔记本和Web应用程序服务器。面向读者本教程专为希望获得数据可视化基础知识的学员而
- Linux stdin、stdout和stderr详解
linux
一、标准流介绍在计算机编程中,标准流是计算机程序开始执行时与其环境之间预连接的输入和输出通信通道。这三种输入/输出(I/O)连接称为标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。最初I/O是通过物理连接的系统控制台(通过键盘输入,通过监视器输出)发生的,但是标准流抽象了这一点。当通过交互式shell执行命令时,流通常连接到shell运行的文本终端,但可以通过重定向或管
- Hive--HiveServer2 命令行代码连接、Hive常用命令、自定义UDF函数、排序
XK&RM
Hivehivehiveserver2udfjava
目录1Hive--HiveServer2命令行代码连接1.1配置HiveServer2WEB参数1.2开启HiveServer21.3使用Beeline连接HiveServer21.4使用代码查询HiveServer21.5使用DBeaver连接Hive2Hive--Hive常用命令2.1Hive命令2.2HiveShell命令3Hive--自定义UDF函数(User-DefinedFunctio
- Java常用软件安装包分享
兜兜儿~
java开发语言
关于Java常用软件的安装包分享,大家记得收藏!包括IDEA、IDEA、Vmware、FinalShell、CentOS、MongoDB、MySQL、Notepad++、Postman、PowerDesigner、Redis、Tomcat,以及前端相关软件
- 避免SSH超时自动断开
@comefly
SSHssh运维测试工具
文章目录前言前言平时我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,也就是SSH超时断开。下面有几种方法可以避免超时断开连接:方法一1、依赖ssh客户端定时发送心跳。putty、SecureCRT、XShell都有这个功能,但是并不保险。配置服务器,修改/etc/ssh/ssh_config配置文件,修改或添加ClientAliveCountMax(单位为分钟)Serv
- Windows 命令提示符提升到管理员模式全攻略
阿贾克斯的黎明
网络安全windows
目录Windows命令提示符提升到管理员模式全攻略一、以管理员身份运行命令提示符二、使用快捷键三、通过任务管理器四、使用runas命令五、使用powershell命令启动管理员权限的cmd六、在批处理脚本中以管理员权限运行自身七、注意事项在Windows系统中,有时我们需要以管理员权限运行命令提示符(cmd)来执行一些关键任务,如安装软件、修改系统设置等。本文将汇总多种在Windows命令提示符中
- Kali之环境变量技巧(Kali‘s Environmental Variable Skills)
Linux运维老纪
坚定自我迈向网络安全新征程云计算服务器运维开发linux安全
Kali之环境变量技巧1.环境变量基础概念1.1什么是变量?变量在计算机中是绕不开的话题,它就像是一个购物袋:可以往里面放东西(赋值)可以拿出来看看里面有什么(读取)可以把里面的东西换成别的(修改)用完可以扔掉(删除)变量本质上是一组键值对,格式为KEY=value。1.2变量类型从技术角度,变量主要分为两类:shell变量以小写字母形式列出仅在当前shell中有效环境变量系统内置的全局变量控制系
- ubuntu创建普通用户,删除用户,修改用户密码,修改用户名
温柔如酒
linuxubuntuubuntulinux运维
创建用户名为user的用户1.进入root权限账号su2.添加普通用户名useradduser3.设置普通用户密码passwduser4.修改用户登入后所使用的shellusermod-s/bin/bashuser5.设置家目录usermod-d/home/useruser6.创建家目录目录mkdir/home/user7.改变目录拥有者和组,(将/home/user下的所有文件的用户组改成use
- Java 数组排序
赔罪
Java系统学习java排序算法算法java-ee数组排序
目录1.Java冒泡排序(BubbleSort)1.冒泡排序2.冒泡排序的算法原理3.冒泡排序的复杂度和性能4.形成代码2.Java快速排序(QuickSort)3.Java归并排序(MergeSort)4.Java选择排序(SelectionSort)5.Java直接插入排序6.Java希尔排序(ShellSort)1.Java冒泡排序(BubbleSort)1.冒泡排序冒泡排序(BubbleS
- 使用vnstat监控网络流量和带宽占用
handsomestWei
运维运维网络
使用vnstat监控网络流量和带宽占用简介vnstat是个Linux下基于shell终端的网络流量监控工具,可帮助用户在不同时间段内监视,记录和查看网络统计信息。它提供了各种网络接口的汇总,允许用户以详细表或命令行统计视图的形式查看小时,每日,每月统计。安装sudoaptupdatesudoaptinstallvnstatsudosystemctlstartvnstatsudosystemctle
- hive表级权限控制_Hive权限管理
weixin_39769091
hive表级权限控制
最近遇到一个hive权限的问题,先简单记录一下,目前自己的理解不一定对,后续根据自己的理解程度更新一、hive用户的概念hive本身没有创建用户的命令,hive的用户就是Linux用户,若当前是用mr用户输入hive,进入hive的shell,则当前hive的用户为mr。hive本身不提供用户和用户的管理,只做权限控制。所以在实际的生产中,容易造成创表和使用表的用户不统一的情况,针对该情况可以使用
- hive批量修复分区
青云游子
Hivehive数据库hadoop
#!/bin/bashset-x#定义Hive数据库的名称database_name="edu"#定义要排除的表名exclude_table="tab_name"#使用Hive的shell命令获取所有的表名tables=$(hive-e"USE$database_name;SHOWTABLES;")#初始化一个字符串,用于存储所有的MSCKREPAIRTABLE命令commands="USE$da
- 蓝易云 - Linux系统中常见的远程管理协议!
蓝易云
linux运维服务器httpnginxhttpsflutter
Linux系统中常见的远程管理协议有以下几种:1.SSH(SecureShell):SSH是一种安全的远程登录协议,用于在网络上安全地远程登录到Linux服务器。它提供了加密的传输和身份验证机制,可以防止数据在传输过程中被拦截和篡改。SSH使用用户名和密码或公钥认证来验证用户身份,并允许用户在远程终端上执行命令。2.Telnet:Telnet是一种不安全的远程登录协议,用于在网络上远程登录到Lin
- pyspark 中删除hdfs的文件夹
TDengine (老段)
大数据sparkhadoophdfsmapreduce
在pyspark中保存rdd的内存到文件的时候,会遇到文件夹已经存在而失败,所以如果文件夹已经存在,需要先删除。搜索了下资料,发现pyspark并没有提供直接管理hdfs文件系统的功能。寻找到一个删除的方法,是通过调用shell命令hadoopfs-rm-f来删除,这个方法感觉不怎么好,所以继续找。后来通过查找hadoophdfs的源代码发现hdfs是通过java的包org.appache.had
- 【Vim Masterclass 笔记16】S07L32 + L33:同步练习09 —— 掌握 Vim 宏操作的六个典型案例(含点评课内容)
安冬的码畜日常
VimMasterclassvim笔记vim宏同步练习自学笔记
文章目录S07L32Exercise09-Macros1训练目标2操作指令2.1.打开macros-practice.txt文件2.2.练习1:将旧版Python代码转换为新版写法2.3.练习2:根据列表内容批量创建Shell脚本2.4.练习3:对电话号码作格式化处理2.5.练习4:从日志文件中提取重要数据2.6.练习5:将多行数据压缩为一行2.7.练习6:从HTML中提取数据3退出VimS07L
- 2018年关于包、方法和接口、常量的命名规则 单行注释(能够嵌套)和多行注释(不能嵌套)
青木川崎
java
2018年关于包、方法和接口、常量的命名规则单行注释(能够嵌套)和多行注释(不能嵌套)classHello//这是一个类的声明,类名是Hello//单行注释可以嵌套的{publicstaticvoidmain(String[]args)//这是主方法,是程序的入口{System.out.println(“HelloWorld!”);//这是输出语句,会在控制台输出一句话。}}/*故人西辞黄鹤楼,烟
- shell基础语法总结
咖啡不加冰和糖
笔记bashlinux开发语言
文中各个命令可以拿来直接进行测试,可直接在在线测试shell命令进行测试。1.变量一般用法a=1echo"a="${a}#使用变量时用${}echo"a="$a#$a在遇到$ab时,会出错,因此第一种较好除了显式地直接赋值,还可以用语句给变量赋值lsb=`ls/box`#直接将命令执行结果赋值给变量echo"b="${b}b=$(ls/box)#直接将命令执行结果赋值给变量echo"b="${b}
- shell脚本练习
肥咩咩的大兔子
linux服务器运维
1、shell脚本写出检测/tmp/size.log文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。 if[-f/tmp/size.log];then cat/tmp/size.log else statexist.sh|awk-F:"NR==5">/tmp/size.log fi 2、写一个shel1脚本,实现批量添加20个用户,用户名为user01-20,密码为user后面跟5
- 采用海豚调度器+Doris开发数仓保姆级教程(满满是踩坑干货细节,持续更新)
大模型大数据攻城狮
海豚调度器从入门到精通doris海豚调度器离线数仓实时数仓国产代替信创大数据flink数仓
目录一、采用海豚调度器+Doris开发平替CDHHdfs+Yarn+Hive+Oozie的理由。1.架构复杂性2.数据处理性能3.数据同步与更新4.资源利用率与成本6.生态系统与兼容性7.符合信创或国产化要求二、ODS层接入数据接入kafka实时数据踩坑的问题细节三、海豚调度器调度Doris进行报表开发创建带分区的表在doris进行开发调试开发海豚调度器脚本解决shell脚本使用MySQL命令行给
- 【纯血鸿蒙】hdc常用命令汇总
新时代农民工007
HarmonyOSNEXTharmonyos华为
1.查看工具版本hdc-v输出版本号,证明可以用了2.查看当前连接设备查看当前连接所有设备,-v显示详情hdclisttargetshdclisttargets-vhdc-t设备shellhdc-t7001005458323933328a250f004e3900shell3.安装指定的应用package文件hdcinstall[happath]交互命令hdcinstallpackageFileWi
- 【纯干货,无废话】shell脚本,判断语句报错[: too many arguments
新时代农民工007
shelllinuxbash
脚本作用是传入两个参数,第一个参数为yum的包名,第二个参数为版本号,判断系统中是否已经安装了包,如果没有安装,则进行安装操作,如果已经安装,但是版本与当前版本不一致,那么先卸载旧包再安装指定版本的包,如果已经安装并且版本相同,则什么也不做。代码如下:if[$#-ne2]thenecho"usageinstallpackageversion\n"exitfipackage=$1version=$2
- android AccessibilityService合法合规采集大众点评app商店商品详情(2024-09-02)
byc6352
androidjava前端数据采集点评app
免责任声明:任何可操作性的内容与本人无关,文章内容仅供参考学习,如有侵权损害贵公司利益,请联系作者,会立刻马上进行删除。一、原理介绍1、打开大众点评app商店publicvoidopen_shop(Contextcontext,Stringshop_id){Stringurl="dianping://gcshopshell?shopuuid="+shop_id;scroll_count=0;Uri
- 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