- 【java核心技术】Java知识总结 -- 异常
莪假裝堅強
#Java核心技术java异常基础
目录异常异常的分类如何抛出一个异常创建异常类捕获异常异常异常的分类下面为Java中异常的层次结构在Java语言规范中将派生于Error类或RuntimeException类的所有异常类称为非检查异常,所有其它异常称为检查异常。编译器将检查你是否为所有的检查型异常提供了异常处理器如果出现前两种情况,则必须告诉调用这个方法的程序员有可能抛出的异常。为什么?因为任何一个抛出异常的方法都可能是一个死亡陷阱
- Java基础详解
迷迷糊糊M
Java知识总结:Ⅰ、Java基础:ballot_box_with_check:一、初识java:rainbow_flag:1、Java的定义2、Java的版本分类3、Java的特性4、JDK、JRE、JVM三者的联系5、Java的配置及使用1、下载并安装JDK2、配置环境变量3、开始编码6、创建第一个Java程序1、创建类2、main方法3、输出语句HelloWorld程序:7、Java中的书写
- Java知识总结
modouwu
javaspringjava链表数据结构
java.util包listarraylist初始容量为10,底层(有一个属性)是一个对象数组,add元素时,先确保容量足够,不够就扩容,扩容大小为原来的1.5倍。add(index,e)时,先检查越界了没,再看是否要扩容,将index后面的元素整体后移,添加元素细节:arraylist的迭代循环,用迭代器迭代的时候,要用迭代器的remove方法,不能用list的remove方法,不然会抛异常;或
- Java知识总结(全!)--持续更新中
L可乐要加冰
java学习方法开发语言intellij-idea
不定期更新第一篇1.1前言1.2Java背景1.3Java方向1.4Java开发工具1.5Java运行机制1.6JDK、JRE1.7Java入门1.8Java源程序执行流程1.9Java转义字符1.10Java注释2.1从控制台读取输入2.2标识符2.3Java关键字2.4变量2.4.1变量的声明2.4.2变量的使用细节2.5Java中+号的使用2.6Java数据类型2.7基本数据类型转换2.7.
- Java知识总结之线程池
WangGavin
1线程池原理线程池原理图所谓线程池,就是有一个池子,里面存放着已经创建好的线程,当有任务提交个线程池执行时,池子中的某个线程会主动执行该任务.如果池子中的线程不够应付数量众多的任务时,则需要自动扩充新的线程到池子中,但是该数量是有限的;当任务较少时,池子中的线程又会自动回收,释放资源。一个完整的线程池应该具备如下要素:任务队列:用于缓存提交的任务。线程数量管理功能:一个线程池必须能够很好地管理和控
- java知识总结(三)封装、继承和多态
海之沐
java知识总结JavaSE知识总结javasejava基础java学习继承多态
java总结三封装、继承和多态封装:顾名思义,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。封装的大致
- 【java核心技术】Java知识总结 -- 泛型程序设计一
莪假裝堅強
#Java核心技术java开发语言泛型
目录1泛型的介绍2使用泛型的目的2.1泛型的好处2.2成为一位泛型程序员3定义简单泛型类4泛型方法5类型变量的定义6泛型代码和虚拟机6.1泛型擦除6.2装换泛型表达式1泛型的介绍泛型类和泛型方法有类型参数,这使得它们可以准确地描述用特定类型实例化时会发生什么。在有泛型类之前,程序员必须使用Object编写适用于多种类型的代码。这很烦琐,也很不安全。随着泛型的引入,Java有了一个表述能力很强的类型
- Java知识总结(持续更新)
小石潭记丶
java开发语言
一、JDK、JRE、JVM三者之间的关系?1.**JDK(JavaDevelopmentKit)**:JDK是Java开发工具包,它包含了用于开发Java应用程序的所有必要工具和库。这包括Java编译器(javac)、Java核心类库、开发工具(如调试器和监视器工具)以及其他一些实用工具。如果您希望编写、编译和运行Java程序,您需要安装JDK。2.**JRE(JavaRuntimeEnviron
- Java知识总结(二)
NickWilder
1.String类1.1源码:publicfinalclassStringimplementsjava.io.Serializable,Comparable,CharSequence{/**Thevalueisusedforcharacterstorage.*/privatefinalcharvalue[];/**Cachethehashcodeforthestring*/privateintha
- Java知识总结之线程安全与数据同步
WangGavin
1synchronizedsynchronized关键字可以实现一个简单的策略来防止干扰和内存一致性错误,如果一个对象是对多个线程是可见的,那么对该对象的所有读或写都将通过同步的方式来进行.synchronized关键字提供了一种锁机制,能够确保共享变量的互斥访问,从而防止数据不一致问题的出现.synchronized关键字包括entermonitor和exitmonitor两个jvm指令,它能够
- Java知识总结
磕开小宇宙
1.什么是kafka?Kafka是一款分布式的流处理框架。用于构建实时流处理应用。2.Spring提供了很好的事物支持,主要有编程式事物和声明式事务两种。编程式事务需要手动编写大量事务代码,侵入性高,使用频率不高。声明式事务是基于AOP切面实现的,将业务和事务进行解耦,代码侵入性低,使用频率较高。注解@Transactional可作用于接口,类,和方法上。事务的传播行为:Propagation.R
- Java知识总结
code喵喵
Java面试面试
项目总结&场景面试题Java基础MysqlredisElasticSearchZookeeperRabbitMQkafkaspring框架多线程JVM底层原理设计模式数据结构与算法网络编程NginxIO流&NettyLinuxJava锁AQSNacosthreadLocalRedisson
- Java知识总结
小石潭记丶
javajvmservlet
https://www.bilibili.com/video/BV1ys4y1S7Lc1、Java中线程的实现方式为什么说本质上只有一种实现线程的方式?实现Runnable接口究竟比继承Thread类实现线程好在哪里?实现Runnable接口publicclassRunnableThreadimplementsRunnable{@Overridepublicvoidrun(){System.out
- 实习生JAVA知识总结目录
努力生活...
实习出击javajvmservlet
一.JAVA基础学习JAVA知识点全面总结1:零散知识JAVA知识点全面总结2:面向对象JAVA知识点全面总结3:String类的学习JAVA知识点全面总结4:异常类学习
- java知识总结之Type
newtrek
image参考Java中的TypeType是Java编程语言中所有类型的公共高级接口(官方解释),也就是Java中所有类型的“爹”,它并不是我们平常工作中经常使用的int、String、List、Map等数据类型,而是从Java语言角度来说,对基本类型、引用类型向上的抽象;Type体系中类型的包括:原始类型(Type):不仅仅包含我们平常所指的类,还包括枚举、数组、注解等参数化类型(Paramet
- Java知识总结--SpringMVC篇
499 ls 599
知识总结SpringMVCSpringmvcjava
SpringMVC部门内容来自csdn博客:https://blog.csdn.net/a745233700/article/details/80963758https://blog.csdn.net/zyx1260168395/article/details/105088359目录SpringMVC1.1.1-MVC模式1.1.2-MVC框架的出现1.1.3-什么是SpringMVC1.1.4-
- java程序执行过程与编译原理,最全Java知识总结
普通网友
程序员java经验分享面试
基本知识1.学会分析源码程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这种怪状,真要追究起来,怪不得程序员这个群体本身——它是两个原因造成的:我们所有的教育和培训都在强调怎么写代码,并没有教大家如何读代码大多数工作场景都是一个萝卜一个坑,我们只需要了解一个系统
- 2021最新Java知识总结,助力大厂offer
java后端
本文是我花了三周时间整理出来的,希望对Java初学者有帮助~Java概述Java的特点Java是一门面向对象的编程语言。面向对象和面向过程是一种软件开发思想。面向过程就是分析出解决问题所需要的步骤,然后用函数按这些步骤实现,使用的时候依次调用就可以了。面向对象是把构成问题事务分解成各个对象,分别设计这些对象,然后将他们组装成有完整功能的系统。面向过程只用函数实现,面向对象是用类实现各个功能模块。例
- 哇塞!GitHub 上这些 Java repo 太强了吧,看完哪个都变大佬!
沉默王二
趣学Java算法数据库编程语言java分布式
大家好,我是正在装逼学习的二哥。今天给大家分享一些让人直呼“哇塞”的Java知识总结项目,二哥敢说,只要看完其中任何一个,都能变大佬!分享之前,随便唠点心里面的一些感受。之前的那篇奉劝那些想把编程学好的学弟学妹们!竟然是最近俩月阅读最好的一篇文章了。有读者留言说很感谢我之前的解惑,帮他走出了迷茫,迎来了生机;还有读者留言说虽然春招受到了歧视,很低落,但看到我这样“优秀”的榜样在前面激励着,又充满了
- 真香!Spring-AOP简介与底层实现机制,最全Java知识总结
最新Java面经
程序员java后端面试
前言前段时间,我向一位在阿里的朋友寻求进大厂的秘诀,他分享给我一份阿里内部资料——JAVA核心进阶手册,仔细翻阅一番才知道里面收纳整理的知识可真是齐全,不得不来感叹一番…我将JAVA核心进阶手册大致分为以下5篇内容基础:多线程+网络+数据结构与算法+MySQL+Tomcat框架:设计模式+Spring+SpringMVC+MyBatis分布式架构:限流(ZK/Nginx)+缓存(Redis/Mon
- Java知识小总结
年糕喵喵
java
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档java知识总结前言一、main函数的使用二、强制类型转换三,输入四,数组五,对包的解析总结前言Java的语言用法与c\c++类似,只有一点点的出入,这篇博客是我在学习Java的过程觉得应该注意的和与C语言一些不一样的地方。提示:以下是本篇文章正文内容一、main函数的使用classHelloword{publicstaticvoid
- 直接调用dao_JavaWeb 中 POJO、BO、VO、DO、DTO、DAO、PO 详细介绍
名侦探小新
直接调用dao
更多优质文章可关注:最全的Java知识总结github.comPOPO(持久对象)是PersistentObject的缩写,用于表示数据库中的一条记录映射成Java对象。PO仅仅用于表示数据,没有任何数据操作。通常遵守JavaBean规范,拥有getter/setter方法。BOBO(业务对象)是BusinessObject的缩写,用于表示一个业务对象,可以进行PO与VO/DTO之间的转换。BO通
- Github接近10w点赞的“Java知识总结+面试指南”你还想错过吗?
Java码农普尔斯
面试算法后端数据结构java面试编程语言spring
受疫情影响,今年似乎给人感觉似乎比往年还要难。显然,春节一过,我们又将迎来面试旺季金三银四。对于程序员来说,秋招的失利更意味着在金三银四要打一场“硬战”,可又有多少人做好了面试的准备呢?对于一线互联网公司的面试,你又了解多少呢?Github作为程序员们的后花园,一直以来都是程序员最喜欢逛逛、学习的地方,小编也不例外,最近看到一份对标阿里、字节、Bigo、拼多多等Java核心架构笔记,已经接近10w
- java中的bo和do_JavaWeb 中 POJO、BO、VO、DO、DTO、DAO、PO 详细介绍
weixin_39895684
java中的bo和do
更多优质文章可关注:最全的Java知识总结github.comPOPO(持久对象)是PersistentObject的缩写,用于表示数据库中的一条记录映射成Java对象。PO仅仅用于表示数据,没有任何数据操作。通常遵守JavaBean规范,拥有getter/setter方法。BOBO(业务对象)是BusinessObject的缩写,用于表示一个业务对象,可以进行PO与VO/DTO之间的转换。BO通
- java知识总结(工作一年半差不多两年了,感觉是时候总结一下java,文章内容为本人观点)
你好-程序员
java
2017-2-18进程和线程一,进程线程基本概念进程:一个正在执行的应用程序。线程:程序中的一个代码流。关系:一个线程只能属于一个进程,但是一个进程可以有多个线程,但是只有一个主线程。多线程:可以同时并发执行多个任务。最大限度的降低cpu的闲置时间。不利:线程越多,占用内存越多;需要cpu时间跟踪管理;必须解决资源共享的问题;线程太多会导致程序很难控制,可能出现喝多bug;二,创建线程的两种方法①
- Java知识总结----事件处理机制(九)
在远行的路上
Java知识总结
在上一篇文章中,跟大家介绍了队列的使用,在基于数据库的队列的是实现中,提到了可以使用事件处理机制类进行队列数据的处理。今天就来简单看看事件处理机制是怎么使用的。首先我们需要一个事件的实体类:Eventimportjava.util.concurrent.atomic.AtomicInteger;/***消息实体类*/publicclassEvent{//消息体privateObjectdata;/
- 【github淘宝】Java学习+面试指南( 一份涵盖大部分Java程序员所需要掌握的核心知识)
科学熊
杂谈
Java知识体系学习一个较完整的Java知识总结开源项目,学习的不错选择:包含的内容:Java基础容器并发JVM其他网络操作系统Linux数据结构与算法数据结构算法数据库MySQLRedis系统设计必知常用框架SpringSpringBootMyBatis认证授权(JWT、SSO)分布式Elasticsearch(分布式搜索引擎)RPC消息队列API网关分布式id分布式限流分布式接口幂等性数据库扩
- java知识总结——关键字(二)
花开花落 花满楼
求职
java知识总结——关键字(二)说明一、static关键字二、switch的使用三、volatile的使用四、instanceof的使用五、strictfp的使用说明 本文仅仅为了博主面试时方便查阅与梳理相关知识,如果有错误与不到位的地方,欢迎大佬指点改正,谢谢! 阅读书籍:《java程序员面试笔试宝典》一、static关键字 1、作用 static关键字主要有两种作用:第一,为某特定数据
- java知识总结
javalive09
总结
基础知识基本类型数据类型编码知识变量操作符关于补码流程控制关键字数组array访问权限控制基本类型强制转换枚举类型base64编码16进制字符串转化成int方法面向对象类与对象对象初始化与清理复用类多态与接口重载与重写java中的抽象字符串内存回收java垃圾回收异常处理异常处理androidexception研究编程规范注释开发最佳实践及原则中级知识多线程多线程IO流I/O系统容器容器内部类内部
- Java知识总结----队列的使用(八)
在远行的路上
Java知识总结
今天跟大家来看看如何在项目中使用队列。首先我们要知道使用队列的目的是什么?一般情况下,如果是一些及时消息的处理,并且处理时间很短的情况下是不需要使用队列的,直接阻塞式的方法调用就可以了。但是,如果在消息处理的时候特别费时间,这个时候如果有新的消息来了,就只能处于阻塞状态,造成用户等待。这个时候在项目中引入队列是十分有必要的。当我们接受到消息后,先把消息放到队列中,然后再用新的线程进行处理,这个时候
- 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