- 宝塔+fastadmin:给项目添加定时任务+log日志自定义添加
25号底片~
php后端配置(宝塔)php
一、定时任务脚本编写1.使用shebang声明执行器#!/usr/bin/envphp这是Unix/Linux系统中脚本文件的标准开头。表示这个脚本使用系统环境变量中的php来执行。2.定义ThinkPHP入口路径并加载框架define('APP_PATH',__DIR__.'/../../application/');require__DIR__.'/../../thinkphp/start.p
- Linux下RabbitMQ集群安装
长腿帅哥
Linux操作手册rabbitmqlinux
一、环境准备(all)1.下载rabbitmq、erlang包查看两者对应的版本号RabbitMQErlangVersionRequirements—RabbitMQerlang:otp_src_24.2.tar.gzrabbitmq:rabbitmq-server-generic-unix-3.10.5.tar.xzIP:192.168.255.150、192.168.255.151、192.1
- MySQL 连接指定端口后,为什么实际仍是 3306?
XMYX-0
mysql数据库
文章目录MySQL连接指定端口后,为什么实际仍是3306?问题现象复现原因分析没有指定-h,默认走的是本地UnixSocket多实例环境中未显式指定目标地址正确的连接方法方法一:添加-h127.0.0.1方法二:添加--protocol=TCP验证是否连接成功附加说明总结✅建议MySQL连接指定端口后,为什么实际仍是3306?在日常运维或开发过程中,有时我们在使用mysql命令行工具连接MySQL
- Linux I/O 文件操作详解:从系统调用到实际工程应用
平凡灵感码头
linux学习linux运维服务器
一、写在前面在Linux或任何类Unix操作系统中,文件是一切的核心——无论是硬盘上的文本文件,还是串口设备、GPIO寄存器、甚至网络接口,几乎都被抽象为“文件”。理解Linux下的I/O文件操作机制,不仅是嵌入式开发的基础,也是进行系统编程与底层控制的关键。二、I/O的本质:一切皆文件Linux将外设抽象成文件的方式,统一了对各种资源的操作模型。你可以用open打开串口设备/dev/ttyS0,
- Linux ps 指令
halugin
Linux指令linux运维
Linuxps指令ps(ProcessStatus)是Linux系统中用于查看进程状态的核心命令行工具。它提供系统当前运行进程的快照,显示进程ID、CPU和内存使用情况、运行状态等信息。作为系统管理员或开发人员,ps是监控系统资源、排查性能问题和管理系统进程的必备工具。其灵活的选项和输出格式使其适用于从简单查询到复杂分析的各种场景。什么是ps指令?概述ps是一个经典的Linux/Unix命令,用于
- C语言到C++快速入门
前言:通过前面的学习,我们了解了C语言的一些性质和用法,为了更加深入的学习C,我们可以向C++进阶,探究C++的知识世界,相信可以收获不少知识!一.C语言和C++的关系:起源与发展:C语言是由DennisRitchie在1970年代初期开发的,它最初是为了重新设计UNIX操作系统而创建的。C++则是在C语言的基础上发展而来的,由BjarneStroustrup在1980年代初期开始设计,其目标是增
- 九、buildroot系统 usb配置
3.3、usb配置源码中kernel默认已经打开了相关的usb配置,只需要在buildroot中打开相关配置。1、基本功能类别简称功能描述ADB(AndroidDebugBridge)ADB是一种功能多样的命令行调试工具,可以实现文件传输,UnixShell登录等功能。UAC(USBAudioClass)UAC通过USB虚拟标准PCM接口给Host设备,实现Device和Host之间音频互传功能。
- xargs将标准输入(stdin)的数据转换为命令行参数
小米人儿
我的博客linux
xargs是Linux/Unix终端中一个极其强大的工具,它的核心作用是将标准输入(stdin)的数据转换为命令行参数,解决「命令无法直接读取管道数据作为参数」的问题。以下是详细解析:一、核心作用当使用管道|时,左侧命令的输出会作为标准输入传递给右侧命令。但很多命令(如rm、mkdir、cp)不支持从标准输入读取参数,只接受命令行参数。xargs就是解决这个问题的桥梁:左侧命令|xargs右侧命令
- Liunx安装中文字体
生命的演绎
Linux系统linux
Lunix默认没有中文字库,很容易导致项目开发时出现中文字符乱码的情况,所以导致生成出来的图片中文信息不展示。这里先演示字体查看已安装字体的命令查看linux已安装字体fc-listAI写代码java运行1如果出现以下提示-bash:fc-list:commandnotfound说明Linux中没有安装字体库,需要先安装字体库yum-yinstallfontconfig执行命令之后,会有生成/us
- Linux ss(Socket Statistics) 命令详解
张太行_
linux运维服务器
Linuxss命令详解ss(SocketStatistics)是Linux系统中的一个强大工具,用于查看套接字(socket)统计信息。它是传统netstat命令的现代替代品,速度更快且功能更强大。基本用法ss[options]常用选项显示所有连接ss-a#显示所有连接(监听和非监听)按协议过滤ss-t#TCP连接ss-u#UDP连接ss-w#RAW连接ss-x#UNIX域套接字显示监听端口ss-
- Ubuntu编译unixODBC源码报错libtool:error
藍色月光
ubuntulinux运维
#Ubuntu编译unixODBC源码报错libtool:error:cannotfindthelibrary''orunhandledargument'/home/cps/source'一般都是这样的错,可能的原因是因为源码路径中含有空格导致编译过程读取时错误,这里源码路径为/home/cps/sourcecode/unixodbc建议路径中不要含有任何汉字、空格、特殊字符、
- 腾讯云服务器linux系统有图形界面,腾讯云服务器如何搭建Ubuntu可视化界面?
kk七
腾讯云服务器如何搭建Ubuntu可视化界面?腾讯云服务器如何搭建Ubuntu可视化界面?腾讯云服务器如何搭建Ubuntu可视化界面?VNC(VirtualNetworkConsole)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是基于UNIX和Linux操作系统的开源软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任
- tkinter —— Tcl/Tk 的 Python 接口
知识的宝藏
python
源代码:Lib/tkinter/__init__.pytkinter包("Tk接口")是针对Tcl/TkGUI工具包的标准Python接口。Tk和tkinter在大多数Unix平台,包括macOS,以及Windows系统上均可使用。若在命令行执行python-mtkinter,应会弹出一个简单的Tk界面窗口,表明tkinter包已安装完成,还会显示当前安装的Tcl/Tk版本,以便阅读对应版本的Tc
- 《MySQL技术》学习笔记——MySQL的基本管理
十月翊安
MySQL技术内幕mysql数据库服务器
MySQL技术内幕——MySQL的基本管理MySQL的基本管理保护新安装的MySQL为初始的MySQL账户建立密码为附加服务器设置密码安排MySQL服务器的启动和关闭在Unix里运行MySQL服务器指定服务器启动选项控制服务的连接监听停止服务器当无法连接服务器时重新获得对它的控制使用系统变量和状态变量查看和设置系统变量值查看状态变量值插件接口存储引擎配置选择存储引擎选择默认存储引擎配置InnoDB
- Linux环境下Apache Tomcat 7.0部署与管理指南
毛心宇
本文还有配套的精品资源,点击获取简介:ApacheTomcat7.0是一个开源的Web应用服务器,支持JavaServlet和JSP,适合用于小型到中型的应用程序。本文提供在Linux或Unix系统上安装和配置Tomcat7.0的完整步骤,包括下载安装包、解压、配置环境变量、启动与停止服务、配置管理、应用部署及性能优化。掌握这些步骤对于JavaWeb开发者来说是基础且关键的。1.ApacheTom
- 安装和使用ArchLiunx超详细教程
SvenAugustus
安装系统一、下载介质https://www.archlinux.org/download/二、启动ISO到Live环境此步骤由很多种方式:制作ISO为U盘启动工具,可以使用UltraISO或大白菜有Linux/Unix系统的,可以硬盘写入Grub,制作启动项三、安装前的准备启动iso到live环境,登录后,在/root,ArchLinux贴心地放置了install.txt文件供参考。验证启动模式如
- 【git】前端初级程序员入职第一天 Git 全流程指南
全栈前端老曹
git版本管理与工程化生态git前端javascript前端工程化版本管理
前端程序员入职第一天Git全流程指南一、Git工具安装与配置✅1.1Git安装Windows:下载地址:https://git-scm.com/download/win安装选项建议:UseGitfromWindowsCommandPromptCheckoutWindows-style,commitUnix-stylelineendingsUseMinTTY(thedefaultterminalof
- Vim 高手指南:Linux 环境下的高级使用技巧
范范0825
linuxvimexcel
Vim高手指南:Linux环境下的高级使用技巧前言Vim是一个功能强大的文本编辑器,广泛应用于Linux系统以及各种编程环境中。作为一个Vim高级用户和Linux系统管理员,你将在这里学到如何充分利用Vim的高级功能,提升你的工作效率。第1章:Vim编辑器的基本概念和模式1.1Vim编辑器简介Vim(ViIMproved)是一个高度可配置的文本编辑器,起源于vi编辑器。它不仅在Unix和类Unix
- SH脚本基本语法(1)
我爱云计算
bash运维linux
概述Shell脚本是一种用于自动化任务的文本文件,其中包含一系列在Unix、Linux或macOS系统的Shell环境下可执行的命令。定义:Shell脚本本质上是一个纯文本文件,它将一系列的Shell命令按特定逻辑组织在一起,以实现特定的任务。这些命令可以是系统自带的命令(如ls、cd、mkdir等),也可以是用户自定义的函数或其他可执行程序。用户可以通过执行这个脚本文件,一次性执行其中包含的所有
- 什么是主目录(Home Directory)?
linux
在操作系统的世界中,无论是Linux、MacOS还是Windows,主目录的概念在维护用户数据、隐私和整个系统组织方面起着重要的作用。理解主目录的重要性和功能对于任何使用计算机的人来说都是必不可少的。什么是主目录主目录,在Unix和类Unix系统中通常表示为~,是在操作系统上创建用户帐户时分配给用户的一个特殊目录。它是一个个人空间,用户可以在其中存储文件、创建文件夹和管理数据,而不必担心影响同一系
- undefined reference to mysql close_mysql编译提示undefined reference to `mysql_init\'-VankeH-ChinaUnix博客...
Rv酋长
undefinedreferencetomysqlclose
在ubuntu系统安装了mysql后,通过调用mysqlAPI,进行数据读写。char*query_str;intrc,i,fields;introws;if(NULL==mysql_init(&stMysql)){fprintf(stderr,"mysqliniterror:%s\n",mysql_error(&stMysql));returnMY_SQL_ERROR;}if(mysql_rea
- linux 杀死所有 python进程的命令
在使用多进程执行python脚本时,会产生多个进程,使用killallpython和pkillpython都不能同时杀死所有python进程。有效命令:ps-ef|greppython|grep-vgrep|awk'{print$2}'|xargskill-9这段代码是一个在类Unix操作系统中使用的命令行脚本,用于查找并终止所有正在运行的Python进程。下面是对每一部分的解释:ps-ef:这是
- Linux运维新人自用笔记(用虚拟机Ubuntu部署lamp环境,搭建WordPress博客)
m0_71981711
学习linux
内容全为个人理解和自查资料梳理,欢迎各位大神指点!每天学习较为零散。day20一、./configure脚本命令./configure是Unix/Linux系统中用于配置软件源代码的脚本命令,通常用于为后续的make和makeinstall准备编译环境。选项作用--prefix=/path指定安装根目录(默认/usr/local)--bindir=/path指定可执行文件目录--libdir=/p
- MySQL入门到精通:学好MySQL第一步,从安装MySQL开始
Emily-C
MYSQLmysql数据库编程
所有平台的Mysql下载地址为:MySQL下载.挑选你需要的MySQLCommunityServer版本及对应的平台。Linux/UNIX上安装MysqlLinux平台上推荐使用RPM包来安装Mysql,MySQLAB提供了以下RPM包的下载地址:MySQL-MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。MySQL-client-MySQL客户端程序,用于连接
- 前端跨域解决方案(6):Nginx
1Nginx核心Nginx是一个开源的高性能HTTP和反向代理服务器,以轻量级、高并发处理能力和低资源消耗著称。除作为Web服务器外,还可充当邮件代理服务器和通用的TCP/UDP代理服务器,广泛应用于现代Web架构中。在Windows系统中使用Nginx时,命令行操作与类Unix系统存在差异,以下是基本操作:1.1环境准备下载NginxforWindows安装包(需注意Windows版本仅支持稳定
- Linux自动化构建工具make/makefile
bubiyoushang888
linux自动化运维
make和makefile是一对用于自动化构建的工具。下面是关于make和makefile的详解:make:make是一个在Unix和Linux系统上广泛使用的构建工具。它根据makefile文件中的规则自动化执行编译、链接和其他构建任务。make通过比较源文件和目标文件的时间戳来判断哪些文件需要重新构建,从而提高构建效率。makefile:makefile是一个文本文件,包含了一系列的规则和指令
- python学习-13【网络编程】
kuiini
pythonpython学习网络
1、Socket网络模块Socket模块在Python中,使用socket模块的socket()函数来创建一个socket对象:socket.socket(family,type,proto)family:套接字家族,该参数指定调用者期待返回的套接字接口地址结构的类型AF_UNIX:同一台机器上的进程通信AF_INET:使用IPv4通信,不会返回IPv6的信息AF_INET6:使用IPv6通信,不
- 使用Python的http.server模块快速搭建HTTP服务器
华科℡云
linux运维自动化
在Python中,http.server模块提供了一个非常简便的方式来快速搭建一个基本的HTTP服务器。这个模块是Python标准库的一部分,无需额外安装即可使用,非常适合用于本地测试、文件共享或简单的Web服务开发。下面将详细介绍如何使用http.server模块来搭建HTTP服务器。基本步骤打开终端或命令提示符:首先,你需要打开你的计算机上的终端(在Unix/Linux/MacOS上)或命令提
- Hadoop HDFS深入解析
文件系统早在1965年开发的Multies(UNIX的前身)就详细地设计了文件系统,这使得文件系统成为多用户单节点操作系统的重要组成部分。最初的文件系统用于解决信.息的长期存储,并达到如下要求:1.能够存储大量的信息。2.使用信息的应用终止时,信息必须保存下来。3.多个应用可以并发地存储信息。解决这些问题的通常方法,是把信息以一种单元,即"文件"(file)的形式存储在磁盘或者其他外部介质上,一个
- 【Linux命令】less 与 more
晴雨日记
Linuxlinux
less和more是Linux/Unix系统中两个非常常用的分页查看器命令。它们的主要作用是让你能够逐屏或逐行地查看长文本文件的内容,而不是像cat命令那样一次性将所有内容输出到终端,导致内容快速滚动而过,难以阅读。核心目的:方便、可控地浏览大型文本文件。为什么需要它们?查看日志文件(如/var/log/syslog)。阅读长配置文件。查看命令输出(通过管道|传递给它们)。阅读手册页(man命令内
- 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