- Python 日志记录工具logging
酒酿小圆子~
Pythonpython运维
文章目录1.日志的作用2.日志的级别3.几个重要的概念3.1Logger记录器3.2Handler处理器3.3Formatter格式化器3.4Filter过滤器4.常见示例4.1常见示例1:Logging日志记录4.2常见示例2:函数化示例(避免重复日志)4.3多进程环境下往同一个文件写日志日志对于系统开发的开发、调试和运行整个过程中都起着很重要的作用,调试阶段需要查看日志来明确问题所在,运行阶段
- oracle数据库无法open,报“ORA-01113 file 1 needs media recovery”错误,教你用“六脉神剑”来开库
老苏畅谈运维
oracle数据恢复数据库oracle运维
作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。在系统断电或数据库异常宕机后,数据库启动过程中可能出现ORA-01113ORA-01110这些错误,而你又没有备份,未开归档或者归档已经被删除了,那要怎么办呢?启动报错如下:SQL>startup;FixedSiz
- Oracle和Mysql数据库使用Where 1=1 会使索引失效吗?
小小鱼儿小小林
#mysql面试宝典#oracle基础面试这样回答mysqloracle索引
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点面试官:Oracle和Mysql数据库使用Where1=1会使索引失效吗"WHERE1=1"通常被用作一个占位条件,在动态生成SQL语句时非常有用。它可以作为一个基本的WHERE条件,然后根据需要动态添加其他条件。这样在代码层面可以少做很多的判断,不然代码里面一堆的ifelse在我们日常开
- PHP 高性能框架 Workerman 凭什么能硬刚 Swoole ?
A码农先森
技术杂谈phpswooleworkerman
大家好,我是码农先森。一次偶然看到了国外某机构针对PHP周边生态框架及扩展的性能测试排行榜,看到Workerman竟遥遥领先Swoole。在我们PHP程序员现有的认知里,Swoole作为一个基于C/C++语言编写的扩展程序,性能居然落后了。第一眼看到这个结果的时候,我的心情久久不能平复,脑子里不经的浮现着「难道C/C++比PHP的性能还差了?」。说到Workerman和Swoole,就想起了那不争
- Swoole vs Workman
河南云和数据
互联网PHP编码
目前php通信服务框架最流行的有wwoole与workerman,swoole是有C语言开发的php扩展类,而workerman是纯PHP开发框架,可能swoole比workerman出名,在百度、腾讯公司都有在使用,使用频率也比较高,但workerman也有很多项目在用,哪到底谁能更胜一筹呢?首先我们一起来了解一下swoole:Swoole是面向生产环境的PHP异步网络通信引擎使PHP开发人员可
- php workman 和swoole,workerman和swoole的区别
weixin_39530647
phpworkman和swoole
workerman和swoole都是phpsocket服务器框架,都支持长连接、tcp和udp、websocket、异步、分布式部署等workerman纯php写的,swoole是php的c扩展,性能肯定更高,百度、腾讯不少产品的server就是基于swoole的workerman上手更快,文档更丰富,社区活跃,社区基本做到有问必答。(推荐学习:workerman教程)性能上Swoole毕竟是C语
- php workerman和swoole,workerman和swoole的区分_PHP开发框架教程
我吃掉了一辆奔驰
php
workerman和swoole都是phpsocket服务器框架,都支撑长衔接、tcp和udp、websocket、异步、分布式布置等workerman纯php写的,swoole是php的c扩大,机能一定更高,百度、腾讯不少产物的server就是基于swoole的workerman上手更快,文档更雄厚,社区活泼,社区基础做到有问必答。(引荐进修:workerman教程)机能上Swoole毕竟是C言
- workerman和swoole性能对比分析
csdndddsd
swoolephp后端
在大多数情况下,swoole具有更好的总体性能,因为它在并发能力、内存消耗、i/o吞吐量和网络吞吐量方面都胜过workerman。其性能优势归功于c扩展、高效的i/o事件循环和内存管理技术,使其适用于高并发、高吞吐量的web应用程序、实时应用程序和微服务架构。Workerman和Swoole性能对比结论:在大多数情况下,Swoole具有更好的总体性能。详细对比:Workerman和Swoole是两
- Oracle PL/SQL 编程入门:第八章 异常
caifox菜狐狸
OraclePL/SQL编程入门oraclesql数据库异常异常范围自定义异常Exceptions
欢迎来到OraclePL/SQL编程入门的第八章!在这一章中,我们将深入探讨PL/SQL中的异常处理机制。通过学习如何定义和使用自定义异常、内置异常以及异常链,你将能够编写更加健壮和可靠的程序。此外,我们还会介绍一些注意事项,并通过实际例子展示它们的用法。准备好迎接新的挑战了吗?让我们开始吧!第一节:异常范围异常处理是编程中的重要组成部分,它允许你在运行时捕获并处理错误,从而避免程序崩溃。PL/S
- nginx日志收集、拆分、分析
. . . . .
Nginxnginx运维
Nginx的核心价值:高性能的静态服务反向代理负载均衡nginx的access_log与error_logaccess_log:指的是访问日志,我们通过访问日志可以获取用户的IP、请求处理的时间、浏览器信息等设置access_log语法:access_logpath[format[buffer=size][gzip[=level]][flush=time][if=condition]];设置访问日
- 真实互联网线上系统JVM内存溢出排查流程(文末彩蛋)
程序健跑人生
JVM多线程高并发工作感悟jvmjava架构后端分布式
起因:近期在工作中发生因jvm内存溢出导致线上应用进程崩溃,导致服务瞬间瘫痪。期间发现集群中每台应用服务器JVM内存使用率高达96%左右,存在瞬间内存打满,导致服务瘫痪情况。根据经验分析,大概率是由于JVM中存在长期无法回收的(大)对象(此问题属代码本身问题)或瞬间流量激增导致垃圾收集器来不及回收(可调整JVM参数或横向增加服务器)导致。排查过程:1.通过命令(jmap-dump:format=b
- Java学习day002 Java程序设计环境(下载安装JDK、使用命令行工具、使用集成开发环境、运行图形化应用程序)
Z zehao
Java基础学习java后端
使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识。day002Java程序设计环境(下载安装JDK、使用命令行工具、使用集成开发环境、运行图形化应用程序)第一部分安装java开发工具包下载JDK要想下载Java开发工具包,可以访问Oracle网站:www.oracle.com/technetwork/java/javase/downloads,在得到
- 将jar包导入maven
null or notnull
pycharmidepython
1.将jar包放repository2.执行命令:mvninstall:install-file-DgroupId=com.oracle-DartifactId=ojdbc7-Dversion=12.1.0.2-Dpackaging=jar-Dfile=D:\dev\utils\idea\repository\ojdbc7.jar-Dfile:指定要安装的JAR文件的路径。-DgroupId:指定
- Web安全漏洞——SSTI模版注入(初级)
@Camelus
渗透与攻防web安全网络安全安全安全架构
目录前言:(一)什么是SSTI举个栗子:前提:自动化工具:(二)Flask模块注入0x01常用的内建属性__class___base____bases____mro____subclasses__()__dict____init____global____getitem__过滤器0x01attr0x02format0x03firstlastrandom0x04join0x05lower0x06re
- Java 个版本解决控制台中文乱码
杨过姑父
java开发语言
我新建了一个SpingBoot3.3.0的项目,SDK设置为OracleOpenJDK21.0.2,并在main方法中写了一个简单的System.out.println(“你好,世界”),运行后得到一串乱码。按照JDK8的经验,我检查了IDEA的相关配置:1.File->Settings有关encoding的选项已经是UTF-82.Help->EditCustomVMOptions中已经添加了-D
- JAVA 安装教程
连云港大帅哥
java基础javajdk安装配置环境变量
下载官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,选择1.8版本jdk进行下载安装JDK直接运行exe可执行程序,默认安装即可;备注:路径可以自己定义,不建议路径包含中文名、特殊符号、空格。配置环境变量1)新建变量名:JAVA_HOME,变量值:D:\Java8(JDK安装路径);2)打开PATH,添
- Springboot配置返回日期格式化五种方法详解
我心向阳iu
#SpringBootJava面试知识点精讲springbootjava后端
文章目录应急就这样格式化全局时间字段OK了,你后端全统一了,应急的同志们就这样就行了,不用学下面的扩展知识,想学习的可以先收藏(建议别收藏,收藏了也不看,要不一口气看完点个赞,要不别收藏来欺骗自己了)系统的知识1.前端时间格式化(不做无情人)2.SimpleDateFormat格式化(不推荐)3.DateTimeFormatter格式化(不推荐)4.全局时间格式化(推荐)实现原理分析5.部分时间格
- 架构设计(6)软件质量属性与架构评估方法ATAM与CBAM
CoderIsArt
架构设计研究架构软件质量属性架构评估
软件质量属性系统质量属性(QualityAttributes)是指系统设计和架构中具有的关键非功能性特征。这些属性直接影响系统的性能、可用性、安全性等方面,是评估和设计系统架构的重要考虑因素。下面详细介绍系统质量属性及其在架构评估中的作用。###系统质量属性1.**性能(Performance)**-**定义**:系统在给定的资源和条件下处理请求和任务的能力。-**子属性**:-**响应时间**:
- oracle行列级权限控制(VPD)
天选之子123
ORACLEoracle数据库
oracle行列级权限控制(VPD)一、背景在数据访问中一般的访问权限控制是通过创建视图实现的,基于某个基础表创建不同的视图,将视图的查询权限赋予特定的数据查询方,使得不同的用户只能访问到特定的数据。那么有没有办法让不同的用户访问同一张表的时候,只能看到自己权限范围内的数据,不通过视图实现,显然是有的。虚拟专用数据库(VPD)指的是,通过在数据库里进行配置,从而让不同的用户只能查看某个表里的部分数
- 图像处理篇---图像压缩格式&编码格式
Ronin-Lotus
图像处理篇图像处理计算机视觉人工智能学习程序人生图像压缩编码格式
文章目录前言图像压缩格式无损压缩(LosslessCompression)1.PNG(PortableNetworkGraphics)2.GIF(GraphicsInterchangeFormat)3.BMP(Bitmap)4.TIFF(TaggedImageFileFormat)有损压缩(LossyCompression)1.JPEG(JointPhotographicExpertsGroup)
- 时间格式化-dayjs
Bunury
Element-plusjavascript前端vue.js
1.创建工具类文件utils/format.jsimport{dayjs}from'element-plus'exportconstformatTime=(time)=>dayjs(time).format('YYYY年MM月DD日HH时mm分ss秒')2.组件中使用formatTime函数import{formatTime}from'@/utils/format.js'{{formatTime(
- 恢复搭建STANDBY-RAC细节满满
two_rain
oracle数据库oracle
书接上回 深夜一声惊雷.客户炸了群,2套数据库都由原来的RAC切换到了备库(单点),考虑业务的高可用性,因此计划恢复原来的RAC环境。 首先将搭建STANDBY-RAC,然后再做一次Failover切换将STANDBY-RAC切换为主环境。 切换过程:ORACLE-主备备-Failover,此次单独简述STANDBY-RAC的搭建过程。下载搭建文档:OracleRAC部署STANDBYRAC
- XSLT Apply: Transforming XML with XSLT
froginwe11
开发语言
XSLTApply:TransformingXMLwithXSLTIntroductionXSLT,whichstandsforExtensibleStylesheetLanguageTransformations,isapowerfultoolfortransformingXML(ExtensibleMarkupLanguage)documentsintootherformats,suchasH
- 大数据StarRocks(六) :Catalog_starroccks支持oracle外部表了吗(1)
2401_84181975
程序员大数据oracle数据库
StarRocks自2.3版本起支持Catalog(数据目录)功能,实现在一套系统内同时维护内、外部数据,方便您轻松访问并查询存储在各类外部源的数据。1.基本概念内部数据:指保存在StarRocks中的数据。外部数据:指保存在外部数据源(如ApacheHive™、ApacheIceberg、ApacheHudi、DeltaLake、JDBC)中的数据。2.Catalog当前StarRocks提供两
- 深入了解浏览器的 Performance 标签:性能分析与优化指南
haughtyAndAnd
javascriptes6node.jsnpm前端框架chrome
Performance标签是浏览器开发者工具中的一个重要部分,用于监控和分析网页的性能。它帮助开发者识别网页的性能瓶颈,并通过一些分析数据来优化网页的加载速度、响应时间和用户体验。通过Performance标签,开发者可以捕获从页面加载开始到页面完全渲染的全过程,了解各个阶段的耗时,并进一步改进性能。主要功能和视图在浏览器的开发者工具中,Performance标签通常用于记录和分析页面加载过程、J
- LeetCode-127. Word Ladder [C++][Java]
贫道绝缘子
LeetCode刷题怪leetcodejavac++
LeetCode-127.WordLadderhttps://leetcode.com/problems/word-ladder/题目描述AtransformationsequencefromwordbeginWordtowordendWordusingadictionarywordListisasequenceofwordsbeginWord->s1->s2->...->sksuchthat:E
- Python Connect OracleDB
ddttoop
Python3WorkTools
Python连接Oracle数据库原文链接:https://blog.csdn.net/xinyuzxx/article/details/81703625cx_Oraclecx_Oracle模块是Python连接Oracle数据库的模块,在Python中,如果要连接Oracle,必须先安装cx_Oracle模块。cx_Oracle的下载地址:https://pypi.python.org/pypi
- dmfldr 使用手册
yangeoooo
达梦工具
dmfldrUSERID=SYSDBA/SYSDBACONTROL=‘c:\fldr.ctl’2.1启动dmfldrUSERID和CONTROL是启动dmfldr必须要指定的参数,且USERID必须是第一个参数,CONTROL必须是第二个参数。[dmdba@ora79~]$dmfldrhelpFormat:./dmfldrKEYWORD=valueExample:./dmfldrSYSDBA/SY
- doris:ORC
向阳1218
大数据doris
本文介绍如何在Doris中导入ORC格式的数据文件。支持的导入方式以下导入方式支持ORC格式的数据导入:StreamLoadBrokerLoadINSERTINTOFROMS3TVFINSERTINTOFROMHDFSTVF使用示例本节展示了不同导入方式下的ORC格式使用方法。StreamLoad导入curl--location-trusted-u:\-H"format:orc"\-Texampl
- Python中常见的几种输出形式
.zhy.
Pythonpython开发语言
目录一、标准输出(print函数)特点适用场景二、格式化占位符输出(%操作符)特点适用场景三、格式化输出(str.format()方法)特点适用场景四、格式化字符串常量输出(f-string)特点适用场景五、总结一、标准输出(print函数)这是最基本的输出方式,使用print函数简单直观,适用于快速输出数据。print函数可以输出多种类型的数据,如字符串、数字、列表等,并且默认在输出结束后换行。
- 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