- 罗杰斯常见覆铜板型号汇总表
Turbulence_NB
材料工程射频工程pcb工艺制造5G
高频系列DK罗杰斯板材2.0-2.17CuClad217(罗杰斯)、DiClad880(罗杰斯)、IsoClad917(罗杰斯)、RT5880LZ(罗杰斯)2.2—2.25RO5880(罗杰斯)、IMSeries(罗杰斯)、IsoClad917(罗杰斯)、RT/duroid5880(罗杰斯)2.3CuClad233(罗杰斯)、DiClad870(罗杰斯)、IsoClad933(罗杰斯)、RT/du
- 浅谈Java Spring Boot 框架分析和理解
微笑的曙光(StevenLi)
JAVAjavaspringboot开发语言
SpringBoot是一个简化Spring开发的框架,它遵循“约定优于配置”的原则,通过内嵌的Tomcat、Jetty或Undertow等容器,使得开发者能够快速构建独立运行的、生产级别的基于Spring框架的应用程序。SpringBoot包含了大量的自动配置功能,可智能识别已存在的库并配置相应组件,从而减少手动配置的工作量。JavaSpringBoot是一个基于Spring框架的开源Java框架
- Asp.Net Core 使用 MediatR
weixin_30794851
c#
Asp.NetCore使用MediatR项目中使用了CQRS读写分离,增删改的地方使用了MediatR,将进程内消息的发送和处理进行解耦。于是便有了这篇文章,整理并记录一下自己的学习。遇到问题,解决问题,记录问题,成长就是一步一步走出来的。MediatR是什么?是的,不管你怎么翻译都查不到该词,好多人都猜测说是作者将Mediator笔误写成MediatR了,哈哈哈,该问题暂且不论。作者说这是一个野
- 如何在 ASP.Net Core 中使用 MediatR
dotNET跨平台
js设计模式cssiocaop
MediatR是一个中介者模式的.NET开源实现,中介者模式管控了一组对象之间的相互通讯并有效的减少了对象之间错综复杂的相互依赖,在中介者模式中,一个对象不需要直接和另一个对象进行通讯,而是通过中介者进行转达,这篇文章将会讨论如何在ASP.NetCore中使用MediatR。安装MediatR在ASP.NetCore中使用MediatR非常简单,你只需要通过Nuget安装如下两个包即可。Media
- ASP.NET Core 入门教学二十九 DDD设计
充值内卷
asp.net后端
在软件开发中,领域驱动设计(Domain-DrivenDesign,简称DDD)是一种重要的软件设计方法论,它强调通过深入理解业务领域来构建高质量的软件系统。DDD的核心思想是将复杂的业务逻辑集中在领域模型中,并通过分层架构来实现系统的可维护性和可扩展性。1.DDD的基本概念领域模型:领域模型是对业务领域的抽象表示,包含了业务实体、值对象、服务、聚合根等元素。聚合根:聚合根是领域模型的入口点,负责
- 推荐:基于领域驱动设计的ASP.NET Core微服务应用实践
郁英忆
推荐:基于领域驱动设计的ASP.NETCore微服务应用实践Domain-Driven-Design-with-ASP.NET-Core-MicroservicesDomain-DrivenDesignwithASP.NETCoreMicroservices项目地址:https://gitcode.com/gh_mirrors/do/Domain-Driven-Design-with-ASP.NE
- ASP.NET Core中使用MediatR实现CQRS
NauClojure
asp.netjava数据库
CQRS(CommandQueryResponsibilitySegregation)是一种架构模式,它将应用程序的读取和写入操作分离开来,从而提供更好的可扩展性和灵活性。在ASP.NETCore中,我们可以使用MediatR库来实现CQRS模式。首先,我们需要安装MediatR库。可以通过NuGet包管理器或使用dotnet命令行来安装它。dotnetaddpackageMediatR安装完成后
- ASP.NET Core DDD
AAA猪饲料批发李师傅
.NETASP.NETCoreDDD微服务
目录什么是微服务单体结构项目微服务架构项目微服务架构误区什么是DDDDDD领域与领域模型领域(Domain)领域模型(DomainModel)事务脚本事务脚本的问题通用语言与界限上下文通用语言界限上下文实体与值对象实体(Entity)值对象(ValueObject)聚合与聚合根聚合(Aggregate)聚合的意义聚合的划分很难聚合的划分没有标准答案聚合的划分的原则领域服务与应用服务简述DDD典型用
- ASP.NET Core用MediatR实现领域事件
AAA猪饲料批发李师傅
.NETASP.NETCoreDDDMediatR
目录领域事件的实现选择实现方式1:C#的事件机制实现方式2:进程内消息传递的开源库MediatR。MediatR用法注意领域事件的实现选择实现方式1:C#的事件机制缺点:需要显式地注册。varbl=newProcessBusinessLogic();bl.ProcessCompleted+=bl_ProcessCompleted;bl.StartProcess();实现方式2:进程内消息传递的开源
- C#中ASP.NET Web API的详细介绍及示例代码
独行侠WU
c#asp.net前端C#
ASP.NETWebAPI是一种用于构建基于HTTP协议的服务的框架,它可以使用C#编程语言进行开发。在本文中,我们将详细介绍ASP.NETWebAPI的特点和用法,并提供一些示例代码。ASP.NETWebAPI的特点:开放性:ASP.NETWebAPI是开源的,可以在GitHub上找到它的源代码。这意味着开发人员可以根据自己的需求进行自定义和扩展。轻量级:ASP.NETWebAPI是一种轻量级的
- C# ASP.NET 介绍
来恩1003
C#从入门到精通c#asp.net开发语言
.NET学习资料.NET学习资料.NET学习资料一、概述ASP.NET是由微软创建的一个开源Web框架,用于使用.NET构建现代化的Web应用程序和服务。它为开发者提供了一套丰富的工具、库和编程模型,使得创建功能强大、高效且安全的Web应用变得更加容易。通过ASP.NET,开发者能够利用.NET平台的优势,结合C#等编程语言,快速开发出各种类型的Web应用,涵盖从简单的动态网页到复杂的企业级Web
- 超硬核的java开源物联网智能家居系统
Github导航站
javagithub
今天小编推荐一套开源的软硬件系统,可用于二次开发和学习,快速搭建自己的物联网/智能家居系统。硬件工程师可以把自己的设备集成到系统;软件工程师可以使用项目中的设备熟悉软硬件交互。开源协议 使用MulanPSL-2.0开源许可协议链接地址 公众号【Github导航站】回复关键词【wum】获取git地址项目简介服务端 使用springboot、数据库mysql和redis、前端vue、移动端a
- <tauri><rust><GUI>使用tauri创建一个图片浏览器(文件夹遍历、图片切换)
机构师
rust开发语言后端taurijavascript
前言本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。环境配置系统:windows10平台:visualstudiocode语言:rust、javascript库:tauri2.0概述本文是在前文的基础上,实现一个图片浏览器,要实现的功能是如何从遍历本地文件夹获取图片文件
- 安全研究员职业提升路径
rockmelodies
人工智能deepseek
阶段一:基础能力沉淀期(0-3年)目标薪资:15-30万/年(国内)核心技能掌握渗透测试全流程(Web/App/内网)熟练使用BurpSuite、Metasploit、IDAPro等工具理解漏洞原理(如OWASPTop10、CVE漏洞复现)获得OSCP认证(实战渗透黄金标准)变现策略参与众测平台(HackerOne/Bugcrowd),积累漏洞奖金撰写技术博客,建立个人技术品牌参与企业红队外包项目
- 2025年2月10日(树莓派1.44inch LCD HAT)
Mason Lin
Python学习计算机外设
安装记录hdmi_force_hotplug=1hdmi_cvt=300300601000hdmi_group=2hdmi_mode=87display_rotate=0这些配置参数通常用于树莓派(RaspberryPi)的`config.txt`文件中,用于调整HDMI输出的设置。以下是每个参数的含义:1.**hdmi_force_hotplug=1**强制树莓派认为HDMI显示器已连接,即使未
- <Tauri>tauri2.0框架下,基于qwik(前端)和rust(后端)结合的桌面程序体验
机构师
前端rust后端GUItauriqwik
关于qwikQwikisanewkindofwebframeworkthatcandeliverinstantloadingwebapplicationsatanysizeorcomplexity.Yoursitesandappscanbootwithabout1kbofJS(regardlessofapplicationcomplexity),andachieveconsistentperfor
- 初次体验Tauri和Sycamore(1)
Liigo
WebRustliigotaurirustsycamorewasmelectrongui
原创作者:庄晓立(LIIGO)原创时间:2024年11月10日原创链接:https://blog.csdn.net/liigo/article/details/143666827版权所有,转载请注明出处。前言Tauri2.0发布于2024年10月2日,Sycamore0.9发布于2024年11月1日。二者在近期双双发布重大版本升级,是我(LIIGO)这次想体验他们的主要动机。Tauri自2022年
- 初次体验Tauri和Sycamore (2)
Liigo
WebRust源代码SycamoreTauriDioxusRustWebAssemblyJSXReact
原创作者:庄晓立(LIIGO)原创时间:2025年2月8日(首次发布时间)原创链接:https://blog.csdn.net/liigo/article/details/145520637版权所有,转载请注明出处。关键词:Sycamore,Tauri,Dioxus,Leptos,Rust,WebAssembly,Reactive,JSX,React,Web前言Tauri2.0发布于2024年10
- excel如何拆分为1000行一个的文件
扎量丙不要犟
excel
方法一:使用hpctb打开文件,点“行分表”就行了。如图:一步完成,不需要安装环境,也不需要专业知识,也不需要“神”一样的ai。方法二:使用Python安装库(如未安装)pipinstallpandasopenpyxlPython脚本importpandasaspd#读取原文件df=pd.read_excel("input.xlsx")chunk_size=100#每个文件的行数#计算总块数并循环
- 第 1 课 树莓派5介绍
嵌入式老牛
树莓派之基本应用单片机嵌入式硬件
详细的介绍可参见:https://www.raspberrypi.com/documentation/computers/raspberry-pi.htmlRaspberryPi,中文名为“树莓派”,简写为Rpi,是一款只有信用卡大小的计算机的计算机,由英国的树莓派基金会所开发,被赋予的希望是能够帮助全世界的孩子学习编程,并能够了解计算机是如何工作的。树莓派可连接键盘、鼠标和网线,同时拥有视觉模拟
- kamailio6.0和SIPp及vos3000测通的代码
狂爱代码的码农
VOIP那些事kamailio
SIPp的代码From:;tag=clientCall-ID:12345CSeq:1INVITEMax-Forwards:70Content-Length:0Via:SIP/2.0/UDP192.168.1.62:5060;branch=z9hG4bK-12345]]>;tag=clientFrom:;tag=clientCall-ID:12345CSeq:1ACKVia:SIP/2.0/UDP1
- 3D文档控件Aspose.3D实用教程: 在 Java 中创建 FBX 文件并无缝将圆柱体转换为网格
CodeCraft Studio
3D/2DCAD文档管理3djava
概述创建FBX文件并将圆柱体转换为网格是3D建模和动画中的基本任务。这些过程在游戏、电影和建筑等行业中至关重要。通过使用Aspose.3DforJava,开发人员可以高效地管理3D场景和对象。这个强大的Java3DAPI简化了3D模型的创建和操作。它的易用性和灵活性使其成为希望在Java中创建FBX文件并无缝将圆柱体转换为网格的Java开发人员的理想选择。本文将讨论以下几点:Java3DAPI安装
- python基础入门:附录:常用第三方库推荐(NumPy、Django等)
赵鑫亿
python基础入门pythonnumpydjango
Python常用第三方库全景指南:从基础到前沿工具集一、数据科学核心套件数值计算三剑客#NumPy数组操作示例importnumpyasnparr=np.arange(1,10).reshape(3,3)print(arr@arr.T)#矩阵乘法#Pandas数据分析示例importpandasaspddf=pd.DataFrame({'A':np.random.randn(100),'B':np
- python基础入门:8.1项目1:爬虫与数据分析
赵鑫亿
python基础入门python爬虫数据分析
Python爬虫与数据分析全流程实战:从数据采集到可视化呈现#综合案例:电商价格监控分析系统importrequestsfrombs4importBeautifulSoupimportpandasaspdimportmatplotlib.pyplotasplt#配置参数HEADERS={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)''Appl
- 国内外主流RASP厂商推荐,软件供应链安全治理防御最后一环
软件供应链安全指南
开发安全安全
什么是RASPRASP是一种安全防护技术,运行在程序执行期间,使程序能够自我监控和识别有害的输入和行为。也就是说一个程序如果注入或者引入了RASP技术,那么RASP就和这个程序融为一体,使应用程序具备了自我防护的能力,就可以实时检测到应用是否遭受攻击并进行阻断和自我防御。并且应用程序无需在编码时进行任何的修改,只需进行简单的配置即可。RASP可以应用在Web应用程序和非Web应用程序,对应用程序的
- 在树莓派5上安装opencv的时候出现报错ImportError: numpy.core.multiarray failed to import
听说你还在搞什么原创~
opencv人工智能numpy
>>>importcv2AmodulethatwascompiledusingNumPy1.xcannotberuninNumPy2.0.2asitmaycrash.Tosupportboth1.xand2.xversionsofNumPy,modulesmustbecompiledwithNumPy2.0.Somemodulemayneedtorebuildinsteade.g.with'pyb
- 全网最全 Aspose.Words for Java 高级使用教程
一只蜗牛儿
java开发语言
Aspose.WordsforJava是一款功能强大的文档处理库,允许开发者创建、修改、转换和打印文档。本文将详细介绍Aspose.WordsforJava的高级使用方法,并重点讲解如何在文档中添加水印。目录Aspose.WordsforJava简介安装Aspose.WordsforJava创建和操作文档添加水印文档转换高级功能示例代码总结1.Aspose.WordsforJava简介Aspose
- 通用辅助生成: 使用任意辅助模型加速解码
llm
太长不看版:许多LLM(如gemma-2-9b、Mixtral-8x22B-Instruct-v0.1等)苦于缺乏对应小模型,而无法适用辅助生成方案。本文,我们将介绍由英特尔研究院和HuggingFace合作开发的通用辅助生成技术。有了这项技术,LLM可与任意SLM搭配组成辅助生成方案。从而,我们可以用辅助生成技术加速任意解码器模型或混合专家模型以获得1.5x-2.0x的加速比。重要的是,开销几乎
- Ansible入门
林晞
ansiblelinux运维
一、运维自动化发展历程及技术应用IaaSInfrastructureasaService基础设施即服务PaaSPlatformasaService平台即服务SaaSSoftwareasaService软件即服务1、特性模块化:调用特定的模块,完成特定的功能有Paramoki、PyYAML、Jinja2(模块语言)三个关键模块支持自定义模块基于Python语言实现部署简单、基于Python和SSH安
- Excel文件的读取
朵朵zeng
excelpython
如果要读取excel(.xlsx)文件,应该使用pandas库或openpyxl库。而不是open。方法1:使用pandas读取xlsx文件importpandasaspd#读取Excel文件file_path="C:/Users/N0890/Desktop/test.xlsx"df=pd.read_excel(file_path)#打印Excel内容print(df)方法2:使用openpyxl
- 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