- 突破编程_C++_高级教程(单元测试与 Google Test 教程)
breakthrough_01
突破编程_C++_高级教程c++单元测试开发语言
1单元测试简介单元测试(UnitTesting)是一种编程方法,用于验证代码中的最小可测试单元(通常是函数、方法或模块)是否按照预期工作。在C++中,单元测试通常涉及编写一组测试用例,每个用例都调用一个特定的函数或方法,并验证其返回值或行为是否符合预期。单元测试的目的是确保代码的正确性和可靠性,以及减少在后续开发过程中引入错误的可能性。通过编写单元测试,开发人员可以在不影响其他代码的情况下,独立地
- Spring Boot单元测试入门实战
程序员汤圆
软件测试技术分享springboot单元测试后端
一、关于JUnit的一些东西在我们开发Web应用时,经常会直接去观察结果进行测试。虽然也是一种方式,但是并不严谨。作为开发者编写测试代码来测试自己所写的业务逻辑是,以提高代码的质量、降低错误方法的概率以及进行性能测试等。经常作为开发这写的最多就是单元测试。引入spring-boot-starter-testSpringBoot的测试依赖。该依赖会引入JUnit的测试包,也是我们用的做多的单元测试包
- JUNIT5+Mockito单元测试
csdn_freak_dd
Java单元测试单元测试
文章目录1、前言2、Maven依赖2.1JDK21+SpringBoot版本基于3.1.02.2JDK17+SpringBoot版本基于2.2.5.RELEASE3、业务代码4、单元测试1、前言之前写过一篇使用testMe自动生成单元测试用例,使用的是junit4来编写的单元测试用例,目前很多新项目都已经使用JDK11+以及SpringBoot3+。本次基于junit5+Mockito来编写单元测
- ios 单元测试覆盖率怎么查看_iOS单元测试简单介绍
weixin_39714835
ios单元测试覆盖率怎么查看
单元测试的特点用代码来测试代码红灯/绿灯迭代开发在日常开发中,数据大部分来自网络,很难出现'边界数据',如果不测试所有条件就上架,APP就容易发生闪退自己建立测试用例单元测试不是靠NSLog来进行测试的,是使用'断言'来测试的,提前设置的条件必须满足才能通过测试扩展:为什么有些公司讨厌单元测试,因为'代码覆盖率'不好确认,提示:不是所有的代码都需要测试例如,私有方法不需要测试!只有暴露在.h中的方
- Windows安装 PyCharm
_奇变偶不变_
PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。PyCharm的下载地址:http://www.jetbrains.com/pycharm/download/#secti
- 突破编程_C++_面试(单元测试)
breakthrough_01
突破编程_C++_面试c++面试单元测试
面试题1:单元测试的重要性是什么?单元测试的重要性主要体现在以下几个方面:(1)提高代码质量:单元测试有助于在编码阶段就发现和修正错误,从而提高代码质量。它可以确保每个函数或模块按照预期工作,防止代码中的错误传播。(2)加速开发进程:通过单元测试,开发人员可以更快地找出和修复问题,减少调试时间,从而加快开发进程(当然本身写单元测试也是需要花时间的)。(3)减少维护成本:单元测试能够预防问题,减少发
- SpringBoot单元测试时实现回滚事务
jothan_lee
SpringBoot相关单元测试springbootjava
1前言:为了避免和减少bug的出现,公司质量检验团队对开发人员提出了写单测的要求,其中代码覆盖率80%以上,******(爆粗口),在写单测的过程中非常想在做update,delete,insert操作时不把事务提交,造成数据库中的数据应该单测而搞的乱糟糟的。2方案2.1增加一个@Transactional注解@RunWith(SpringJUnit4ClassRunner.class)@Spri
- 单元测试数据库回滚问题
拾光师
单元测试java
问题现象:在进行单元测试时,测试执行成功,可是数据库中的数据没变问题解决:单元测试自动回滚,需要加上注解Rollback(false)https://zhhll.icu/2020/javaweb/问题/1.单元测试数据问题/本文由mdnice多平台发布
- Java单元测试实践-28.spring-test数据库操作自动回滚处理
adrninistrat0r
Java单元测试java单元测试数据库spring-test
Java单元测试实践-00.目录(9万多字文档+700多测试示例)https://blog.csdn.net/a82514921/article/details/1079693401.spring-test数据库操作自动回滚处理在进行单元测试时,可以使用spring-test提供的支持,使执行单元测试时的数据库操作使用事务,在测试方法结束时可以回滚数据库操作。通过上述方法,可以使执行单元测试时不对
- 2024华为软件测试笔试面试真题,抓紧收藏不然就看不到了
咖啡加剁椒..
软件测试华为面试职场和发展功能测试软件测试自动化测试程序人生
一、选择题1、对计算机软件和硬件资源进行管理和控制的软件是(D)A.文件管理程序B.输入输出管理程序C.命令出来程序D.操作系统2、在没有需求文档和产品说明书的情况下只有哪一种测试方法可以进行的(A)A.错误推测法测试B.路劲分析测试C.语句覆盖测试D.条件覆盖测试3、某测试人员通过执行测试软件测试的方法对当前功能进行了测试,该测试人员使用的测试方法为(C)A.静态测试B.单元测试C.黑盒测试4、
- 基于Mocha的typescript调试教程
阳光七十米
typescript前端单元测试mocha
编写单元测试时,不可避免的会出现难以一眼看出的问题,这个时候就需要debug了。以下是基于mocha的typescript调试配置信息,保证成功!!VSCode配置{"name":"MochaTests","program":"${workspaceFolder}/node_modules/mocha/bin/_mocha","request":"launch","type":"node","ar
- 如何创建自己的Spring Boot Starter并为其编写单元测试
springboot
当我们想要封装一些自定义功能给别人使用的时候,创建SpringBootStarter的形式是最好的实现方式。如果您还不会构建自己的SpringBootStarter的话,本文将带你一起创建一个自己的SpringBootStarter。快速入门创建一个新的Maven项目。第三方封装的命名格式是xxx-spring-boot-starter,例如:didispace-spring-boot-start
- 人教版六年级语文下册第2单元测试题。
书画作品交流
第1题给下列词语注音。(8分)翡翠——()展览——()彩绘——()鞭炮——()预备——()腊月——()爆竹——()蒜瓣——()第2题给下列形式字组词。(10分)()气长()()子()宝()探()养()乎()苗买()血()第3题
- Java单元测试 - mock静态方法
TheManba
Java项目经验总结java单元测试log4j
文章目录1.mock静态方法2.升级maven依赖3.示例1.mock静态方法mockito在3.4.0版本之后,开始支持mockstaticmethod。2.升级maven依赖org.mockitomockito-core3.12.4testorg.mockitomockito-inline3.12.4test3.示例类A有一个静态方法a(),publicclassA{publicstaticS
- Java8学习笔记之测试Lambda表达式
夏与清风
通常,好的软件工程实践一定少不了单元测试,以此来保证程序的行为与预期一致。通过测试用例确保代码中的每个组成部分都实现预期的结果。如下:publicclassPoint{privatefinalintx;privatefinalinty;privatePoint(intx,inty){this.x=x;this.y=y;}publicintgetX(){returnx;}publicintgetY(
- 单元测试
helinyu
不管是开发还是重构,这个过程都会涉及到重构的概念,看看这个概念要怎么进行处理?如何简历更好的单元测试;使用书籍:《单元测试的艺术》我们通过系统的公共API和行为就可以光差到一个可见的最终结果,无需查看系统的内部装填。一个最终结果可以是一下任何一种形式:1》被掉员工公公公方法返回一个值(一个放回不为空的函数)2》在方法调用的前后,系统的装填或系统有可见的变化,,或者一个状态机系统的舒心发生变化3》调
- 依赖注入(DI):对比Java,Go实现方式
农夫小田
Gogolang开发语言后端
依赖注入:解耦,自动填充代码,方便单元测试的优质轮子!前言熟悉Java语言的同学一定不陌生,依赖注入(DependencyInjection)是Spring框架中的设计基石,有开发经验的同学一定会熟知它的概念(当然也是面试常考问题)。然而在Golang中,我发现很多项目的代码缺少了这一部分,这也是由于Golang并不是严格意义上的面向对象的编程语言。本文将从Java与Go常用框架的DI实现方式分析
- Ionic工程搭建测试框架
小溪的梦想
首先承认,为app添加单元测试的重要性。如果你觉得不那么重要,可参考《代码的免疫系统-单元测试》。选Karma作为你的运行环境的测试,Jasmine作为你实际的测试case。(当然你有其他的选择)前端的测试分类:分为单元测试和end-to-end测试单元测试是独立于组件的测试。e2e是用浏览器的自动点击等行为模拟人的使用行为来测试整个app的。e2e采用的是selenium测试。下面我们重点介绍为
- C语言单元测试(UT)用例编写——gtest+stub打桩
anranjingsi
windows工具使用测试开发
stub工具源码:https://github.com/coolxv/cpp-stub/tree/master/src这里做下简单的背景介绍,ut的基础介绍:可以先去看下先去的文章:https://blog.csdn.net/anranjingsi/article/details/106084223前面也使用过gtest+gmock框架给C/C++做单元测试,但gmock的使用有着明显的限制:1)
- 关于gmock单元测试的使用小白知识,初使用gmock前推荐看
anranjingsi
测试开发单元测试c++windows编程语言经验分享
1.什么是单元测试?单元测试,维基百科给出定义:UnitTesting,又称为模块测试,是针对程序模块(软件设计的最小单元)进行正确性检验的测试工作。2.什么是模块?或者什么是最小单元?通俗的说就是函数或者类的方法。“单元”的定义,其实可以更加宽泛,在面向对象语言中,一个单元可以指一个方法,也可以是一个类。单元的选定更多的取决于我们测试的意图。3.为什么需要单元测试?我们常说的单元测试,是开发者编
- POM设计模式思路,详解POM:概述与介绍,POM思路梳理+代码示例(全)
梦断南楼
UI自动化测试技术研究设计模式pythonPOM笔记功能测试
概述在UI自动化测试中,POM模式是一种设计思路,它的核心思想是方法的封装。它将方法类和页面元素进行分离,增强了代码的可维护性。值得注意的是,这种分层的设计模式,最好也是从线性代码开始,逐步将代码进行升级,最后形成以POM设计思路为核心的自动化测试框架。思路梳理版本升级思路V1(不使用任何设计模式和单元测试框架)V2(使用PyTest管理用例)V3(使用方法封装的思想,对代码进行优化。)V4(引入
- 关于maven项目中无法通过邮件服务器发送邮件的补充解决方案
?。。!
mavenlog4jjava
1、问题及解决方法我的一篇文章中提到使用代码发送电子邮件,但是maven项目中无法执行成功,现在我找到了解决办法,只要引入依赖时同时引入下面两个依赖就行了,我无法找到原因主要是使用单元测试方法运行,它居然不报错,只有使用main方法运行才会提示报错信息。javax.mailjavax.mail-api1.6.2com.sun.mailjavax.mail1.6.2
- Jest和Mocha对比:两者之间有哪些区别?
.咖啡加剁椒.
软件测试软件测试自动化测试功能测试程序人生职场和发展
什么是单元测试?所谓单元测试,是对软件中单个功能组件进行测试的一种软件测试方式,其目的是确保代码中的每一个基本单元都能正常运行。因此,开发人员在应用程序开发的整个过程(即代码编写过程)中都需要进行单元测试。在进入到软件开发的下一阶段之前,对程序进行单元测试是一个不错的主意。单元测试非常有用,它使用简单并且运行迅速。单元测试是测试驱动开发(TDD)的重要组成部分,在我们进行实际功能开发之前,它是用来
- 11月7日。
faye_5146
今天,他进行了语文复习,因为明天要语文单元测试。拼音的部分都掌握的比较弱。所以回来又重新给他过了一遍,感觉多一点信心,他会。明天会考的好一点。在晚托班做了一张不算难的试卷,他还是错了很多,因为他的心里面惦记着隔壁班,他要上的机器人课,于是下课了以后,我就把他叫回来重新订正了试卷,结果怎么跟他讲他都不愿意,那怎么办呢?想了一个办法,那么假设你是一个老师,那么你就给你自己的学生批作业吧。老师给学生批作
- 01_01_java基础08_File类和IO流
过于执
Java再记录java开发语言
1java.io.File类的使用1.1概述文件的路径表示方式:方式1:绝对路径:以windows操作系统为例,包括盘符在内的文件或文件目录的完整路径。方式2:相对路径:相对于某一个文件目录来讲的相对的位置。在IDEA中,如果使用单元测试方法:相对于当前的module来讲如果使用main()方法:相对于当前的project来讲1.2构造器publicFile(Stringpathname):以pa
- DL4J中文文档/Keras模型导入/嵌入层
hello风一样的男子
KerasEmbedding[源码]从Keras导入一个嵌入层KerasEmbeddingpublicKerasEmbedding()throwsUnsupportedKerasConfigurationExceptionimage.gif为单元测试传递构造函数抛出UnsupportedKerasConfigurationException不支持的Keras配置getEmbeddingLayerp
- Pytest单元测试框架之fixture装饰器实现前后置
我亲手种的.
单元测试pythonselenium自动化
系列文章目录第一章Pytest单元测试框架基础第二章Pytest单元测试框架之fixture装饰器实现前后置目录系列文章目录前言一、Pytest的setup和teardown前后置实战二、fixture装饰器三、conftest.py文件前言前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景:用例1需要先登录,用
- unity在stm32上的使用
独处东汉
嵌入式单片机项目开发unitystm32游戏引擎
目录unity在stm32上的使用源码获取基础工程开始移植实验现象unity在stm32上的使用本文目标:unity在stm32上的使用。按照本文的描述,应该可以在你所处的硬件上跑通代码。先决条件:装有编译和集成的开发环境,比如:KeiluVision5。板子硬件要求:无,芯片自带的串口功能即可完成。源码获取Unity是一个轻量级的C语言单元测试框架,它的设计理念是简单易用。Unity支持测试套件
- STM32HAL库-移植Unity针对微控制器编写测试框架
Ch_champion
#STM32
概述本篇文章介绍如何使用STM32HAL库,移植Unity是一个为C语言构建的单元测试框架,侧重于使用嵌入式工具链。GitHub:https://github.com/ThrowTheSwitch/Unity硬件:STM32F103CBT6最小系统板软件:Keil5.29+STM32CubeMX6.20一、使用方法把Unity源码下载下来,具体步骤,请移步到官网详解。https://github.
- Unity(单元测试)在STM32上的移植与应用
andylauren
编程语言技巧单片机软件开发stm32嵌入式硬件单片机unity
概述UnityTest是一个为C构建的单元测试框架。本文基于STM32F407为基础,完全使用STM32CubeIDE进行开发,移植和简单使用Unity。单片机型号:STM32F407VET6软件:STM32CubeIDEVersion:1.14.1UnityVersion:2.6.0一、配置stm32工程新建工程,选择407芯片,生成工程后开始配置硬件,这里我们只使用了串口1,作为打印输出串口,
- 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