- 「源力觉醒 创作者计划」_以FastDeploy为例部署ERNIE-4.5-21B大模型全流程实践
cooldream2009
大模型基础AI技术文心大模型FastDeploy
目录前言1环境准备与依赖安装1.1硬件要求1.2Python环境与pip升级2下载ERNIE-4.5模型权重2.1安装HuggingFaceCLI工具2.2设置国内镜像加速(可选)2.3下载模型文件3安装FastDeploy与Paddle推理引擎3.1安装PaddlePaddle-GPU版本3.2安装FastDeploy-GPU4启动ERNIE-4.5本地服务4.1启动OpenAI兼容API服务4
- Python打卡:Day46
剑桥折刀s
python打卡python
importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorchvisionfromtorchvisionimportdatasets,transformsfromtorch.utils.dataimportDataLoaderfromtorch.utils.tensorboardimportSummaryWriterimportnu
- 为什么在 macOS 中运行 Python 项目必须使用虚拟环境?
coding随想
Pythonmacospython开发语言
为什么在macOS中运行Python项目必须使用虚拟环境?在macOS上开发Python项目时,虚拟环境(VirtualEnvironment)是一个不可或缺的工具。无论你是初学者还是资深开发者,理解虚拟环境的意义和使用方法,都是提升开发效率和项目稳定性的关键。本文将从macOS的特殊性出发,深入浅出地解释为什么在macOS中运行Python项目必须使用虚拟环境。一、macOS系统Python的局
- 扣子智能体5:使用Python异步执行工作流并获取执行结果
呆萌的代Ma
大模型python扣子
使用python异步执行工作流的步骤有3步:异步执行工作流,获取工作流的execute_id,之后就能根据这个id查询工作流的执行情况如果execute_id=“Success”,就表示工作流执行完毕执行完毕后,打印output,就是大模型最后的全部示例代码fromloguruimportloggerimportrequestsimportjsondefrun_coze_ai(coze_api_t
- MCP客户端请求MCP服务器资源的Python SDK实现
AI天才研究院
计算AI人工智能与大数据Python实战python开发语言ai服务器
我将为您提供一个详细的指南,说明如何使用PythonSDK让MCP客户端请求MCP服务器的资源。MCP客户端请求MCP服务器资源的PythonSDK实现核心概念ModelContextProtocol(MCP)是一个标准化协议,允许应用程序以标准化的方式为大语言模型(LLM)提供上下文,将提供上下文的关注点与实际的LLM交互分离。MCP中的资源(Resources)是一种核心原语,允许服务器暴露数
- python中提示‘pyinstaller‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
一、出现这个问题的原因:来自于首先安装这个pyinstaller的时候,没有将D:\01_SoftWare\python3.9.13\Scripts或者D:\01_SoftWare\python3.9.13或者是D:\01_SoftWare\python3.9.13\Lib添加到环境变量中,那需要做的第一步就是添加下系统的环境变量。这样就可以了。到这里,可能一部分人,再次安装就好了,但是这边尝试看
- 第十篇:Python 进阶-内存管理
程序员勇哥
Python全套教程pythonjvm开发语言
第十篇:Python进阶-内存管理1.垃圾回收机制引用计数原理引用计数是Python垃圾回收机制中最基本的一种方式。其核心思想是:每个对象都维护一个引用计数,记录当前指向该对象的引用(变量)的数量。当对象的引用计数变为0时,意味着没有任何变量指向该对象,Python解释器会立即回收该对象所占用的内存空间。例如,考虑以下代码:a=[1,2,3]#创建一个列表对象,并将其引用赋值给变量a,此时列表对象
- Python 三方库 python-dotenv
wohu007
#标准库和三方库pythonpython-dotenv
1.简介在一些项目中,处于安全性的要求,一般不将密码,key等放入到配置文件中。然而这些代码又是上传在git等平台上。为了方便管理。一般采用系统变量的方式来实现。从而实现配置和代码分开。2.安装pipinstallpython-dotenv3.使用目录结构及代码.├──.env└──demo.py.env内容REDIS_HOST="127.0.0.1"PWD="/home/wohu"你可以使用单词
- Python自动化测试基础知识
心 一
Python自动化测试python开发语言
Python自动化测试基础知识一、自动化测试基础概念1.什么是自动化测试使用脚本和工具代替人工执行测试用例的过程通过编写代码来模拟用户操作,验证系统功能核心目标是提高测试效率,减少重复劳动2.自动化测试的优势高效率:可快速执行大量测试用例可重复:相同测试可反复执行,结果一致准确性:避免人为错误覆盖率:可执行难以手动测试的复杂场景持续集成:易于与CI/CD流程集成3.自动化测试的适用场景回归测试性能
- python进阶之数据结构与算法--入门-二叉树
小白piao
数据结构与算法python篇数据结构算法二叉树python
二叉树概念:之前已经提及了关于树的概念,要想知道之前讲了什么请关注,前边文章里都有提及。这里不做赘述。二叉树是具有以下属性的有序树:1、每个节点最多有两个孩子节点2、每个孩子节点被命名为左子节点和右子节点3、对于每个节点的孩子节点,在顺序上,左子节点优先于右子节点4、若子树的根为内部节点v的左子节点或者右子节点,则该子树相应地被称为节点v的左子树或者右子树5、若每个节点都有零个或者两个节点,则这样
- Python进阶 - 关键字 Global 和 Return
孤寒者
Python全栈系列教程pythonglobalreturn
目录:每篇前言:一、`return`的角色与机制二、`global`关键字与命名空间三、函数多值返回的高级模式四、`global`vs`nonlocal`vs返回值五、最佳实践与反模式总结每篇前言:作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者本文已收录于Python全栈系列教程专栏:《Python全栈系列教程》热门专
- Python Set() 完全指南:从入门到精通
2501_91537435
pythonpython开发语言
PythonSet()完全指南:从入门到精通Set(集合)是Python中一种非常有用的内置数据类型,它提供了高效的成员检测和消除重复元素的功能。本文将带你全面了解Python中的set(),从基础概念到高级用法。一、什么是Set?Set是Python中的一种无序、可变、不重复元素的集合数据类型。它类似于数学中的集合概念,支持并集、交集、差集等操作。#创建一个setfruits={'apple',
- 一文读懂Python+Pytest+Allure+Jenkins+Gitee自动化测试框架,手把手教你搭建
Python+Pytest+Allure+Jenkins+Gitee自动化测试框架一、框架整体架构1.技术栈分工Python:测试脚本开发语言Pytest:测试用例管理和执行引擎Allure:测试报告生成与展示Jenkins:持续集成和任务调度Gitee:代码版本管理和触发机制2.数据流向Gitee代码提交→Jenkins触发构建→Pytest执行用例→生成Allure结果→Jenkins收集报告
- 【vue】用conda配置nodejs,一键开通模版使用权
温择之
conda
特此鸣谢我的好同学@重中之重的特级教学,非常之好用一、conda环境下载安装二、创建包含nodejs的conda环境创建一个新环境:condacreate-n【自定义环境名字】python=3.9condacreate-nmy_nodejs_envpython=3.9激活新环境:condaactivate【环境名字】condaactivatemy_nodejs_env下载安装nodejs:cond
- 大模型API密钥的环境变量配置(大模型API KEY管理)(将密钥存储在环境变量)(python-dotenv)(密钥管理)环境变量设置环境变量
Dontla
大模型LLMpython开发语言
文章目录大模型API密钥的环境变量配置:安全与最佳实践引言安全风险代码泄露风险版本控制暴露环境变量的优势安全隔离跨环境一致性环境变量配置方法Linux/macOS配置Windows配置开发框架集成Node.js使用dotenvPython使用python-dotenv最佳实践.env文件管理环境变量模板容器环境配置安全增强措施密钥轮换机制秘密管理服务集成总结大模型API密钥的环境变量配置:安全与最
- 操作系统领域的新宠儿:鸿蒙应用深度剖析
操作系统内核探秘
操作系统内核揭秘harmonyos华为ai
操作系统领域的新宠儿:鸿蒙应用深度剖析关键词:鸿蒙操作系统、微内核架构、分布式软总线、ArkUI框架、DevEcoStudio、跨设备开发、全场景生态摘要:本文深度剖析华为鸿蒙操作系统的核心技术架构与应用开发体系,从微内核设计、分布式协同技术、UI框架创新到全场景开发工具链展开分析。通过数学模型解析分布式一致性算法,结合Python代码演示核心调度逻辑,并以实战案例演示跨设备应用开发流程。探讨鸿蒙
- NumPy-随机数生成详解
GG不是gg
numpynumpy
NumPy-随机数生成详解一、随机数生成的基础:伪随机数与种子1.伪随机数的本质2.种子的设置:确保结果可复现二、常用随机数生成函数1.均匀分布随机数2.正态分布随机数3.整数随机数4.其他常用分布三、随机数生成的进阶操作1.随机排列与洗牌2.控制随机数的维度与形状四、随机数生成的应用场景1.数据增强2.蒙特卡洛模拟3.随机初始化参数五、注意事项NumPy作为Python数值计算的核心库,提供了功
- python namedtuple转为dict
链池
python开发语言
python相关学习资料:搭建私人助理大模型需要什么环境?006_指法标准_键盘正位_你好世界_hello_world_单引号_双引号一张图生成指定动作的动态视频,MagicAnimate本地部署Pythonnamedtuple转为dict的方法作为一名经验丰富的开发者,我很高兴能够帮助刚入行的小白们解决编程问题。今天,我们将一起学习如何将Python中的namedtuple转换为dict。这个过
- Python namedtuple 详解:作用与使用方法
文章目录一、什么是namedtuple主要特点:二、namedtuple的作用1.替代普通元组,提高代码可读性2.替代简单类,减少样板代码3.作为轻量级数据结构三、基本使用方法1.创建namedtuple类型2.创建实例3.访问字段4.不可变性测试四、高级特性与方法1._asdict()-转换为有序字典2._replace()-创建新实例并替换字段3._fields-查看字段名4._make()-
- 探秘`nanomsg-python`: Python中的高效通信库
探秘nanomsg-python:Python中的高效通信库nanomsg-pythonnanomsgwrapperforpythonwithmultiplebackends(CPythonandctypes)shouldsupport2/3andPypy项目地址:https://gitcode.com/gh_mirrors/na/nanomsg-python在Python的世界里,找到一个既能满
- Springboot和Python之间通过RabbitMQ进行双向异步消息交互demo示例
同心圆码农
后端java-rabbitmqspringbootpython
SpringBoot后端和Python算法之间解耦设计,采用通过消息总线RabbitMQ进行双向异步交互,以下是一个demo样例,罗列出了实现该功能需要做的工作,包括软件安装、RabbitMQ基本介绍、Springboot后端demo代码、Pythondemo代码、运行流程以及调试遇到问题软件安装Win10本地需要安装RabbitMQ,作为Springboot后端和Python模块通讯的消息中间件
- Python词法分析器:从概念到实践
凡狗蛋
本文还有配套的精品资源,点击获取简介:Python词法分析器是编程语言处理的关键环节,负责将源代码解析为有意义的标记或符号序列。本简介详细介绍了词法分析、正则表达式、分词、词法规则、词法分析器生成器以及编译原理等核心概念,并展示了如何使用Python内置的re模块和第三方库ply实现词法分析器,为进一步理解编程语言的工作原理和构建自定义编程语言打下基础。1.词法分析器的作用与目的词法分析器是编译器
- Python打卡:Day27
剑桥折刀s
python打卡python
deflogger(func):defwrapper(*args,**kwargs):#打印函数开始执行的日志print(f"开始执行函数:{func.__name__}")print(f"参数:args={args},kwargs={kwargs}")#执行原函数并获取返回值result=func(*args,**kwargs)#打印函数执行结束的日志print(f"函数{func.__name
- 【Python进阶篇 面向对象程序设计(5) 异常处理】
nananaij
pythonpycharm开发语言
文章目录1、基础异常类(所有异常的父类)2、异常类型总结3、异常处理(1)try......except语句:捕获和处理异常(2)try......except......else语句(3)try......except......finally语句(4)raise语句(5)assert语句:调试断言1、基础异常类(所有异常的父类)BaseException:所有内置异常的基类(不建议直接捕获)。
- 【Python入门与进阶】Python面向对象编程练习
小龙
python面向对象编程练习
练习题1:定义一个Person类定义一个Person类,它有以下属性和方法:属性:name(字符串):表示人的名字。age(整数):表示人的年龄。方法:__init__(self,name,age):构造方法,用于初始化name和age。greet(self):打印Hello,mynameis[name]andIam[age]yearsold.classPerson:def__init__(sel
- Docker部署项目无法访问,登录超时完整排查攻略
Orlando chrono
DevOpsnginx服务器运维
项目背景:迁移前后端应用,prod环境要求保留443端口,开发环境37800端口,后端容器端口为8000,前端为80,fastAPI对外端口为41000生产环境部署在VM01,开发环境部署在VM03,在VM01配置nginx转发[
[email protected]]#dockerps|grepmig73fbafgc2811mig_backend-buildnum3"python./main.py"5d
- 创意 Python 爱心代码
在编程的世界里,我们不仅可以解决复杂的问题,还能用代码表达情感。今天,我们来分享几段有趣的Python代码,通过绘制爱心图案,展示Python的创意与技术魅力。1.使用Matplotlib画爱心importnumpyasnpimportmatplotlib.pyplotasplt#生成心形曲线的数据t=np.linspace(0,2*np.pi,1000)x=16*np.sin(t)**3y=13
- Effective Python 条款4:用支持插值的f-string取代C风格的格式字符串与str.format方法
郝学胜-神的一滴
PythonEffectivePythonpython开发语言程序人生
在Python开发中,字符串格式化是日常操作的核心功能。本文将深入解析三种主流方法,并通过对比表格助你选择最佳方案。三种方法快速概览特性%格式化str.format()f-stringPython版本要求所有版本≥2.6≥3.6可读性低中高执行速度慢中等最快变量复用需重复写入需重复写入单点定义表达式支持不支持有限支持完整支持类型安全低中高字典/对象访问冗余较清晰最简洁%格式化-C语言风格的遗产na
- python中的字符串操作
北北大王
python开发语言
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、字符串基础1.创建字符串2.字符串拼接二、字符串常用方法1.大小写转换2.字符串查找3.字符串替换4.字符串分割与连接5.字符串格式化6.字符串填充三、字符串与列表转换四、字符串切片操作前言Python字符串作为最基础且强大的数据类型之一,提供了全面而灵活的文本处理能力。从基础的创建与拼接,到高效的查找替换;从智能的大
- 【Python进阶篇 面向对象程序设计(3) 继承】
文章目录1、继承的基本语法(1)单继承(2)多重继承2、方法重写3、super()函数在面向对象编程中,被继承的类称为父类,新的类称为子类。1、继承的基本语法(1)单继承#继承#父类classFruit:color='绿色'defharvest(self,color):print("水果是:"+color+"的!")print("水果原来是:"+Fruit.color+"的!")#子类classA
- 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