- 【Spring Boot】Spring Boot解决循环依赖
m0_54851477
面试学习路线阿里巴巴springbootjavaspring
目录循环依赖一、前言二、Bean的创建过程三、循环依赖检测机制3.1实例化阶段3.2属性填充阶段3.3依赖注入循环依赖一、前言环依赖是指两个或者多个bean互相依赖对方,从而形成一个闭环。例如:BeanA依赖于BeanB,而BeanB又依赖于BeanA。可能会导致Spring在尝试创建这些bean实例时出现问题,因为他们互相等待对方被创建,最终导致应用程序无法启动。Spring是如何发现这种循环依
- MyBatis-Plus介绍及基本使用
墨鸦_Cormorant
#Java持久层mybatismybatis-plusmybatisPlus
文章目录概述介绍MyBatis-Plus常用配置分页插件配置类注解配置快速入门maven依赖编写配置文件编写启动类编写MybatisPlus配置类代码生成器:MybatisPlusGeneratormaven依赖代码生成器核心类概述介绍MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。主页:传送门引入MyBati
- mybatis-plus逆向code generator pgsql实践
松树戈
工具使用mybatisspringboot
mybatis-plus逆向codegeneratorpgsql实践环境准备重要工具的版本供参考pom依赖待逆向的SQL配置文件CodeGenerator配置类配置类说明环境准备重要工具的版本jdk1.8.0_131springboot2.7.6mybatis-plus3.5.7pgsql14.15供参考pom依赖4.0.0com.tghparent-demo0.0.1-SNAPSHOTparen
- 千里马平台介绍(2)
大道不孤,众行致远
平台介绍java
千里马平台的核心是微服务架构。微服务架构有很多种,我们锁定springCloud。服务注册与发现锁定nacos,网关为springgateway。选型曾经花了很多时间,做了很多比较,我认为这是目前最优组合。不选用这套架构的同学们可以转学了,大家不是一条道上的。版本选择也是个头痛问题,有关版本的问题可见版本说明千里马架构当前选择版本如下:2.3.2.RELEASEHoxton.SR92.2.6.R
- Python数据处理之导入导出Excel数据
master_chenchengg
python能力提升面试宝典技术IT信息化
Python数据处理之导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档?准备工作:让Python与Excel握手言欢数据入境:把Excel表格里的宝藏带入Python世界数据出境:将Python分析结果优雅地送回Excel家园玩转数据:用Python对Excel数据进行清洗、转换和分析自动化魔法:编写Python脚本实现Excel数据处理自动化跨界合作:整合其他
- 中国第一本介绍企业级开发工具Zend的书籍
weixin_34245749
开发工具数据库javascriptViewUI
【书名】大道PHP:LAMP+Zend+开源框架整合开发与实战【作者】三扬科技【ISBN】978-7-121-09171-1【出版社】电子工业出版社【出版日期】2009年9月【定价】99.00元(含视频DVD1张)【宣传语】第一本介绍企业级开发工具Zend的书籍最完整的PHP5开发技术与实战代码万用大全基于Linux+Apache+MySQL+PHP黄金组合,Socket、WebService、A
- 调用接口怎么记录到日志里面?项目中日志怎么做的?
北执南念
工作中总结加强学习java
调用接口怎么记录到日志里面?项目中日志怎么做的?文章目录调用接口怎么记录到日志里面?项目中日志怎么做的?1.日志记录的重要性1.1调试与排查1.2性能监控1.3审计与合规2.日志记录的实现2.1日志框架选择2.2日志记录策略2.3日志记录的最佳实践3.实现接口调用日志记录的3.1在SpringBoot项目中3.2使用AOP(面向切面编程)4.日志收集与分析4.1集中化日志管理4.2日志分析5.项目
- MyBatis 源码解析:动态 SQL 生成的基本原理
捕风捉你
MyBatis源码解读mybatistomcat
摘要MyBatis提供了灵活的动态SQL功能,使得开发者可以根据业务需求在运行时生成不同的SQL语句。动态SQL是MyBatis最具特色的功能之一,它允许我们通过条件拼接来生成复杂的查询语句。本文将通过自定义实现一个简化的动态SQL生成器,解析其工作原理,并结合MyBatis的源码进行深入讲解。前言传统的SQL查询往往需要开发者根据不同的业务逻辑手动拼接SQL语句,而这种方式不仅容易出错,也不够灵
- 计算机的基本组成部分
人可小月半
硬件工程
MCU:微控制器,中文简称单片机。指的是把CPU的频率与规格进行缩减处理,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在一块芯片之上,形成芯片级的计算机,为各色的应用场合提供各种组合控制,就比如手机、遥控器、PC外围,又或者是汽车电子、工业上的步进马达、机器手臂的控制等,都离不开MCU芯片。内存是计算机中用来存储数据和程序的硬件设备,分为主存和
- 别再懵圈了!Spring IOC/DI,看完不懂你喷我!
码熔burning
SpringBootspringjava后端
文章目录一、什么是IOC(控制反转)?二、什么是DI(依赖注入)?三、为什么要有IOC和DI?四、IOC和DI的好处五、应用实例六、总结一、什么是IOC(控制反转)?传统方式:想象一下,你要盖房子。传统方式是你自己找砖头、水泥、钢筋,自己搅拌水泥,自己一块一块地砌砖。所有的事情都由你来控制。IOC方式:现在有了IOC,你只需要告诉一个建筑公司(IOC容器):“我要盖房子,需要这些材料和工人。”建筑
- Spring Boot中使用RabbitMQ(2)
D1561691
程序员java-rabbitmqspringbootrabbitmq
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!MessageBroker与AMQP简介MessageBroker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:消息路由到一个或多个目的地消息转化为其他的表现方式执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户调用Web服务来检索数据响
- Spring框架篇
yadanuof
yy的学习之路springjava数据库
Bean线程单例bean不是线程安全的,Spring框架中有一个@Scope注解,默认的值就是singleton,单例的。因为一般在spring的bean的中都是注入无状态的对象,没有线程安全问题,如果在bean中定义了可修改的成员变量,是要考虑线程安全问题的,可以使用多例或者加锁来解决AOPAOP面向切面编程,用于处理那些与业务无关,但对多个对象产生影响的公共行为和逻辑,将其抽取并封装为一个可重
- Spring——Spring开发实战经验(1)
庄小焱
Spring框架后端spring系统实战
摘要文章主要介绍了Swagger作为API文档生成和测试工具的功能,包括自动生成API文档、提供可视化调试界面、促进前后端协作、支持OpenAPI规范等。同时,还提及了SpringBoot与Swagger3的实战应用,以及Spring开发中其他相关技术内容,如@Resource与@Autowired的区别、Druid监控配置、切面日志示例等。1.Swagger-API文档生成和测试工具Swagge
- spring security 实现短信登录---若依RuoYi整合短信验证码登录
菜鸡且互啄69
springjava后端
背景:若依默认使用账号密码进行登录,但是咱们客户需要增加一个短信登录功能,即在不更改原有账号密码登录的基础上,整合短信验证码登录。本案例基于RuoYi-Vue版本实现,其他版本应该大同小异。本文参考http://t.csdnimg.cn/go78Z1自定义短信登录token验证仿照UsernamePasswordAuthenticationToken类,编写短信登录token验证。我们自己构造的这
- 华为小艺支持DeepSeek
坚果的博客
语音识别人工智能
华为小艺支持DeepSeek小艺集成DeepSeek,使用便捷流畅华为纯血鸿蒙HarmonyOSNEXT系统内置的小艺助手App已成功整合DeepSeek服务。用户能够免费且无门槛地使用该服务,同时还享有特别资源支持。目前,小艺在整合DeepSeek服务后运行极为流畅,没有任何卡顿现象。体验步骤若用户想要体验小艺与DeepSeek的结合功能,需先确保小艺助手软件版本达到11.2.10.310或以上
- SSM框架搭建
皇家大厨
笔记
此文参考书籍为ACCP软件工程师——使用SSM框架开发企业级应用8.0版文章目录遇到的问题:1.错误:couldnotfindresourcesrc/dao/UserMapper.xml和mybatis启动异常:Logginginitializedusing'classorg.apache.ibatis.logging.log4j.Log4jImpl'2.Eclipse中的路径问题:3.log4j
- Spring Boot 整合 log4j2 日志配置教程
m0_74824517
面试学习路线阿里巴巴springbootlog4j单元测试
文章目录前言一、常用日志框架二、配置参数介绍1.日志级别2.输出形式3.日志格式3.1PatternLayout自定义日志布局三、Log4j2配置详解1.根节点Configuration2.Appenders节点2.1Console节点2.2File节点2.3RollingFile节点2.3.1ThresholdFilter节点2.3.2Policies节点2.3.3ThresholdFilter
- Java面试突击3(3):Java基础面试--JVM
CodingALife
社招面经java
1、JVM有哪⼏块内存区域?Java8之后对内存分代做什么改进?Version:0.9StartHTML:0000000105EndHTML:0000003884StartFragment:0000000141EndFragment:0000003844集合、并发、spring框架,期待着我对这些基础的东西做⼀些很深⼊的,很⽜X的讲解,基于框架写⼀些代码,完事⼉了之后,就会把代码进⾏⼀个部署,⼀般
- Disconnected from the target VM, address: ‘127.0.0.1:64555‘, transport: ‘socket‘解决方案
It_BeeCoder
SpringBoot000项目开发问题整理springboot
问题描述今天在启动SpringBoot项目的时候,报以下错误:DisconnectedfromthetargetVM,address:'127.0.0.1:64555',transport:'socket'解决方案经排查,是将@Value("${}")误写为@Resource导致的。
- 启动Springboot项目maven命令
It_BeeCoder
SpringBoot
1mvncleancompile,将项目重新编译2mvninstall,打包3mvnspring-boot:run,启动项目4mvnpackage,打成war包
- Springboot集成pagehelper-spring-boot-starter分页插件
帅大大的架构之路
#Java笔记springboot分页插件
Springboot集成pagehelper-spring-boot-starter1.添加依赖com.github.pagehelperpagehelper-spring-boot-starter1.4.32.application.yml配置#pagehelper配置pagehelper:helperDialect:mysqlreasonable:truesupportMethodsArgum
- Java Swing-2.环境搭建及窗口背景
crime_lamb
javaswingjava开发语言
环境搭建及设置窗口背景环境搭建jdk:1.8Maven:3.2.5开发一个小型的桌面程序,可直接创建一个基础的Maven项目,我的场景中不使用Spring所以并没有使用Springboot框架下面是我的pom.xml4.0.0org.exampleSwing-Test1.0-SNAPSHOTArchetype-Swing-Testhttp://maven.apache.orgcom.formdev
- org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde Maven下载不下来
百夜﹍悠ゼ
mavenjarjava
找了很多文章都提供以下两种方式1)设置maven镜像仓库aliyunmaven*阿里云spring插件仓库https://maven.aliyun.com/repository/spring-pluginnexus-aliyun*Nexusaliyunhttp://maven.aliyun.com/nexus/content/groups/public2)pom文件增加springhttps://
- Springboot使用Thumbnailator压缩图片上传到阿里云OSS(无损压缩)
一勺菠萝丶
Java#OSS#SpringBoot
前提:图片的压缩大致有两种,一种是将图片的尺寸压缩小,另一种是尺寸不变,将压缩质量,一般对于项目我们需要第一种,即用户上传一张分辨率为3840 × 2160的图片,通过上传图片接口后上传到OSS上的图片分辨率会变成1920×1080(如3840 × 2160的图片大小为11.4M,上传后的图片大概会为1.9M),此时上传后到OSS的图片和原图质量上一致,也就是说看上去只的大小的区别,清晰度上没有任
- 【Elasticsearch】分片与副本机制:优化数据存储与查询性能
程风破~
ElasticsearchElasticsearch实战elasticsearch大数据搜索引擎
博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分
- 【课题推荐】基于自适应滤波技术的多传感器融合在无人机组合导航中的应用研究
MATLAB卡尔曼
课题推荐与讲解无人机
无人机组合导航系统在现代航空、农业、监测等领域的应用越来越广泛。为了提高导航精度,通常采用多传感器融合技术,将来自不同传感器的数据(如GPS、惯性测量单元(IMU)、磁力计等)进行整合。然而,传感器的量测偏差、环境干扰以及非线性特性使得多传感器融合面临诸多挑战。因此,开发一种自适应的多传感器融合方法,能够有效应对这些问题,对无人机导航系统的性能提升至关重要。文章目录研究目标创新点研究方法实现示例M
- 深入理解Spring MVC中的后缀模式匹配
t0_54manong
springmvcjava个人开发
在SpringMVC开发中,RequestMappingHandlerMapping的setUseRegisteredSuffixPatternMatch()方法是一个容易被忽视但非常重要的配置选项。它决定了是否启用后缀模式匹配(即以.*结尾的路径匹配)。默认情况下,该选项为true,这意味着一个映射为/xyz的处理器也会匹配/xyz.abc或/xyz.abc.test等路径,但不会匹配xyzab
- DeepSeek为什么超越了OpenAI
deepseek
DeepSeek的超越源于四大关键差异:技术架构的垂直整合优势、数据策略的动态闭环设计、商业模式的场景化落地能力、行业定位的差异化突围。其中,技术架构的突破最具革命性——DeepSeek创造性地采用"混合专家系统+领域预训练"架构,在特定领域的推理效率比OpenAI的GPT-4提升40%以上(根据2023年MLPerch基准测试)。这种技术路线选择,使其在医疗诊断、工业质检等垂直场景的准确率达到9
- 常用的系统操作日志记录实现方式
程序员蔡徐坤
java网络mybatiskafkaspring
1.AOP(面向切面编程)实现原理通过拦截方法调用(如Controller层或Service层),在方法执行前后插入日志记录逻辑,实现业务代码与日志逻辑的解耦。技术实现(以SpringAOP为例):@Aspect@ComponentpublicclassLogAspect{@Pointcut("execution(*com.example.service.*.*(..))")publicvoids
- java springboot连接sqlserver使用
大得369
javaspringbootsqlserver
pom.xml增加sqlserver驱动com.microsoft.sqlservermssql-jdbc9.4.0.jre8application.yml配置文件server:port:9001#spring:#application:#name:dade01#datasource:#driver-class-name:com.mysql.jdbc.Driver#url:jdbc:mysql:/
- 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