- 开源项目推荐:Mayfly-go
周风队
开源项目推荐:Mayfly-gomayfly-goweb版linux(终端文件脚本进程)、数据库(mysqlpgsql高斯达梦)、redis(单机哨兵集群)、mongo统一管理操作平台。项目地址:https://gitcode.com/gh_mirrors/ma/mayfly-goMayfly-go是一个基于浏览器的统一管理操作平台,它支持多种数据库和系统管理功能。该项目主要使用Go语言和前端框架
- 推荐项目:Mayfly-Go - 高性能的时间序列数据库
齐游菊Rosemary
推荐项目:Mayfly-Go-高性能的时间序列数据库mayfly-goweb版linux(终端文件脚本进程)、数据库(mysqlpgsql高斯达梦)、redis(单机哨兵集群)、mongo统一管理操作平台。项目地址:https://gitcode.com/gh_mirrors/ma/mayfly-go项目简介是一款由Dromara团队开发的高性能、轻量级时间序列数据库(TimeSeriesData
- Mayfly-Go 开源项目教程
方蕾嫒Falcon
Mayfly-Go开源项目教程mayfly-goweb版linux(终端文件脚本进程)、数据库(mysqlpgsql高斯达梦)、redis(单机哨兵集群)、mongo统一管理操作平台。项目地址:https://gitcode.com/gh_mirrors/ma/mayfly-go项目介绍Mayfly-Go是一个基于Go语言开发的开源项目,旨在提供一个轻量级、高性能的微服务框架。该项目由Dromar
- 17.1Go语言操作MongoDB
chxii
go语言#go基础golangmongodb开发语言
驱动安装gogetgo.mongodb.org/mongo-driver/mongo基础连接示例packagemainimport("context""fmt""log""time""go.mongodb.org/mongo-driver/mongo""go.mongodb.org/mongo-driver/mongo/options")funcmain(){//设置客户端选项clientOpti
- 【Go基础】Go入门与实践资源帖
小超人冲鸭
golang开发语言后端
看到好的持续更新……Go系统教程从语法讲起:李文周博客七天快速上手项目Go测试驱动开发博客孔令飞项目开发实战课程,孔令飞图文教程《Go语言高级编程》书籍Go算法刷题模板Go实战项目KV系统crawlab分布式爬虫平台seaweedfs分布式文件系统Cloudreve云盘系统gfast后台管理系统(基于GoFrame)alist多存储文件列表(基于Gin、React)Yearning开源SQL审核平
- goweb中文件上传和文件下载
Villiam_AY
xcodemacosidegolang
文件上传文件上传:客户端把上传文件转换为二进制流后发送给服务器,服务器对二进制流进行解析HTML表单(form)enctype(EncodeType)属性控制表单在提交数据到服务器时数据的编码类型enctype=“application/x-www-form-urlencoded”默认值,表单数据会被编码为名称/值形式。oenctype="multipart/form-data”编码成消息,每个控
- 【Go基础】垃圾回收演进|三色标记法
小超人冲鸭
算法golang后端
GO1.3标记清除,整体需要STW:1.暂停,找到可达和不可达对象,2.标记可达对象,3.清除未标记对象,4.结束暂停GO1.5三色标记法,堆启动写屏障,栈不启动,全部扫描一次后,需要重新扫描栈(STW),效率低如果没有STW,对象丢失的2个条件:黑色对象指向白色对象(白色挂在黑色下面)灰色对象与其可达白色对象之间遭到破坏(灰色也丢失了该白色)屏障机制,保障对象不丢失的2种方式:强三色不变式:不允
- 73_Go基础_1_43 方法继承
芦苇King
05_Go_01golang开发语言后端
packagemainimport"fmt"//1.定义一个"父类"typePersonstruct{namestringageint}//2.定义一个"子类"typeStudentstruct{Person//结构体嵌套,模拟继承性schoolstring}//3.方法func(pPerson)eat(){fmt.Println("父类的方法,吃窝窝头。。")}func(sStudent)stu
- Go语言中间件(Middleware)
欣欣子的摸爬滚打
实习记录go中间件
首先,什么是Handler?简单来说,goWeb通过http.HandleFunc()来注册默认路由,将传入URL匹配到相应的Handler。它的函数原型为:http.HandleFunc(patternstring,handlerfunc(ResponseWriter,*Request))其中,Handler是我们处理请求和生成返回信息逻辑处理函数。什么是中间件呢?中间件(MiddleWare)
- 【Go基础】错误处理
小超人冲鸭
golang开发语言后端
两种类型error:可以被处理的错误,只是一个内置的接口(意味着可以自定义error类型并使用,开发中间件时可能会用)panic:非常严重不可恢复的错误errors包常用方法有4个:New:创建一个新的errorIs:判断是不是特定的某个errorAs:类型转换为特定的error(用得不多)Unwrap:解除包装,返回被包装的error示例:packagemainimport("errors""f
- GO语言学习笔记(1)
大王算法
golang学习笔记
目录一、go语言结构1.语言结构示例2.语言结构二、go基础语法1.行分隔符:2.注释:3.标识符:4.字符串连接:5.关键字:6.格式化字符串:三、变量1、申明一个变量值,变量类型,并初始化一、go语言结构1.语言结构示例packagemainimport"fmt"funcmain(){fmt.Println("HelloWorld!")}2.语言结构1).第一行代码packagemain定义了
- Go Web 项目实战:构建 RESTful API、命令行工具及应用部署
一小路一
掌握Go语言:编程世界的进阶钥匙golang面试后端开发语言
GoWeb项目实战:构建RESTfulAPI、命令行工具及应用部署Go语言因其简洁高效、并发支持强大等特点,已经成为了后端开发的热门选择之一。本篇文章将通过实战案例带领你学习如何使用Go构建一个简单的RESTfulAPI,开发命令行工具,并展示如何使用Docker部署Go应用。通过这些实战内容,你可以更好地理解Go在实际开发中的应用。1.构建一个简单的RESTfulAPIRESTfulAPI是基于
- 【面试指南】golang-map注意事项
梦里是谁N
面试golang职场和发展
map非并发安全的众所周知,go基础类型中的map是非并发安全的,多个goroutine同时对同一个map进行读写操作时,可能会导致并发写问题,packagemainimport("fmt")funcmain(){m:=make(map[string]string)gofunc(){m["a"]="a"}()m["a"]="a1"fmt.Println(m["a"])}我们可以使用gorun-ra
- go基础语法
cllsse
前后端学习golang开发语言后端
go基础语法先下载安装go,然后到vscode下载go插件某校今年没有一个人考上UESTC,还没发展起来就开历史倒车,实属是大溃败了。byd,很多同学还沉迷电子产品,go学完衔接上瓦,瓦学完衔接上小视频。看看人家家境贫困的同学都开始兼职送外卖了,虽然一天才四五十。食堂里外经常有毕业工作的老学长过来推销东西,一打听都是四川本地人不想到外地工作,感叹专业不好没前途,低薪高压遂跑路,金牌销售才靠谱。1.
- Gin从入门到精通 (六)中间件
Clown95
Gingin中间件
六、中间件Gin是一个高性能的GoWeb框架,其核心特性之一就是强大的中间件(Middleware)机制。中间件允许开发者在HTTP请求处理流程的不同阶段插入自定义逻辑,例如日志记录、身份验证、请求限流等。1.基本概念在gin中,中间件是一个函数,接受gin.Context作为参数,用于在请求到达路由处理函数之前或之后执行某些操作。中间件可以:修改请求或响应的数据中断请求处理流程(如权限校验失败时
- Django基础入门教程
蜡笔小新星
Djangodjango开发语言python经验分享后端
目录Django基础入门教程前言1.Python基础1.1Python语法基础1.2数据结构列表字典集合元组1.3函数和模块函数模块1.4类和对象1.5异常处理1.6文件操作1.7Python虚拟环境的使用2.Django安装和项目创建2.1安装Python和Django2.2创建Django项目和应用2.3Django项目结构解析3.Django模型(Models)3.1数据库和ORM概念3.2
- Go 企业开发知识链
Wade_Crab
golang开发语言后端
Go企业级-全局篇Go企业级-全局篇,又名:Go企业级应用到底层开发(第4天)这个系列是准备做从go基础到Web开发,系统编程,云原生应用,网络编程,工具和脚本开发,机器学习,CGo编程,还有最后的编译器层级底层的分析,点上关注,方便每天阅读一键三连是我最大的动力。谢谢~~目录测试和调试Web开发跨平台Go企业中的常见组件生态Go企业流程1.测试和调试:概念:单元测试和集成测试:单元测试用于测试代
- Go Web 开发基础:从入门到实战
一小路一
掌握Go语言:编程世界的进阶钥匙golang前端面试后端服务器
GoWeb开发基础:从入门到实战Go语言因其高效性和简洁性,成为了后端开发的热门选择之一。Go的net/http包提供了强大的Web服务功能,可以帮助我们快速搭建Web应用。本文将带领你从基础开始,逐步了解如何使用Go创建Web服务、处理路由、使用模板引擎、提供静态文件服务,并与数据库进行交互。文章内容包含常见的错误示例和面试题,帮助你更好地理解GoWeb开发。1.使用net/http创建一个简单
- Go基础学习-数组与切片
wzbwzt
GO语言golang
数组固定长度同一种数据类型元素的集合//数组声明:vara[2]int//var数组名[长度]存放的类型//数组初始化://1,使用初始化列表来设置数组元素的值vara[3]int//数组会初始化为int类型的零值varb=[3]int{1,2}//使用指定的初始值完成初始化//2,使用指定索引值的方式来初始化数组c:=[2]int{1:1,3:5}//3,根据设置的数组元素来自行确定数组长度va
- Go基础之切片大集合
死嗑到底
Go语言实战笔记golang算法数据结构go
一、切片是长度可变的数组,切片由三部分组成1、指针,指向切片第一个元素指向的数组元素的地址2、长度,切片元素的数量3、容量,切片开始到结束位置元素的数量二、声明切片声明需要指定组成元素的类型但不需要指定存储元素的数量(长度)在切片声明后,会被初始化为nil,表示暂不存在的切片//[]string,true,[]varnames[]stringfmt.Printf("%T,%t,%v\n",name
- 2024年五大流行的Go框架和库
web18285482512
面试学习路线阿里巴巴golang开发语言后端
引言Go语言(又称Golang)由谷歌创建,凭借其简洁性、并发支持和高性能,持续获得开发者的青睐。无论是构建Web应用、API还是后端系统,Go生态系统中的工具和库都能满足各种开发需求。本文将详细介绍2024年Go开发者必备的五个框架和库,包括它们的用途、特性以及为什么值得考虑使用。1.Gin框架Gin是一个轻量级但功能强大的GoWeb框架,专注于提供高性能和低开销。其简洁的API使其成为构建We
- Go基础之环境搭建
m0_74824954
面试学习路线阿里巴巴golang开发语言后端
文章目录1Go1.1简介1.1.1定义1.1.2特点用途1.2环境配置1.2.1下载安装1.2.2环境配置1.2.2.1添加环境变量1.2.2.2各个环境变量理解1.2.3验证环境变量1.3包管理工具GoModules1.3.1开启使用1.3.2添加依赖包1.3.3配置国内包源1.3.3.1通过goenv配置1.3.3.2修改环境变量1.3.4更新和管理依赖1.3.5没有域名时项目操作1.3.6g
- Golang中的格式化输入输出
whhom
Golanggolang开发语言后端go语言go
Golang中的格式化输入输出打印输出在Go语言中有多种输出方式,不同的输出适用场景不同。归纳起来有三种,每种还分为3种方式(原内容、原内容+ln、原内容+f)PrintXX()FprintXX()SprintXX()FprintXXFprintXX在GoWeb中使用比较多,把内容写到响应流中。以Fprintln()为例,源码如下://Fprintlnformatsusingthedefaultf
- 【2024年-12月-续篇-开源社区openEuler实践记录】go-from-mod
我明天再来学Web渗透
开源社区OpenEuler开源golang开发语言copilot架构开源软件后端
前言初学Go语言,下面仅为个人所学以及小结,若有错误之处,还请指教。Go语言基础入门篇的一二节课,其中我对每个讲到的语法都重写或者本地测试运行过,其中第二节课的第三个小项目尚未实现(本人对网络连接那块的脚本尚不熟悉,)部分代码不能太多,所以贴图了有些。Go基础语法目前学过的Go语法只有课程内的,下面是一些小小的笔记。导包和输出packagemainimport"fmt"funcmain(){fmt
- 使用 Docker `buildx` 进行跨架构构建与构建缓存
大大宝的博客
dockerdocker架构缓存
在本教程中,我们将学习如何使用Docker的buildx扩展来构建跨架构的镜像,并优化构建过程。通过具体的案例,我们将详细讲解如何启用binfmt支持、安装和配置buildx、创建跨平台镜像,以及使用构建缓存加速构建过程。场景:构建一个GoWeb应用镜像,支持x86_64和ARM64架构我们将通过以下步骤来实现这一目标:准备GoWeb应用:我们会编写一个简单的GoWeb应用,并创建一个Docker
- Django 详解
飞滕人生TYF
djangosqlite数据库
Django是一个高级的PythonWeb框架,用于快速开发安全且可维护的Web应用。它遵循“Djangoforperfectionistswithdeadlines”(为有期限的完美主义者设计)的理念,提供了一套完整的工具包,帮助开发者快速构建Web应用。1.Django基础概念1.1什么是Django?Django是一个基于Python的全栈Web框架,具备如下特点:MVC架构(在Django
- Go Web 框架集合
蚂蚁在飞-
golang开发语言后端
1.Gin•简介:Gin是一个高性能的GoWeb框架,设计目标是提供速度和高效性。它是Go语言中最受欢迎的Web框架之一。•特点:•极高的性能,基于httprouter。•支持中间件、JSON渲染、路由分组等功能。•丰富的错误处理和请求验证功能。•良好的文档和社区支持。•适用场景:适合需要高性能和灵活性的Web服务或RESTfulAPI。官方网站:https://gin-gonic.com/2.E
- go基础知识归纳总结
悟空丶123
golang开发语言后端
无缓冲的channel和有缓冲的channel的区别?在Go语言中,channel是用来在goroutines之间传递数据的主要机制。它们有两种类型:无缓冲的channel和有缓冲的channel。无缓冲的channel行为:无缓冲的channel是一种同步的通信方式,发送和接收必须同时发生。如果一个goroutine试图通过无缓冲channel发送数据,它会阻塞,直到另一个goroutine从该
- Go Web 编程 PDF
book_longker
资源golangpdf开发语言
GoWeb开发必读:《BuildingWebApplicationswithGo》PDF资源分享找寻良久,终于寻得这本珍贵资源!现在我免费分享给大家你是否正在学习Go语言开发Web应用?是否想要提升Go并发编程能力?这本书绝对不容错过!关于这本书《BuildingWebApplicationswithGo》是一本非常实用的GoWeb开发指南:以构建网络论坛为案例,全面讲解GoWeb开发️深入剖析请
- golang教程推荐
kdbshi
golanggit开发语言后端
推荐几个Go语言教程:Go语言圣经:https://books.studygolang.com/gopl-zh/Go语言高级编程:https://chai2010.cn/advanced-go-programming-book/GoWeb编程:http://go-web-programming-cn.github.io/Go入门指南:https://tour.golang.org/welcome/
- 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