- QModbusTCPClient 服务器断开引起的程序崩溃
千秋10000
QtQModbus
最近使用QModbusTCPClient与一套设备通信,有一个QTimer频繁的通过读取设备寄存器。程序运行良好,但是有个问题:正常进行中设备断电了,整个程序都会崩溃。解决过程如下:1.失败方案一在QModbusTCPClient的errorOccurred()信号中判断错误后及时关闭QTimer,避免出错之后还要频繁访问。此方案失败,问题不在这里。2.失败方案二m_reply=m_modbus-
- 数据库--oracle--如何在Ubuntu上安装Oracle
cuijr_leaf
oracle数据库
写在前面:下面的内容是国外的一篇教程,我跟着做了一遍,没有什么问题,所以翻译过来供大家参考。环境:oracle12cubuntu18.04(我是在Ubuntu16.04上装的,也没什么问题)正文:欢迎你!这篇教程会教你如何一步步地在Ubuntu18.04服务器上安装Oracle12cR2数据库。这篇教程中包含所有你必须要执行的命令以及部分截图。整个过程可能有点儿难,所以需要你对shell命令有一定
- DeepSeek R1 Ollama本地化部署全攻略:三步实现企业级私有化大模型部署
Coderabo
DeepSeekR1Ollama
前言Ollama作为当前最受欢迎的本地大模型运行框架,为DeepSeekR1的私有化部署提供了便捷高效的解决方案。本文将深入讲解如何将HuggingFace格式的DeepSeekR1模型转换为Ollama支持的GGUF格式,并实现企业级的高可用部署方案。文章包含完整的量化配置、API服务集成和性能优化技巧。—一、基础环境搭建1.1系统环境要求操作系统:Ubuntu22.04LTS或CentOS8+
- Linux使用基础
zhou_zhao_xu
Linux
文章目录一、概述1.1Linux的历史1.2Linux开发者1.3Linux发展历史1.4Linux发行版1.4.1Linux版本Ubuntu1.4.2Linux版本RedHatLinux1.4.3Linux版本CENTOS二、Linux安装2.1物理机安装2.2虚拟机安装2.2.1虚化技术2.2.1.1软件层面2.2.1.2硬件层面2.2.2虚拟化平台2.2.2.1virtualbox2.2.2
- Node.js 的底层原理
阿芯爱编程
面试js技巧网络前端javascript
Node.js的底层原理1.事件驱动和非阻塞I/ONode.js基于ChromeV8引擎,使用JavaScript作为开发语言。它采用事件驱动和非阻塞I/O模型,使其轻量且高效。通过libuv库实现跨平台的异步I/O,包括文件操作、网络请求等。2.单线程事件循环Node.js使用单个线程来处理所有请求,通过事件循环机制来管理并发。事件循环不断检查是否有待处理的事件或回调函数,并依次执行它们。这种模
- 相机-雷达联合标定direct_visual_lidar_calibration开源算法编译踩坑记录
HyperZhu
ROSUbuntu算法相机-雷达联合标定
基于场景的相机-雷达联合标定编译记录direct_visual_lidar_calibration编译1.本机环境Ubuntu18.04+Melodic相关依赖版本:Cmake-3.18.0gcc-8.4.0pcl-1.13.02.相关依赖#Installdependenciessudoaptinstalllibomp-devlibboost-all-devlibglm-devlibglfw3-d
- 关于kafka,关于消息队列、消息协议
什么都没学会
kafka消息队列消息协议AMQPXMPP
Kafka详解-知乎消息队列RabbitMQ入门与5种模式详解-简书消息协议(MQTT、AMQP、XMPP、WAMP、STOMP)之间的区别和应用_mqttamqp-CSDN博客
- QChartView 应用详解
我喜欢就喜欢
QT技术文档C++信息可视化数据库qtc++开发语言
一、引言在数据可视化领域,Qt框架提供了强大的工具,其中QChartView便是一个极为重要的组件。它允许开发者轻松创建各种精美的图表,以直观地展示数据,无论是在科学研究、数据分析还是业务报表等场景下,都有着广泛的应用。本文将深入探讨QChartView的应用,涵盖其基础使用、常见图表类型绘制以及一些高级特性,并结合实际项目案例,帮助读者全面掌握这一实用工具。二、QChartView基础使用环境搭
- QTcpSocket 如何统计在线时长
我喜欢就喜欢
C++技术文档QT数据库服务器网络
基本原理QTcpSocket是Qt库中用于TCP通信的类。要统计在线时长,关键思路是记录连接建立的时间和当前时间,通过计算两者的差值来得到在线时长。实现步骤记录连接建立时间:在连接成功的信号槽函数中记录开始时间。例如,当QTcpSocket成功连接到服务器时,会发出connected()信号。可以在对应的槽函数中使用QDateTime类来记录连接时间。示例代码如下:收起cpp#include#in
- Github 2025-01-31Java开源项目日报 Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-01-31统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Java项目10C项目1Kotlin项目1Bazel:快速、可扩展的多语言构建系统创建周期:3564天开发语言:Java协议类型:ApacheLicense2.0Star数量:22144个Fork数量:3851次关注人数:22144人贡献人数:286
- Matplotlib绘图-CSD演示
辰往易
python开发语言
目录前言一、CSD是什么?二、使用步骤1.引入库2.图形处理总结前言Matplotlib是Python的绘图库。它可与NumPy一起使用,提供了一种有效的MatLab开源替代方案。它也可以和图形工具包一起使用,如PyQt和wxPython。本文通过绘制简单的两个信号互谱密度(CSD)的演示,来学习绘制简单的图形。非专业人员,知识比较浅显,内容主要偏向编程,简单介绍在python中matplotli
- Ubuntu全面卸载mysql
张3蜂
ubuntumysqladb
如果你已经看到whereismysql输出了与MySQL相关的路径,说明MySQL仍然存在于系统中。要卸载MySQL,可以按照以下步骤操作,确保完全删除所有相关的文件和配置:1.停止MySQL服务首先,停止MySQL服务:sudosystemctlstopmysql2.卸载MySQL包卸载MySQL的所有相关包。你可以使用purge命令来卸载MySQL并删除配置文件:sudoapt-getpurg
- QT点击按钮后选择文件夹
你又食言了哦
qt开发语言
QStringsetFilepath=QFileDialog::getExistingDirectory(nullptr,"选择文件夹");此时setFilepath里面存储的就是选择的文件夹的地址。
- QT窗口最大化,正常大小,最小化
你又食言了哦
qt开发语言
this->showFullScreen();//最大化窗口this->showNormal();//正常大小this->showMinimized();//最小化窗口QT设置窗口显示状态
- ESP32-C3在MQTT访问时出现“Last error code reported from esp-tls: 0x8001”和问题的分析(2)
蓝天居士
ESP32-C3ESP32ESP-IDF
接前一篇文章:ESP32-C3在MQTT访问时出现“Lasterrorcodereportedfromesp-tls:0x8001”和问题的分析(1)上一回说明了笔者在调试测试MQTT的过程中遇到的另一个问题:“Lasterrorcodereportedfromesp-tls:0x8001”。结合log给出了初步分析:本回继续深入探查。上一回解析的log都出自于main.c中的MQTT事件回调函数
- fatal error: glog/logging.h: 没有那个文件或目录
小张小张快来学习
ROSubuntu
系统版本:ubuntu18.04ROS版本:melodiccatkin_make报错:Infileincludedfrom/home/用户名/桌面/AutonomousMining/src/pnc/src/file.cc:17:0:/home/用户名/桌面/AutonomousMining/src/pnc/include/file.h:37:10:fatalerror:glog/logging.h
- docker 基础语法学习,K8s基础语法学习,零基础学习
慧香一格
dockerK8s容器docker学习kubernetes
下面是关于Docker和Kubernetes的基础语法学习资料,包括一些关键概念和示例代码。Docker基础语法1.安装Docker首先,你需要安装Docker。以下是不同操作系统上的安装指南:Windows/Mac:下载并安装DockerDesktop。Linux:根据你的发行版使用包管理器安装Docker。例如,在Ubuntu上:bashsudoapt-getupdatesudoapt-get
- 【Linux】在Ubuntu或任何类Unix系统中进入隐藏文件夹
Eternal-Student
linuxlinuxubuntu
在Ubuntu系统下,进入隐藏文件夹的方法主要取决于是通过文件管理器(如Nautilus或GNOMEFiles)还是通过终端(命令行界面)进行操作。以下是两种常见的方法:1.通过文件管理器进入隐藏文件夹Ubuntu的文件管理器提供了一种简单的方法来显示和进入隐藏文件夹。按下键盘上的Ctrl+H组合键显示隐藏文件夹。2.通过终端进入隐藏文件夹1.使用cd命令:在终端中,使用cd命令来改变当前目录到隐
- 【Docker】ubuntu中 Docker的使用
magic_ll
ubuntudocker
之前记录了docker的安装【环境配置】ubuntu中Docker的安装;本篇博客记录Dockerfile的示例,docker的使用,包括镜像的构建、容器的启动、dockercompose的使用等。 当安装好后,可查看docker的基本信息dockerinfo##查看docker信息,在输出中,查找DockerRootDir字段,它会显示Docker存储的根目录。dockerversion##查看
- 【PySide6拓展】Ubuntu安装Mosquitto MQTT服务器
人才程序员
杂谈c语言c++qtpython3.11ui界面pyside6
文章目录【PySide6拓展】Ubuntu安装MosquittoMQTT服务器**什么是Mosquitto?****Mosquitto的特点:****在Ubuntu上安装Mosquitto****1.更新系统****2.安装Mosquitto服务器****3.启动并自动启动Mosquitto服务****4.检查Mosquitto服务状态****配置Mosquitto****1.配置文件位置****
- 在Ubuntu 24上优雅地安装VMware Tools的终极指南
黑金IT
服务器运维
在Ubuntu24上优雅地安装VMwareTools的终极指南摘要:VMwareTools的安装对于虚拟机的性能和稳定性至关重要。本文将指导您如何在Ubuntu24系统上通过命令行优雅地安装VMwareTools,解决常见的安装问题,并确保系统的最优性能。正文:引言在虚拟化的世界里,VMwareTools是连接虚拟机与主机操作系统的桥梁,它提供了更好的性能和更多的功能。然而,安装过程中可能会遇到一
- Qt加载腾讯地图
Arui丶
qtqtc++ui
目录引言关键步骤申请key加载地图数据传递定位服务源码下载引言地图是桌面客户端经常使用到的组件之一,诸如热点标记、轨迹规划等。多数情况下是使用js实现,通过QWebEngine将其加载嵌入Qt中,地图方面可以使用Ceisum或是其他三方库实现,也可以通过其他第三方服务商提供的成熟接口,诸如腾讯地图、高德地图等。本文使用的就是腾讯地图提供的API。关键步骤申请key实际使用前需要先申请对应权限的ke
- ajax实现动态及时刷新表格数据_如何利用Python3和PyQt5来实现控件数据动态刷新...
weixin_39904116
最近笔者在做一个pyqt5的界面,由于在日常生活中,一些实际运用的场合都需要对数据进行实时的刷新,例如对某个数值的监控,水温,室温的监控等等,都需要实时的刷新控件显示的数据。对于实现这样的一种功能,pyqt5在面板生成的同时就固定住了UI中的数据,例如我们产生一个QLineEdit控件,然后布局在面板上,但是控件中的数据是固定的,如果这个数据是实时更新的,想要改变空间中的数据时,就要去刷新面板,p
- Qt事件处理:理解处理器、过滤器与事件系统
行十万里人生
Qtqt开发语言华为harmonyos华为云华为odgit
1.事件事件是一个描述应用程序中、发生的某些事情的对象。在Qt中,所有事件都继承自QEvent,并且每个事件都有特定的标识符,如:Qt::MouseButtonPress代表鼠标按下事件。每个事件对象包含该事件的所有相关信息,如:鼠标事件包含鼠标的坐标、按下的按钮等信息。2.事件处理器事件处理器是用于处理特定类型事件的成员函数,通常以event结尾,如:mousePressEvent、enterE
- 【OpenGL】使用 python + Qt + OpenGL 的现代渲染
无水先生
3D图形渲染和OpenGL编程pythonqt计算机图形学
伴随资源目录一、说明二、关于PyQt6.x2.1QOpenGLWidget详细说明2.2绘画技巧三、PyOpenGL四、OpenGL管线五、Python集成开发环境5.1Emacs配置5.2pycharm环境六、你好,OpenGL!七、QGL控件八、平截头体.svg九、定义几何9.1立即模式与保留模式9.2使用VBO定义Cube十、渲染立方体十一、渲染循环十二、添加旋转滑块一、说明在本教程中,我们
- Python Qt6快速入门-图形视图(Graphics View)
视觉与物联智能
Python编程实例pythonpyqt6qt6GUI开发语言
图形视图(GraphicsView)文章目录图形视图(GraphicsView)1、GraphicsView架构1.1场景(Scene)1.2视图(View)1.3项目(Item)2、GraphicsView坐标系统2.1项目坐标2.2场景坐标2.3视图坐标2.4坐标映射3、QGraphicsView使用实例GraphicsView提供了一个用于管理大量定制2D图形项目并与之交互的界面,以及一个用
- PyQt-QtGui-QCursor
木心心以向荣
pyqtpython
文章目录一、鼠标1.自定义鼠标一、鼠标1.自定义鼠标fromPyQt5.QtWidgetsimportQApplication,QWidget,QLabel,QPushButtonimportsysfromPyQt5.QtGuiimportQCursorfromPyQt5.QtGuiimportQPixmapclasswin(QWidget):#创建一个类,为了集成控件def__init__(se
- PyQt5中各种控件的功能及属性介绍
就让往事随风去...
Python相关pyqtpython
目录一、PyQt介绍二、导入相关库三、控件功能及属性介绍1.应用程序——`QApplication`2.基本窗口——`QWidget`3.多行文本编辑——`QTextEdit`4.垂直布局——`QVBoxLayout`(`QHoxLayout`为水平)5.可滚动视区——`QScrollArea`6.项目列表——`QListWidget`7.项目列表的项——`QListWidgetItem`8.创建
- 初学可视化PyQt5系列--主要类
万金油笑匠
PyQt5小白学做四旋翼无人机Python数据分析与可视化qt开发语言pythonuipyqt
【初学可视化PyQt5系列】第1章PyQt5简介第2章PyQt5新增功能第3章Hellomyfourrotordrone第4章PyQt5主要类第5章PyQt5使用Qt设计器第6章PyQt5信号与插槽第7章PyQt5布局与管理第8章PyQt5基本小部件第9章PyQt5QDialog类第10章PyQt5QMessageBox类第11章PyQt5多文档界面第12章PyQt5拖放第13章PyQt5数据库处
- PyQt5中的QObject对象
strive_one
QObject在Qt中QObject是所有类的基类,换而言之是在Qt中所有的类均继承自QObject,这使得QObject中的所有方法在其它类中使用。所以学习QObject中的方法有其特殊的意义。继承结构测试的方法fromPyQt5.QtCoreimportQObject#创建一个QObject对象obj=QObject()#获得父类mros=QObject.mro()formroinmros:p
- 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