- Android Kotlin MVP 架构项目教程
常樱沙Vigour
AndroidKotlinMVP架构项目教程android-kotlin-mvp-architectureThisrepositorycontainsadetailedsampleappthatimplementsMVParchitectureinKotlinusingDagger2,Room,RxJava2,FastAndroidNetworkingandPlaceholderView项目地址:
- HarmonyOS状态管理之组件通讯
秃顶老男孩.
harmonyos华为ui
状态管理(组件通讯)1:概述在使用状态管理之前,我们所构建的页面大多数为静态页面,如果希望构建一个动态的,有交互的界面,就要引用‘状态’的概念状态的概念:在ArkUI框架中,UI是程序运行的结果,用户构建了一个UI模型,其中运行时的状态为参数,当参数改变时,UI作为返回的结果,也会随之发生了改变,这些运行的变化所带来的UI重新渲染,在ArkUI中统称为状态管理机制(什么是状态管理机制)自定义组件拥
- 设计微服务的过程
Ethan3014
微服务每天一篇技术博客微服务java服务器
原文:https://microservices.io/post/architecture/2023/02/09/assemblage-architecture-definition-process.html文章目录OverviewofAssemblageStep1:DiscoveringsystemoperationsStep2:DefiningsubdomainsStep3:Designing
- gaussdb大表查询性能慢的解决思路
_Evelyn
大数据gaussdb
一、引言1.背景介绍数字化和智能化转型是经济发展的新动力。而面对国外对中国数据库市场的长期垄断,人们对于中国自研数据库的需求越来越普遍,高斯数据库成为许多企业的选择之一。在经营分析5G智慧加油站项目项目中,我接触到高斯数据库,并使用它来进行数据的存储和查询。高斯数据库是以PostgreSQL为内核进行开发的一款数据库产品,其具备了PostgreSQL的高并发特性,又具有很强的通用性,支持行和列两种
- gds文件 导出_GaussDB 200使用GDS服务导入导出数据
weixin_39576066
gds文件导出
GaussDB200支持将存在远端服务器上的TEXT、CSV和FIXED格式的数据导入到集群中。本文介绍使用GDS(GaussDataService)工具将远端服务器上的数据导入GaussDB200。环境如下表:1、准备源数据这里从PostgreSQL数据库中,使用copy命令导出一个csv格式的文件,如下:rhnschema=>copyrhnpackagefileto'/tmp/rhnpacka
- 计算机网络实验 三个路由器,计算机网络-实验三-路由器基本配置.doc
kitenancy
计算机网络实验三个路由器
计算机网络-实验三-路由器基本配置北京信息科技大学信息管理学院(课程设计)实验报告实验名称静态路由配置实验地点实验时间课程设计目的:(1)掌握路由器在网络中的作用。(2)掌握路由器的组成,路由器设备的选型。(3)掌握网络模拟仿真软件Boson的使用。(4)通过仿真软件的使用掌握Cisco路由器的基本配置方法,熟练掌握路由器网间网操作系统软件IOS的应用,理解Cisco26XX系列路由器基本配置方法
- Linux下passwd、shadow各字段含义
weixin_33924220
操作系统shell
/etc/passwd新建test用户[root@centos1~]#getentpasswdtest#getent查看passwd某个用户test:x:1015:1015:userinfo:/home/test:/bin/bash12345671、loginname:登录用名(test)2、passwd:密码(x)密码字段为x表示密码存在于shadow中可用pwunconv、pwconv修改,p
- OSPF - 路由过滤的几种方法
大丈夫立于天地间
hcie笔记智能路由器网络信息与通信学习网络协议算法
1.路由引入时过滤可以通过引入路由时使用路由策略来过滤掉不想要的路由在ASBR上配置,能够直接不产生对应的5类LSAimport[外部自治系统]route-policy[路由策略名]//引入时考虑路由策略例如我现在要过滤掉从ISIS区域引入的3.3.4.4[ABSR的OSPF进程下]importisis1route-policyI2O//引入时考虑路由策略I2Oroute-policyI2Oper
- 后端学习1.4: Mybatis-plus配置多租户
Congee_porridge
后端开发学习mybatisjavaspringboot后端
功能要求Mybatis-plus配置多租户。从header中的token获取租户信息;所有userController的数据库操作*不要*配置多租户,所有工作计划相关的数据库操作*需要*配置多租户,达成数据隔离。开发工具:IDEA技术:Springboot+MabtisPlus+Postman1、什么是多租户?多租户技术(多重租赁技术,简称saas),是一种软件架构技术;可以实现同一套程序下用户数
- linux服务器中的rinted端口转发yum源代理设置
Waylen_Wu
网络服务器linuxcentos运维
内网服务器统一通过可访问公网的服务器代理端口转发使用yum源文章目录前言一、国内yum源一、公网服务器rinted代理安装二、公网服务器rinted使用说明1.rinted编辑配置2.启动程序3.需要注意三、内网服务器yum源设置1.先备份源yum源2.植入网易163yum源四、修改内网服务的hosts五、内网服务器验证yum源是否正常1.ping通mirrors.163.com2.yum源正常使
- omfun官方版网页版下载-omofun官方版2024安卓IOS下载
omofun5541
omofun动漫omofun动漫ios动画安卓windows
omofun关于“ROOT苹果手机”的说法实际上是一个误解,omofun动漫因为“ROOT”这个术语通常指的是获取Android设备的超级用户权限,omofun漫画而苹果手机(iPhone)使用的是iOS操作系统,获取超级用户权限的过程被称为“越狱”(Jailbreak)。omfun官方版app最新版本版下载:http://om.aunbaidu.com/下面是一篇关于如何越狱苹果手机的文章,介绍
- 深入浅出 SQLSugar:快速掌握高效 .NET ORM 框架
m0_74823595
.net
SQLSugar是一个高效、易用的.NETORM框架,支持多种数据库(如SQLServer、MySQL、PostgreSQL等)。它提供了丰富的功能,包括CRUD操作、事务管理、动态表名、多表联查等,开发者可以通过简单的链式操作实现复杂的数据库逻辑。本文将以完整的示例,详细介绍SQLSugar的安装、配置和功能使用,适用于.NETFramework和.NETCore项目。一、SQLSugar简介1
- 【python自动化运维】python第三方运维模块应用
leo__programmer
python自动化运维运维python自动化
一、pymysql模块——数据库编程1、介绍第三方模块作用:连接MySQL数据库1.1、操作流程创建数据库连接基于连接创建游标cursor数据库读写操作关闭游标关闭数据库连接2、pymysql模块的使用2.1、准备工作准备MySQL数据库安装pymysql模块pipinstallpymysql安装配置MySQL数据库[root@localhost~]#yuminstall-ymariadb-ser
- 张丽霞:对地址转换(NAT)的回顾与反思
junecauzhang
软件综合internet互联网网络防火墙工作transactions
张丽霞:对地址转换(NAT)的回顾与反思PostedonFebruary24,2009byDuanHaixin作者简介:张立霞,美国UCLA计算机系教授,互联网体系结构委员会(IAB)委员,IETFIRTFRoutingResearch工作组副主席(co-chair),ACM会员(Fellow),曾担任ACMSIGCOMM副主席(1999-2003),IEEECommunicationSociet
- ZYNQ + Linux
jerwey
linuxzynq
ZYNQLinux操作系统移植说明文档http://xilinx.eetrend.com/content/2019/100018437.html1,组成ZYNQ上面移植Linux操作系统包括四个部分,uboot,devicetree,kernel,ramdisk.其中uboot类似于bios,负责对设备进行简单的初始化,devicetree以树的形式对zynq相连的硬件设备进行描述,kernel是
- 已知域名如何知道网站的ip
hunter206206
网络tcp/ip网络协议网络
已知域名获取网站IP的方法如下:1.使用ping命令Windows:打开命令提示符,输入pingexample.com,查看返回的IP地址。macOS/Linux:打开终端,输入pingexample.com,查看返回的IP地址。2.使用nslookup命令Windows/macOS/Linux:在命令提示符或终端中输入nslookupexample.com,查看返回的IP地址。3.使用dig命令
- 微服务学习-Nacos简介
fox_lht
java分布式架构spring微服务javamicroservices
微服务学习-Nacos简介用于服务管理中心和配置管理中心。实现动态服务发现、服务配置、服务元数据及流量管理。支持的服务KubernetesServicegRPC&DubboRPCServiceSpringCloudRESTfulService关键特性服务管理支持基于DNS和基于RPC的服务发现服务提供者注册(原生SDK、OpenApi、独立的AgentTODO)服务消费者查找和发现服务(DNSTO
- postgrel执行VACUUM报VACUUM cannot run inside a transaction block
dianzufa9403
数据库golangjava
在python脚本里执行:1sql_gp1="VACUUMdwd_access_record_inout_temp"2sql_gp2="deletefromdwd_access_record_inout_temptwheret.indate>(selectnow()::timestamp-interval'36hour')"3conn=gputil.connect(logger,target_ho
- Python datetime timedelta
Claroja
Python
https://docs.python.org/3/library/datetime.html#timedelta-objectsclassdatetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)timedelta对象基本介绍classdatetime.timedelta
- 【Python】Python-JOSE:Python 中的 JSON Web Token 处理库
@Unity打怪升级
Pythonpythonjson人工智能前端开发语言开源机器学习
Python-JOSE是一个用于处理JSONWebToken(JWT)和JOSE(JSONObjectSigningandEncryption)标准的Python库。它支持对JWT进行签名、加密、解密和验证等操作,是处理基于OAuth2.0和OpenIDConnect协议的身份验证和授权任务的理想选择。Python-JOSE实现了JOSE规范中定义的JWS(JSONWebSignature)、JW
- DOS命令与批处理学习历程
m1nt
DOSdos批处理
DOS窗口基本操作“↑”和”↓”键——————————回看上一次执行的命令“ESC”键————————————清除命令行“F7”键————————————-查看命令历史纪录“ALT+F7”键——————————清除命令历史纪录“ALT+F10”键—————————–清除宏定义“Tab”键————————————输入文件名前几个字符按“Tab”键补齐文件名“Ctrl+C”组合键或”Break”键——
- 交换机与路由器的区别
黑石云
边缘计算
交换机和路由器是网络中的两种关键设备,它们各自承担不同的功能,主要区别体现在以下几个方面:一、工作层次与功能交换机:工作层次:交换机主要工作在OSI模型的第二层,即数据链路层。功能:交换机用于在局域网(LAN)内的不同设备之间进行数据的转发和交换。它通过学习和转发数据帧的方式来实现多个设备之间的通信,能够根据数据包的MAC地址进行数据的无冲突传输,提高网络传输的效率和稳定性。路由器:工作层次:路由
- linux基础
晖.418
linux
今天简单说一下关于linux基础的知识,并不完全,都是一些比较常用的命令,可以进行简单的了解。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
- ospf收敛特性及其他的小特性
大丈夫立于天地间
hcie笔记智能路由器网络信息与通信学习算法网络协议
1.收敛特性快速收敛: ·只第一次计算时计算全部节点FullSPF ·增量最短路径优先算法I-SPF(Incremental) 只对受影响的节点进行路由计算 ·全部路由计算PRC 只对发生变化的路由进行重新计算; 根据I-SPF算出来的SPT来更新路由。开销:RPCOspf1 spf-schedule-intervalxxxxxxmax-interva为OSPF SPF计算的最长间隔时
- . 如何在 Vue 3 中使用组合式 API 进行代码的逻辑复用?
JJCTO袁龙
Vuevue.jsjavascript前端
如何在Vue3中使用组合式API进行代码的逻辑复用?在Vue3的生态中,组合式API(CompositionAPI)引入了全新的方式来构建组件,使得逻辑复用变得更加简单和灵活。在传统的选项API中,逻辑复用通常依赖于混入(mixins)和高阶组件(HOCs),并且这两者在某种程度上可能导致代码的复杂性及可读性问题。而组合式API通过函数的方式,使得逻辑复用变得更加明确且易于管理。本文将通过示例,带
- YOLOv10改进,YOLOv10改进主干网络为GhostNetV3(2024年华为的轻量化架构,全网首发),助力涨点
挂科边缘
YOLOv10改进YOLO计算机视觉目标检测人工智能python深度学习
摘要GhostNetV3是由华为诺亚方舟实验室的团队发布的,于2024年4月发布。摘要:紧凑型神经网络专为边缘设备上的应用设计,具备更快的推理速度,但性能相对适中。然而,紧凑型模型的训练策略目前借鉴自传统模型,这忽略了它们在模型容量上的差异,可能阻碍紧凑型模型的性能提升。在本文中,通过系统地研究不同训练成分的影响,我们介绍了一种用于紧凑型模型的强大训练策略。我们发现,适当的重参数化和知识蒸馏设计对
- Vue.js 的组合式 API 与状态管理
随着现代前端开发的不断发展,Vue.js作为一个渐进式JavaScript框架,已经成为开发动态和交互式用户界面的流行选择之一。Vue.js的设计旨在通过简洁的语法和强大的功能来提升开发者的生产力。在Vue3中引入的组合式API(CompositionAPI)及其状态管理功能,为开发者提供了一种灵活且可扩展的方式来构建复杂的应用程序。本文将深入探讨Vue.js的组合式API,并结合状态管理的概念,
- OpenBayes 一周速览丨ShowUI专注GUI自动化,可解析屏幕截图和用户指令;U-MATH数据集上线
公共资源速递5个数据集:U-MATH数学推理数据集AlMedicalChatbot医学对话数据集Tecnalia电子设备废物高光谱数据集WaterlooExploration大规模图像质量评估数据库WasteClassification可回收物及生活垃圾分类数据集3个教程:一键部署QwQ-32B-PreviewHunyuanVideo腾讯混元文生视频DemoShowUl:专注GUI自动化的视觉-语
- Vue 3.5 中的 useId:深入解析与应用实践
程序员
随着Vue3.5的发布,开发者们迎来了许多新特性和改进。其中,useId是一个备受关注的工具函数,它为开发者提供了一种简单而高效的方式来生成唯一的ID。本文将深入解析useId的实现原理、使用场景以及在实际项目中的应用实践。一、什么是useId?useId是Vue3.5中引入的一个CompositionAPI函数,用于生成唯一的ID。它的主要用途是为组件或DOM元素分配唯一的标识符,避免在SSR(
- 【YOLOv8改进】 YOLOv8 更换骨干网络之 GhostNet :通过低成本操作获得更多特征 (论文笔记+引入代码)
YOLO大师
YOLO论文阅读
YOLO目标检测创新改进与实战案例专栏专栏目录:YOLO有效改进系列及项目实战目录包含卷积,主干注意力,检测头等创新机制以及各种目标检测分割项目实战案例专栏链接:YOLO基础解析+创新改进+实战案例介绍摘要在嵌入式设备上部署卷积神经网络(CNNs)由于有限的内存和计算资源而变得困难。特征图中的冗余是那些成功的CNNs的一个重要特性,但在神经架构设计中很少被研究。本文提出了一种新颖的Ghost模块,
- 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