- 微服务日志追踪,Skywalking接入TraceId功能
Victor刘
微服务skywalkingjava
文章目录一、借助skywalking追加traceIdlogbacklog4j2效果二、让skywalking显示日志内容版本差异logback配置文件log4j2配置文件一、借助skywalking追加traceId背景:在微服务或多副本中难以观察一个链路的日志,需要通过唯一traceId标识来查找,下面介绍Skywalking-traceId在Java中的配置方法。介绍两种java日志的配置方
- SpringBoot—整合log4j2入门和log4j2.xml配置详解
LuckyTHP
springbootlog4jxml
引言对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维。而日志的输出需要有一定的规划,如日志命名、日志大小,日志分割的文件个数等。在Spring的框架下,我们可以使用log4j来进行日志的设置,高版本的SpringBoot会使用log4j2。介绍log4j2概述截取官网的原话:ApacheLog4j2isanupgradetoLog4jthatprovidessignifican
- Spring boot+LogBack+MDC实现链路追踪
十一技术斩
java后端springbootspring
MDC介绍MDC(MappedDiagnosticContext,映射调试上下文)是log4j、logback及log4j2提供的一种方便在多线程条件下记录日志的功能。MDC可以看成是一个与当前线程绑定的哈希表,可以往其中添加键值对。MDC中包含的内容可以被同一线程中执行的代码所访问。当前线程的子线程会继承其父线程中的MDC的内容。当需要记录日志时,只需要从MDC中获取所需的信息即可。API说明:
- Spring Boot 源码解析之 Logging
fire-flyer
springbootspringloggingjavalog4j
目录设计总览(SpringBootLogging模块抽象)LoggingSystem加载机制源码分析LoggingApplicationListener启动流程Log4J2LoggingSystem主要源码解析logging.config、log4j2-spring.xml加载逻辑动态日志级别设置(Actuator调用)✅1️⃣设计总览logging初始化流程总览:[SpringBoot启动]|v
- 在spring boot中使用Logback
棠棠的cafe
java日志javalogback
在SpringBoot中使用Logback作为日志框架是开发中的常见需求,因其高性能和灵活配置而广受青睐。以下是详细实践指南,结合了配置方法、代码示例及最佳实践:一、依赖配置SpringBoot默认集成了Logback,无需手动添加依赖:org.springframework.bootspring-boot-starter若需切换至Log4j2,需排除默认日志依赖并引入Log4j2:更多配置细节可
- Log4j 和 Log4j2的比较
棠棠的cafe
日志javajavalog4j
以下是Log4j(通常指Log4j1.x)与Log4j2的核心对比分析,结合架构、性能、功能及适用场景,帮助开发者做出合理选择:一、架构与设计特性Log4j1.xLog4j2分析架构模型单模块设计,耦合度高模块化插件架构(API+Core)Log4j2解耦接口与实现,扩展性更强包路径org.apache.log4jorg.apache.logging.log4jLog4j2避免与旧版本冲突,支持共
- 【log4j2.xml配置文件详解】
一头探索java的孤狼
log4jxml单元测试
log4j2.xml配置文件详解一、log4j2介绍二、配置文件节点解析三、需要的Maven依赖四、最简配置五、较全面的配置idea中演示一、log4j2介绍log4j2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",“.json"或者”.jsn"。配置文件的格式:log2j配置文件可以是xml格式的,也可以是json格式的。配置文
- SSM框架整合
像污秽一样
Javajavaspringspringmvcmybatis
目录1.SSM框架概述2.SSM框架整合【任务】在MavenWeb工程中实现Spring、SpringMVC、MyBatis框架整合。1.整合SSM框架依赖2.整合SSM框架配置2.1.数据库连接参数2.2.SSM框架配置2.3.Log4j2日志配置2.4.web.xml配置3.SSM框架完善封装Api返回值结构封装分页参数封装分页查询条件实现用户的分页查询功能实体类UserVO类UserVo分页
- Java日志框架
Epi_HHH
Java框架javalogback
目录优质文章一、日志体系二、日志门面Facade三、日志实现Impl四、最佳组合优质文章带你掌握Java各种日志框架-蚂蚁小哥-博客园一文带你彻底掌握Log4j2-蚂蚁小哥-博客园一、日志体系1)总览sl4j是目前常用的日志门面,logback是目前常用的日志框架。门面(Facade):统一的日志API接口,应用程序只调用这个接口,不依赖具体实现。实现(Implementation):具体的日志框
- 【BUG】Logging system failed to initialize using configuration from ‘classpath:log4j2-dev.xml‘(亲测有效)
东方神剑2023
buglog4jxml
【BUG】Loggingsystemfailedtoinitializeusingconfigurationfrom‘classpath:log4j2-dev.xml’报错截图:报错内容:Loggingsystemfailedtoinitializeusingconfigurationfrom'classpath:log4j2-dev.xml'java.lang.IllegalStateExcep
- 从 Log4j 到 typescript-eslint:开源软件供应链安全威胁情报深度解析与实践指南
梦玄海
log4jtypescript开源软件
一、开源供应链安全:风险全景图与核心威胁剖析▐供应链攻击入口模型攻击阶段攻击方式典型示例开发环节上游仓库投毒event-stream恶意包事件分发环节公共仓库劫持PyPI库的dependency-confusion依赖管理环节合法包漏洞利用Log4j2RCE(CVE-2021-44228)构建部署环节CI/CD工具链污染Codecovbash上传器泄露事件▐近三年高危事件数据(来源:Snyk202
- 护网行动面试试题(1)
枷锁—sha
网络安全蓝队—应急响应面试职场和发展网络安全web安全
文章目录1、描述外网打点的流程?2、举几个FOFA在外网打点过程中的使用小技巧?3、如何识别CDN?4、判断出靶标的CMS,对外网打点有什么意义?5、ApacheLog4j2的漏洞原理是什么?6、如何判断靶标站点是windows/linux?7、为什么Mysql数据库的站点,无法连接?8、文件上传功能的监测点有哪些?9、常见的未授权访问漏洞有哪些?10、代码执行、文件读取、命令执行的函数有哪些?1
- 在 Android 框架中,接口的可见性规则
!!!出现问题:当普通应用通过SDK调用接口时遇见AndroidRuntime:java.lang.NoSuchMethodError:Novirtualmethod得知:Android中接口访问控制规则说明在Android系统开发中,不同包名下的接口默认访问权限是不一样的。以下是详细的说明。1.frameworks/base/core/java/android.*包下新增的接口默认访问权限:公开
- 漏扫项目篇&Nuclei&Yakit&Goby&Afrog&Xray&Awvs&联动中转被动
我最厉害。,。
安全
市面上有很多漏扫系统工具脚本,课程讲到的基本都是目前主流推荐的优秀项目!Burpsuite,Awvs,Xray,Goby,Afrog,Yakit,Nuclei,Vulmap,Pocassist,Nessus,Pentestkit,Kunyu,Pocsuite3,浏览器各类插件,Burpsuite插件(HaE,ShiroScan,FastJsonScan,Log4j2Scan,Springscan,
- slf4j + log4j2
訾零
Log4jslf4j桥接log4j
SLF4J,即简单日志门面(SimpleLoggingFacadeforJava),不是具体的日志解决方案,它只服务于各种各样的日志系统,如:log4j,logback。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志System。pom.xml中只加入slf4j-api,会报下面的错,说明没有日志实现绑定。SLF4J:Failedtol
- 普通Java项目中使用Sl4j+Log4j2打印日志
aiben2024
java操作系统
因工作需要,采用JavaFx开发了一个windows窗口程序。在开发过程中,由于没有引入日志框架,只能自己手动在控制台打印些信息,给调试带来了很多麻烦;因此决定引入日志框架。由于之前接触的项目大部分都是javaWeb项目,web项目的日志输出已经难不倒我了。但普通java项目日志输出配置还是第一次接触,因此记录下整个过程,方便后续借鉴。技术概述:采用Sl4j作为日志门面,Log4j2作为日志输出的
- 【HW系列】—Log4j2、Fastjson、Shiro漏洞流量特征
枷锁—sha
蓝队—应急响应网络安全log4jweb安全安全
本文仅用于技术研究,禁止用于非法用途。文章目录Log4j2漏洞的流量特征及检测方法一、基础请求特征二、网络交互特征三、响应与日志特征四、绕过技术特征五、检测与防御建议Fastjson漏洞的流量特征解析一、请求构造特征二、响应行为特征三、攻击载荷特征四、防御与检测建议Shiro漏洞的流量特征及检测方法一、基础请求特征二、响应特征三、工具与绕过特征四、检测与防御建议五、关联漏洞扩展Log4j2漏洞的流
- 【HW系列】—web组件漏洞(Strtus2和Apache Log4j2)
枷锁—sha
蓝队—应急响应网络安全前端apachelog4j网络安全web安全安全
本文仅用于技术研究,禁止用于非法用途。文章目录Struts2Struts2框架介绍Struts2历史漏洞汇总(表格)Struts2-045漏洞详解Log4j2Log4j2框架介绍Log4j2漏洞原理1.JNDI注入2.利用过程Log4j2历史漏洞JNDI+LDAP反弹Shell流程Struts2Struts2框架介绍ApacheStruts2是一个基于MVC设计模式的开源Web应用框架,广泛应用于
- 物联网之对接MQTT最佳实践
46646
合集-老寇的Java架构之路(13)1.dubbo3.3.X入门2024-12-132.解决SpringBoot3.3.x集成Micrometer和Prometheus,导致项目阻塞,无法启动2024-12-133.跟着老寇学习Java之软件简述2020-03-294.魔改log4j2的JsonLayout,支持自定义json格式日志2024-12-135.COLA学习之DDD各种术语分析(一)2
- springboot集成日志
我家老洋
springbootjava
在SpringBoot项目中集成日志记录,可以使用常见的日志框架如Logback或Log4j2。SpringBoot默认使用的是Logback,但你也可以根据需求选择其他框架。以下是几种常用的日志集成方法:1.使用springboot默认的Logbake日志框架步骤:1.1引入依赖如果是标准的SpringBoot项目,通常不需要额外添加依赖,Logback已经集成。如果你需要自定义日志框架,可以在
- 填坑记: 古董项目Apache POI 依赖异常排除
码农秋
填坑记开发语言jsptomcatPOI依赖冲突
当你看到NoSuchMethodError的时候,不要慌,深呼吸,这可能只是JAR包版本的问题…引子:一个平静的周二下午那是一个看似平常的周二下午,系统运行良好,开发团队在有条不紊地推进着新功能的开发。突然,测试环境中的报表导出功能失效了,用户反馈页面卡住,后台日志疯狂刷屏:java.lang.NoSuchMethodError:'byte[]org.apache.poi.util.IOUtils
- IDEA中配置日志,使用log4j2
桂亭亭
javaintellij-idealog4jjava
目录第1步配置maven在pom.xml中引入以下依赖并刷新第2步在resource目录下新建一个名为log4j2.xml的文件注意名字一定要是这个不能是其他的否则会报错第3步在新建的xml文件中将以下代码拷贝进去即可第4步就没了运行任意java文件控制台就会有日志输出编辑第1步配置maven在pom.xml中引入以下依赖并刷新org.apache.logging.log4jlog4j-core2
- maven 项目中 Springboot 使用 Log4j2 详解
猿1
log4j2ideamaven
maven项目中Springboot整合Log4j2详解一、ApacheLog4j2.了解:ApacheLog4j2是Log4j的升级版,对Log4j的前身Log4j1.x进行了重大改进,并提供了Logback中可用的许多改进,同时解决了Logback体系结构中的一些固有问题。特征:API分离:Log4j的API与实现是分开的,从而使应用程序开发人员可以清楚地了解他们可以使用哪些类和方法,同时确保
- Maven项目配置log4j2.xml
0945v1
Javalog4j2.xmlmaven
log4j2相对于log4j1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j1.x和logback的高吞吐量、可配置的审计型日志、基于插件架构的各种灵活配置等。以下是log4j2在maven项目中的配置步骤:1、在pom.xml文件中引入log4j依赖org.apache.logging.log4jlog4j-core2.10.0org.apache.logging.log
- Java 网络安全新技术:构建面向未来的防御体系
琢磨先生David
javaweb安全开发语言
一、Java安全架构的演进与挑战1.1传统安全模型的局限性Java平台自1995年诞生以来,安全机制经历了从安全管理器(SecurityManager)到Java平台模块系统(JPMS)的演进。早期的安全管理器通过沙箱模型限制不可信代码的权限,但随着微服务架构和云原生环境的普及,这种静态权限控制模型逐渐暴露出不足。例如,Log4j2漏洞事件中,攻击者利用日志框架的JNDI注入漏洞实现远程代码执行,
- GeoWave 1.2.0 版本解决GS发布矢量NIO ByteBuffer flip() java.lang.NoSuchMethodError 返回值错误问题
深夜奶爸
GeoMesa
在GeoWavev1.2.0版本中在发布矢量时,会报错,具体错误如下:2021-07-1915:19:48,519ERROR[geotools.rendering]-java.nio
- springAi整合ollama报错
唯♧
人工智能开发语言
java.lang.NoSuchMethodError:'java.lang.Stringorg.springframework.ai.chat.messages.Message.getContent()'atorg.springframework.ai.ollama.OllamaChatClient.lambda$ollamaChatRequest$2(OllamaChatClient.java
- spark引用jar包_spark程序jar与spark lib jar冲突,加载顺序
编程奇才
spark引用jar包
用户编写的spark程序打包成jar后提交到yarn执行时,经常会遇到jar包中明显存在某个类,但任务提交到yarn运行时却找不到类或方法(java.lang.NoSuchMethodError)的问题。本文总结下产生此类问题的原因及解决方案。例子比如我们有个spark程序用到了guava的Splitter类:importcom.google.common.base.Splitter;...Lis
- Nacos 使用了什么日志框架?如何配置和查看日志?
冰糖心书房
Nacos源码系列Nacos日志
Nacos使用的日志框架Nacos主要使用SLF4j(SimpleLoggingFacadeforJava)作为日志门面(API),并选择Logback作为其底层的日志实现。SLF4j:这是一个日志抽象层,允许开发者在代码中使用统一的接口进行日志记录,而底层的具体日志实现(如Logback,Log4j2,JUL等)可以在部署时灵活替换。Nacos源代码中我们会看到org.slf4j.Logger的
- 深入解析著名的阿里云Log4j 漏洞
wespten
网络安全AI+渗透测试代码审计等保全栈网络安全开发安全
几乎每个系统都会使用日志框架,用于记录日志信息,这些信息可以提供程序运行的上下文,但是日志过多也会影响系统的性能,所以好的日志框架应该是可靠,快速和可扩展的。ApacheLog4j2是一个基于Java的日志工具,是Log4j的升级版本,引入了很多丰富的特性,包括高性能,低垃圾收集,插件系统等。目前很多互联网公司以及耳熟能详的公司的系统或者开源框架都在使用Log4j2。一、事件起因Log4j漏洞最早
- 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