- Java:数学相关类
昭关969
java开发语言
Math类Math类是数学工具类,用于数学计算,构造方法是私有的,方法都是静态的,因此直接类名调用staticintabs(inta)求参数绝对值staticdoubleceil(doublea)向上取整staticdoublefloor(doublea)向下取整staticlonground(doublea)四舍五入staticintmax(inta,intb)求较大值staticintmin(
- MyBatis 方法重载的陷阱及解决方案
molashaonian
mybatis方法重载异常方法名相同
在使用MyBatis进行开发时,尤其是使用注解模式(如@Select、@Insert等)时,开发者常常会遇到这样一个问题:为什么我的方法重载不能正常工作?即使在Java中允许方法名相同但参数不同的重载,MyBatis在处理注解的SQL方法时却并不支持这种方式。这篇文章将深入探讨MyBatis的这个特性及如何规避相关的坑。问题背景在标准的Java开发中,方法重载是一种常见的设计模式。方法重载允许我们
- Java面试必问之Hashmap底层实现原理(JDK1.7)
当我遇上你csy
Java基础javahashmap面试源码
1.前言Hashmap可以说是Java面试必问的,一般的面试题会问:Hashmap有哪些特性?Hashmap底层实现原理(get\put\resize)Hashmap怎么解决hash冲突?Hashmap是线程安全的吗?…今天就从源码角度一探究竟。笔者的源码是OpenJDK1.72.构造方法首先看构造方法的源码//默认初始容量staticfinalintDEFAULT_INITIAL_CAPACIT
- java class 获取类_Java中通过Class类获取Class对象的方法详解
洪九(李戈)
javaclass获取类
Java中通过Class类获取Class对象的方法详解前言本文主要给大家介绍的是关于Java通过Class类获取Class对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:阅读API的Class类得知,Class没有公共构造方法。Class对象是在加载类时由Java虚拟机以及通过调用类加载器中的defineClass方法自动构造的获取Class对象的三种方式(实例采用P
- 【JAVA入门】Day35 - 方法引用
Clown Piece
JAVA入门javapython排序算法
【JAVA入门】Day35-方法引用文章目录【JAVA入门】Day35-方法引用一、方法引用的分类1.引用静态方法2.引用成员方法2.1引用其他类的成员方法2.2引用本类和父类的成员方法2.3引用构造方法2.4使用类名引用成员方法2.5引用数组的构造方法二、方法引用的例题方法引用就是“把已经有的方法当作函数式接口中抽象方法的方法体”来使用。下面是一个排序方法,它的第二个参数是一个Comparato
- java使用抽象类的注意事项
Java__攻城狮
java基础面试题java开发语言
1抽象类不能进行实例化因为如果抽象类允许实例化,就可以调用内部没有方法体的抽象方法。这显然不合理。2抽象类存在构造方法可以交给子类用super进行访问。(其实抽象类除了不能创建对象,其他与普通类没有区别)。3抽象类可以存在普通方法。主要是让子类继承使用。4抽象类的子类子类要么重写父类的抽象方法,要么子类字迹也变成一个抽象。
- java native方法深入理解
weixin_41253524
javapython开发语言jvmc++
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录@[TOC](文章目录)javanative方法深入理解前言一、java字节码层面分析1.普通方法demo2.普通方法字节码3.native方法demo4.native方法字节码字节码层面总结1.调用static方法字节码:invokestatic2.调用实例方法字节码:invokevirtual3.调用类的构造方法:**in
- 2021-04-22 java 类和对象 上课笔记
琼琼i
#**构造方法**```java//构造方法,用于在内存中创建对象publicPhone(){System.out.println("我被构造了");}//构造方法publicPhone(doublekuan,doublegao,intzhong,Stringyanse){width=kuan;high=gao;weight=zhong;color=yanse;}作用:帮助开辟内存空间,创建对象特
- python ---- class类详解
husterlichf
pythonpython开发语言
1、class的定义Python中定义一个类使用class关键字实现,其基本语法格式如下:class类名:多个(≥0)类属性...多个(≥0)方法...类名一般建议每个单词的首字母大写,其它字母小写,类名后继续接冒号(:)2、__init__构造方法构造方法用于创建对象时使用,每当创建一个类的实例对象时,Python解释器都会自动调用它,并且一个类中只能有一个__init__构造方法。Python
- JavaBean、MVC设计模式与Java中Dao、Service、Controll三层体系
Java糖糖
mavenspringboot后端javaspring
文章目录一、JavaBeanJavaBean实际就是一个普通的Java类,为了规范开发,要求JavaBean具有如下规范:①具有一个公共的、无参的构造方法;②类的属性私有,且必须提供公共的setter和getter方法用于外部对属性赋值和获取属性值;简而言之:JavaBean=属性私有+公共的setter/getter方法+空参构造器ORM编程思想(objectrelationalmapping,
- 【小结】利用filter做统一编码转换
桌面很乱
思路一:静态代理在filter中做一个内部类继承HttpServletRequestWrapper(此类采用了适配器模式,全部方法均为引用构造方法中传递的ServletRequest),进行静态代理(装饰者模式)。注意区分get和post请求的编码处理方式。加强(重写)request.getParameter(Stringkey),最后将包装过的request对象(MyRequest)传递给ser
- 2-JavaObjectOriented
Goinhn
Java面向对象设计类与对象、封装、构造方法类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。属性:就是该事物的状态信息。行为:就是该事物能够做什么。对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。类与对象的关系:类是对一类事物的描述,是抽象的。对象是一类事物的实例,是具体的。类是对象的模板,对象是类的实体。类的定义
- 零知识证明-公钥分发方案DH((六)
yunteng521
区块链零知识证明算法区块链密钥分发DH
前言椭圆曲线配对,是各种加密构造方法(包括确定性阀值签名、zk-SNARKs以及相似的零知识证明)的关键元素之一。椭圆曲线配对(也叫“双线性映射”)有了30年的应用历史,然而最近这些年才把它应用在密码学领域。配对带来了一种“加密乘法”的形式,这很大的拓展了椭圆曲线协议的应用范围。本文的目的是详细介绍椭圆曲线配对,并大致解释它的内部原理先了解DH协议Diffie-Hellman协议简称DH,是一种公
- JAVA常用设计模式
空你个指针啊
JAVAjava设计模式
1.单例设计模式所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。具体实现步骤如下:(1)将采用单例设计模式的类的构造方法私有化(采用private修饰)。(2)在其内部产生该类的实例化对象,并将其封装成privatestatic类型。(3)定义一个静态方法返回该类的实例。示例代码如下:classSingleton{private
- 客户信息管理软件(集合版)
*共清欢*
Java基础java开发语言后端
当当当~~~~~~欢迎大家阅读,接下来我们一起来看集合版的客户信息管理软件一、编写思路(一)首先定义一个客户类1:定义变量2:构造方法3:get/set方法(二)其次编写客户管理类1:定义一个main方法(1)用输出语句完成主界面的编写(2)用Scanner实现键盘录入数据(3)用switch语句完成操作的选择(4)用循环完成再次回到主界面2:定义一个方法,用于添加客户信息(1)键盘录入客户对象所
- arraylist和vector区别
馒头配咸菜
笔记java列表
arraylist有三个构造方法:publicArrayList(intinitialCapacity)//构造一个具有指定初始容量的空列表。publicArrayList()//构造一个初始容量为10的空列表。publicArrayList(Collectionc)//构造一个包含指定collection的元素的列表Vector有四个构造方法:publicVector()//使用指定的初始容量和
- chapter06 面向对象基础 知识点Note
月下绯烟
Java开发语言java
文章目录前言类的设计属性和行为对象的内存解析(堆栈方法区)类的成员之一变量(属性)field类的成员之二方法method对象数组方法重载overload可变个数的形参语法糖方法的值传递机制递归关键字packageimportMVC设计模式import导入面向对象特征之一封装类的成员之三构造器JavaBeanUML类图前言`面向对象封装面向对象是软件开发中的一种编程风格和开发范式,除了面向对象,还有
- Java设计模式(四)—— 原型模式
小小印z
设计模式原型模式java设计模式
目录一、问题的提出二、原型模式三、原型模式具体实现方法(1)利用构造函数方法浅复制深复制(2)利用Cloneable接口方法浅复制深复制(3)利用Serializable序列化接口方法原型模式是指用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。适合原型模式的情景如下:程序需要从一个对象出发,得到若干个和其状态相同,并可独立变化其状态的对象时;对象创建需要独立于它的构造方法和表示时以
- 第十六节 Java String类
程序猿小D
java开发语言jdkjava-eejvmeclipseintellij-idea
字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串。创建字符串创建字符串最简单的方式如下:Stringgreeting="Helloworld!";在代码中遇到字符串常量时,这里的值是"Helloworld!",编译器会使用该值创建一个String对象。和其它对象一样,可以使用关键字和构造方法来创建String对象。String类有11种构造
- javaSE (六):IO
404_NOT_FOUND@
JavaSEjava算法开发语言
目录一、File类●File类的构造方法●File类的常用方法二、输入及输出的概念三、输入流与输出流●流按着数据的传输方向分为:●从数据流编码格式上划分为:●InputStream和OutputStream的子类都是字节流●Reader和Writer的子类都是字符流四、字节流与字符流●字节流中常用类●字符流中常用类五、输入输出节点字节流●InputStream的基本方法●OutputStream的
- JavaBean
我是邱邱
开发规范,可以说是一种技术。javaBean就是一个普通的java类,但必须满足以下条件才能够称为是JavaBean:1)必须提供无参的构造方法;2)类中属性必须私有化;3)该类提供公共的getter和setter方法。JavaBean的使用场景:1)项目中用到的实体对象2)EL表达式中用到的访问对象的属性3)jsp标签张的属性赋值jsp中创建对象以及给对象属性赋值以及获取属性值的usebean也
- 通过接口注入多个实现类
策马踏清风
通过注入一个List的方法注入多个实现类,然后再循环遍历列表,得出需要使用的实现类。可以作为策略模式的实现之一。@Autowire和@Resource这两个都是用来装配bean的,可以加在字段或方法上(get,set,构造方法)Autowired默认使用类型装配,找到多个才会根据变量名找Autowired默认required为true即找不到会报错Resource是先通过名字找,然后才是类型使用@
- 抽象类与接口的区别
菁华浮英梦
抽象类1.抽象类中可以构造方法2.抽象类中可以存在普通属性,方法,静态属性和方法。3.抽象类中可以存在抽象方法。4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。接口1.在接口中只有方法的声明,没有方法体。2.在接口中只有常量,因为定义的变量,在编译的时候都会默认加上publicsta
- 用Go写业务系统需要制造哪些轮子?
司青玄
如果之前主要是用Java做业务系统,那么想用go重写的话还是比较痛苦的,最主要的原因就是你会发现要啥没啥,需要自己重写(造轮子)。下面列举了一些需要施工的基础设施。错误处理在Java中,只要你没有刻意的使用4参数的Exception构造方法去定义自己的异常类,那么默认情况下都是会记录调用栈的,这样基本上就能马上定位到事故第一现场,排查效率很高。Go则不然,如果使用默认的error机制,那么在报错的
- JavaEE 第20节 用TCP套接字实现简单回显服务器
灰阳阳
JavaEE基础#JavaEE网络编程服务器java-eetcp/iptcp网络
这里写目录标题一、API介绍ServerSocketSocket二、创建简单的回显服务器服务器端客户端一、API介绍ServerSocket构造方法方法签名方法说明ServerSocket(intport)创建⼀个服务端流套接字Socket,并绑定到指定端⼝关于此构造方法的注意事项:Server的构造方法不止这一个,但是表格中的是最常用的。ServerSocket(intport)不用指定服务器的
- JAVA 检查儿童身高是否达标
西柚第一深情jq
javajava
1.请设计一个儿童类Child,包括:(1)私有成员姓名name,字符串类型(2)私有成员年龄age,整型(3)私有成员性别gender,字符串类型,M表示男,F表示女。(4)私有成员身高height,整形,单位厘米(5)所有成员变量的getter和setter(6)带4个参数的构造方法,将成员变量初始化(7)重写toString()方法,返回字符串格式见输出样例请再设计一个身体检查类BodyCh
- JavaEE(2)
无柳丶先生
java-eejava
Servlet创建一个类继承HttpServlet,重写dogetdopost方法,并在web.xml中配置Servlet作用1.接收用户发送的请求数据2.调用其他的Java程序来处理请求3.向前端做出响应请求地址ip:端口/项目名/servlet程序地址IP和端口找服务器Servlet生命周期创建:第一次访问Servlet程序时,由服务器创建初始化:在构造方法执行完成后,调用init()执行一些
- LeetCode刷题——数组中两个数的最大异或值#421#Medium
喷火龙与水箭龟
LeetCode刷题leetcode算法数据结构pythonjava
数组中两个数的最大异或值的思路探讨与源码数组中两个数的最大异或值的题目如下图,该题属于数组类和树类型的题目,主要考察对于树构造方法的使用和数组结构的理解。本文的题目作者想到2种方法,分别是哈希表方法和字典树方法,其中哈希表方法使用Java进行编写,而字典树方法使用Python进行编写,当然这可能不是最优的解法,还希望各位大佬给出更快的算法。本人认为该题目可以使用哈希表方法的思路进行解决,首先初始化
- 字节跳动一面:请谈下Android消息机制,kotlin构造器
m0_65322636
程序员架构移动开发android
对于Handler的无参构造方法,默认采用当前线程TLS中的Looper对象,并且callback回调方法为null,且消息为同步处理方式。只要执行的Looper.prepare()方法,那么便可以获取有效的Looper对象。3.发送消息发送消息有几种方式,但是归根结底都是调用了sendMessageAtTime()方法。在子线程中通过Handler的post()方式或send()方式发送消息,最
- 值类型和引用类型、装箱和拆箱、静态类和普通类、方法的重载、继承和多态、访问修饰符
Envyᥫᩣ
C#值类型和引用类型装箱和拆箱静态类和普通类方法的重载继承和多态访问修饰符
目录一、值类型和引用类型的区别?值类型(ValueTypes)定义:特点:示例:引用类型(ReferenceTypes)定义:特点:示例:举例说明:总结:二、装箱和拆箱装箱(Boxing)特点:示例:拆箱(Unboxing)特点:示例:示例代码:装箱和拆箱的影响最佳实践:三、静态类和普通类的区别?静态类(StaticClass)普通类(Non-StaticClass)比较总结四、方法的重载方法重载
- 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