- 好用的5款漏洞扫描工具推荐!
网安-轩逸
web安全安全网络安全linux
漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测的行为,也是网络安全领域中非常重要的环节。本文为大家推荐5款常用的开源漏洞扫描工具,一起来看看吧。1、NmapNmap是一款非常流行的自动化安全测试工具。它可以在各种主流操作系统上运行,并快速扫描大型网络。它通常会检测以下信息:网络上有哪些主机可用,主机在运行什么服务,主机在运行
- mysqldump命令 logfile
使用mysqldump命令导出MySQL数据库在数据库管理中,定期备份数据是不可或缺的一部分。mysqldump是MySQL提供的一个工具,它可以用于导出数据库的备份文件。本文将向你介绍如何使用mysqldump命令,并将备份日志文件保存到指定位置。我们将通过简单的步骤和代码示例来帮助你理解这个过程。整个流程接下来,我们会展示整个流程,包括你需要完成的步骤和相关代码。步骤说明1.准备MySQL数据
- vscode 远程执行ssh开发连接不上ssh: connect to host 192.168.144.130 port 22: Connection timed out
三希
vscodesshide
检查远程服务器的SSH配置:确保远程服务器的/etc/ssh/sshd_config文件中启用了端口转发功能:plaintextAllowTcpForwardingyes修改配置后,重启SSH服务:bashsudosystemctlrestartsshd再重新连接即可
- serverless 框架_入门 Serverless :Serverless Framework 开发者工具
weixin_39614754
serverless框架
Serverless架构是云发展的产物,是一种去服务器化更加明显的架构。然而,细心的朋友可能会发现,有一个开发者工具也叫Serverless,那么Serverless到底是一个架构,还是一个开发者工具呢?这个开发者工具和Serverless架构又有什么关系呢?初探Serverless开发者工具Serverless架构开始发展没多久,就有一群人注册了serverless.com的域名,成立了一家叫S
- 【Go | 从0实现简单分布式缓存】-4:使用singleflight防止缓存击穿
Golinie
Go分布式存储golang分布式缓存
本文目录一、缓存问题二、singleflight三、geecache.go一、缓存问题先回顾一下缓存问题:缓存雪崩:缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。缓存雪崩通常因为缓存服务器宕机、缓存的key设置了相同的过期时间等引起。缓存击穿:一个存在的key,在缓存过期的一刻,同时有大量的请求,这些请求都会击穿到DB,造成瞬时DB请求量大、压力骤增。缓存穿透:查询一个不存在的
- HoRain云--如何在Java中使用HTTP代理
HoRain 云小助手
javahttp开发语言
HoRain云小助手:个人主页⛺️生活的理想,就是为了理想的生活!⛳️推荐前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。目录⛳️推荐一、全局代理设置(所有网络请求生效)1.1启动参数配置(推荐)1.2代码动态配置二、原生HttpURLConnection代理配置2.1基础代理设置2.2认证自动处理三、ApacheHttpClient5.x代理
- 深度分页实践
YMY-up
项目实践数据分页
深度分页:查询偏移量过大的场景,这会导致查询性能较低#MySQL在无法利用索引的情况下跳过1000000条记录后,再获取10条记录SELECT*FROMt_orderORDERBYidLIMIT1000000,10优化方案:范围查询当可以保证ID的连续性时,用户根据ID范围进行分页是比较好的解决方案:SELECT*FROMt_orderWHEREid>100000ANDid100000LIMIT1
- Serverless Framework 使用教程
裘羿洲
ServerlessFramework使用教程serverless无服务器框架——使用AWSLambda、AzureFunctions、GoogleCloudFunctions等构建无服务器架构的Web、移动和物联网应用程序!项目地址:https://gitcode.com/gh_mirrors/se/serverless项目介绍ServerlessFramework是一个开源项目,旨在帮助开发者
- 实战探秘Nginx的六大应用场景与配置指南,让网络服务如虎添翼
IT运维先森
nginxnginx运维
在云原生和微服务架构盛行的今天,Nginx作为高性能、高并发的Web服务器和反向代理软件,已成为众多开发运维人员不可或缺的工具。本文将深入探讨Nginx在六个关键应用场景中的实战运用,并配以详尽的配置示例,帮助您更好地驾驭这款强大的网络服务引擎。一、负载均衡应用场景:当面对大量用户访问时,通过Nginx实现后端服务器集群间的负载均衡,可有效分散请求压力,保障服务稳定性和响应速度。配置示例:http
- python 生成excel
scan724
#!/usr/bin/envpython#-*-coding:utf-8-*-importMySQLdbfromdatetimeimportdatetimeimportcx_Oracleimportosimportxlwtimportsysreload(sys)sys.setdefaultencoding('utf-8')os.environ['NLS_LANG']='SIMPLIFIEDCHIN
- mongodb常用操作命令
行思理
数据库mongodb数据库
1、MongoDBShell工具mongosh一般的链接命令格式为:mongosh"mongodb://hostname:port"示例:mongosh"mongodb://localhost:27017"2、显示所有数据库showdbs或者showdatabases3、切换到指定数据库(如果不存在则创建):use4、删除当前数据库:db.dropDatabase()5、查看当前所使用的数据库db
- MongoDB 数据库简介
wjs2024
开发语言
MongoDB数据库简介引言随着互联网技术的飞速发展,数据已经成为企业的重要资产。为了高效地管理和处理这些数据,数据库技术应运而生。MongoDB作为一种流行的NoSQL数据库,因其灵活的数据模型和高效的数据处理能力,受到了广泛的关注。本文将为您详细介绍MongoDB的基本概念、特点、应用场景以及操作方法。MongoDB概述MongoDB是一个基于分布式文件系统的NoSQL数据库,由10gen公司
- k8s集群3主5从高可用架构(kubeadm方式安装k8s)
罗sir 99
devopskubernetes架构容器
关键步骤说明环境准备阶段系统更新:所有节点执行yum/aptupdate确保软件包最新时间同步:通过ntpdatetime.windows.com或部署NTP服务器网络规划:明确划分Service网段(默认10.96.0.0/12)和Pod网段(如Flannel使用10.244.0.0/16)节点初始化细节关闭Swap分区:临时swapoff-a并永久注释/etc/fstab中的swap条目主机名
- Nodejs + MongoDB 快速构建Web应用 (入门级教程)
AI天才研究院
Python实战深度学习实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介本教程从零开始,带领大家学习如何使用Nodejs和MongoDB快速搭建一个简单的Web应用程序。涵盖的内容包括:使用Nodejs搭建本地服务器安装MongoDB并连接到本地服务器使用Express构建后端API接口配置路由和中间件使用Mongoose连接数据库和管理数据模型使用模板引擎(EJS)渲染视图页面用户注册、登录和身份验证文件上传与下载功能通过Sock
- Java连接TIDB数据库出现通讯失败的原因分析
奕辰杰
javatidb数据库
在实际项目使用中,java项目连接的是TIDB数据库,TIDB是使用了3个服务节点,生产环境时不时的出现如下错误:Thelastpacketsentsuccessfullytotheserverwas3600000millisecondsago.Thedriverhasnotreceivedanypacketsfromtheserver.com.mysql.jdbc.exceptions.jdbc
- TIDB数据库的基本介绍
奕辰杰
tidb数据库
一、基础概念:1、TiDB是PingCAP公司自主设计、研发的国产开源分布式关系型数据库,具备水平扩容或者缩容、金融级高可用、实时HTAP、云原生的分布式数据库、兼容MySQL5.7协议和MySQL生态等重要特性。TiDB适合高可用、强一致要求较高、数据规模较大等各种应用场景。官方文档非常详细齐全。官方网站:https://cn.pingcap.com/官方文档:https://docs.ping
- 关于Activiti工作流框架的多种使用维度
奕辰杰
springjava工作流Activiti
activiti是个开源免费的工作流程框架,遵循BPMN2(BusinessProcessModelingNotation-BPMN业务流程模型注解)的规范,其简约思想的设计使得activiti非常轻量级,数据库层使用MyBatis,并且能与Spring完美的集成。在笔者遇到的公司实际运用项目中,对Activiti工作流框架的使用方式,总共有三种:(1)常规的使用。通过Ideal、Eclipse等
- 【SpringBoot】——如何在Spring Boot中使用ThreadLocal来存储和获取用户详情信息以及实体类参数验证
Y小夜
Springbootspringboot后端java
个人主页:【Y小夜】作者简介:一位双非学校的大二学生,编程爱好者,专注于基础和实战分享,欢迎私信咨询!入门专栏:【MySQL,Java基础,Rust】热门专栏:【Python,Javaweb,Vue框架】感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️目录ThreadLocal如何在SpringBoot中使用ThreadLocal来存储和获取用户详情信息创建用户详情类使用拦截器或过滤器
- 21个MongoDB经典面试题
程序员麦冬
面试文mysqljavaredismongodb数据库
1、什么是MongoDB?MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据。BSON()是一种类json的一种二进制形式的存储格式,简称BinaryJSON.相对于json多了date类型和二进制数组2、MySQL与MongoDB之间最基本的差别是什么?MySQL和MongoDB两者都是免费开源的数据库。MySQL和MongoDB有许多基本差别包括数据的
- 深入理解MySQL分区表:提升性能的利器
一休哥助手
数据库mysql数据库
目录MySQL分区表概述分区表的优势分区类型RANGE分区LIST分区HASH分区KEY分区分区表的创建和管理
- Flask实现高并发解决方案:探究Python高并发服务器性能
NfsVerilog
pythonflask服务器
随着互联网的快速发展,高并发成为了现代网络应用开发中的一个重要问题。在Python中,Flask是一个轻量级的Web框架,被广泛用于构建Web应用。虽然Flask本身并不是为高并发设计的,但通过一些优化和调整,我们可以使其支持处理百万级的并发请求。本文将介绍一些在Flask中实现高并发解决方案的方法,并提供相应的源代码。1.使用Gunicorn作为Flask的Web服务器默认情况下,Flask自带
- MongoDB 面试题及答案整理,最新面试题
孙恒阳
mongodb数据库
MongoDB中索引的工作原理及其类型MongoDB中索引的工作原理类似于传统数据库,用于加速查询操作。索引存储着文档的一个小部分字段,并按照这些字段的排序顺序进行组织。常见的索引类型包括:1、单字段索引:最基本的索引类型,只对文档中的一个字段进行索引。2、复合索引:对文档中的多个字段进行组合索引,可以支持对这些字段的查询操作。3、多键索引:用于数组字段,为数组中的每个元素创建索引项。4、全文索引
- MongoDB私人学习笔记
奕辰杰
私人学习笔记学习笔记mongodbjava
俗话说“好记性不如烂笔头”,编程的海洋如此的浩大,养成做笔记的习惯是成功的一步!此笔记主要是ZooKeeper3.4.9版本的笔记,并且笔记都是博主自己一字一字编写和记录,有错误的地方欢迎大家指正。一、基础知识:1、MongoDB的名称来源于HumongousDatabase,中文意思就是巨大无比的数据库,顾名思义,MongoDB就是为处理大数据而生,以解决海量数据的存储和高效查询使用为使命。是N
- 【SQL数据库】MySQL的下载和使用(windows)
奖励0216
数据库sqlmysql
1在网页上搜索MySQLcommunity2点击mysqlcommunitydownloads3选择MySQLinstallerforwindows4选择上面那个download5不用登录6下载完就安装7Choosingasetuptype选custom就够了8selectproductsMySQLServes-MySQLServe8.0-选最上面的最新版-点右边的箭头,加入右边Applicati
- Docker 安装 PostgreSQL
王梓麒
Dockerdockerpostgresql容器
1.安装Docker和DockerCompose首先,确保你的服务器上已经安装了Docker和DockerCompose。你可以通过以下命令检查它们是否安装:docker--versiondocker-compose--version2.创建项目目录在你的服务器上创建一个用于存放PostgreSQLDockerCompose配置的目录,例如my-project:mkdirmy-projectcdm
- 双线服务器和单线服务器的不同之处
wanhengidc
服务器运维
对于双线服务器和单线服务器,两者之间最大的区别就在于服务器的网络连接方式,双线服务器有着两个独立的网络连接线路,所以有着很大的带宽容量,用户和企业选择租用双线服务器可以实现更高的网络传输速度和更稳定的网络连接质量,比较适合需要处理大量网络请求和传输大型数据的应用场景当中。单线服务器则只有一个网络连接线路,所以带宽容量也相对小一些;在网络故障方面,双线服务器具有冗余网络连接,其中某一条网络线路发生故
- 2025年云产品市场怎么样?云服务器性价比指南
telunxiaosu1
服务器运维阿里云京东云华为云
写作初衷:作为一个购买多年云服务器经历的爱好者,最喜欢看各厂商的优惠活动,反复比较各厂商的优惠,找到最具性价比的那一款。我就像一个互联网的猹,在京东云、阿里云、腾讯云的官网里反复对比、反复横跳,但不得不说,这个过程还是比较累的,尤其是网上的众多活动叠加,新客专享,生怕自己被背刺。所以,写下这篇文章,制成excel汇总表,供大家参考,包括了京东云、阿里云、腾讯云、华为云4大厂商(别的小厂怕跑路hhh
- SpringBoot-MyBatis-plus实体类中常用的注解
or77iu_N
MyBatisjavamybatisspringboot数据库
@TableName在Java类上通过添加@TableName注解并指定表名,ORM框架会将该类与指定的数据库表进行映射@TableId(type=IdType.AUTO)在实体类中,使用@TableId注解来标记主键字段。@TableField("xxx")当数据库中的字段名与实体类中的属性名不一致时,可以使用@TableField注解来指定数据库表中的字段名。@TableField(exist
- 使用Docker部署postgresql
鹅鹅鹅呢
面试学习路线阿里巴巴dockerpostgresql容器
使用Docker部署postgresqlpostgresql数据库在Docker中的镜像的名称为postgres,可以从DockerHub中pull下来,如果pull不下来那么很大概率是网络问题导致的,这时候你可能需要在网上找一些能用的镜像源,以成功拉取postgres镜像。有了postgres的镜像之后,你就可以在本地的Docker创建一个postgres的容器并运行。我们有两种方式来创建容器:
- Docker入门之构建
LingRannn
docker1024程序员节
Docker构建概述DockerBuild实现了客户端-服务器架构,其中:客户端:Buildx是用于运行和管理构建的客户端和用户界面。服务器:BuildKit是处理构建执行的服务器或构建器。当您调用构建时,Buildx客户端会向BuildKit后端发送构建请求。BuildKit解析构建指令并执行构建步骤。构建输出要么发送回客户端,要么上传到注册表,例如DockerHub。Buildx和BuildK
- 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