- Java单元测试
晓之木初
java相关单元测试java
1.序言1.1工作中要求进行单元测试毕业进入公司时,为了锻炼笔者的Java基础,老大给笔者分配了平台化开发的工作,基于SpringBoot+Mybatis的JavaWeb后端开发一个人干后端开发,且以前也没有后端开发的经验,所以只是简单地模仿前人的代码,几乎没有使用任何的设计模式或者常见的Spring技术反正一句话:用最简单的语法,编写最冗长的代码,仅满足当时需求,且不考虑后续扩展在开发初期,组长
- 设计模式扩展 MyBatis Plus BaseMapper接口
〆、风神
设计模式mybatiswindows
pomcom.github.yulichangmybatis-plus-join-boot-starterjava/**1.在MyBatisPlus的BaseMapper的基础上拓展,提供更多的能力2.3.1.{@linkBaseMapper}为MyBatisPlus的基础接口,提供基础的CRUD能力4.2.{@linkMPJBaseMapper}为MyBatisPlusJoin的基础接口,提供连
- 相机租赁网站基于Spring Boot SSM
QQ1978519681计算机程序
数码相机springboot后端计算机毕设毕设
目录摘要1.项目背景与意义2.功能需求分析3.技术需求分析3.1开发语言:Java13。3.2其他技术:4.系统设计与实现5.市场分析6.创新点与优势7.预期成果与展望摘要随着摄影技术的普及和摄影爱好者数量的增加,相机租赁市场需求不断增长。为满足这一需求,并提升用户体验和管理效率,本文设计并实现了一个基于SpringBoot的相机租赁网站。该系统采用前后端分离的设计模式,前端使用Vu
- 【django】1-1 django构建web程序的基础知识
兔子的洋葱圈
#djangodjango后端python
文章目录1构建web应用的基础知识1.1互联网相关的概念1.2互联网协议DNS(域名系统)IP协议(互联网络协议)TCP(传输控制协议)HTTP(超文本传输协议)SSL(安全套接字层)TLS(传输层安全)1.3URL2web程序2.1web程序的本质2.2web框架的设计模式1.2.1经典的MVC设计模式1.2.2Django的MTV设计模式1构建web应用的基础知识1.1互联网相关的概念互联网:
- python版 聊天软件
qinhoupingss
Python
#!/usr/bin/python3.4fromtkinterimport*fromtkinter.filedialogimportaskopenfilenameimporttimefromthreadingimportThreadimportsocketimportsysimportos.pathimportprocess#聊天实现类classChatClient(Thread):#构造函数de
- 批量删除gitee远程库文件
xiaoyu121895
git
1、先将远程库拉回来,命令如下:gitclone“远程库地址”2、删除所有.o文件,命令如下gitrm*.o-r//删除.o文件3、提交变化到暂存区命令:gitadd.(不要忘了add后面的空格.4、提交到库,命令如下:gitcommit-m“clear”5、提交到远程库:gitpushoriginmaster此时可以看到远程库.o文件全部删除
- Java适配器模式源码剖析及使用场景
Java语录精选
JAVA设计模式java适配器模式python设计模式后端
文章目录一、适配器模式介绍二、大白话理解三、项目案例四、Java源码一、适配器模式介绍适配器模式(AdapterPattern)是一种结构型设计模式,它作用于将一个类的接口转换成客户端所期望的另一种接口,从而使原本由于接口不兼容而无法一起工作的那些类可以在一起工作。它属于包装模式的一种。适配器模式主要分为两种:类适配器:通过继承的方式实现适配器功能对象适配器:通过组合的方式实现适配器功能二、大白话
- 解释器模式和典型应用案例
高飞的Leo
设计模式解释器模式
解释器模式(InterpreterPattern)介绍解释器模式是一种行为设计模式,用于定义一种语言的文法,并提供一个解释器来解释该语言中的句子。它通常用于处理类似脚本语言、正则表达式、数学表达式等需要解析的场景。解释器模式的核心角色:抽象表达式(AbstractExpression):定义一个解释操作的接口。终结符表达式(TerminalExpression):实现与文法中的终结符相关的解释操作
- 命令模式介绍及应用案例
高飞的Leo
设计模式命令模式
命令模式介绍命令模式(CommandPattern)是一种行为设计模式,它将请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,并且支持请求的排队、记录日志、撤销操作等功能。命令模式的核心思想是将“请求”封装成对象,使得请求的发送者和接收者解耦,从而可以灵活地扩展和修改请求的处理逻辑。命令模式的主要角色:Command(命令接口):定义执行操作的接口。ConcreteCommand(具体
- C语言状态机演示 开关机
团圆吧
c语言开发语言
在嵌入式系统、游戏开发和协议解析等领域,状态机是一种常用且高效的设计模式。它通过将系统的行为划分为不同的状态,并根据输入事件在这些状态之间进行转换,简化了复杂系统的设计和维护。本文将介绍一个由happyDom开发的C语言状态机框架,并演示如何使用它来构建一个简单的状态机。框架概述happyDom/stateMachineC是一个用C语言编写的轻量级状态机框架。它提供了定义状态、事件和状态转换的功能
- 设计模式——设计模式理念
ShareBeHappy_Qin
设计模式设计模式java
文章目录参考:[设计模式——设计模式理念](https://mp.weixin.qq.com/s/IEduZFF6SaeAthWFFV6zKQ)参考:[设计模式——工厂方法模式](https://mp.weixin.qq.com/s/7tKIPtjvDxDJm4uFnqGsgQ)参考:[设计模式——抽象工厂模式](https://mp.weixin.qq.com/s/QRpn41l4RIJnLPr
- 设计模式之适配器模式(二):STL适配器
流星雨爱编程
#设计模式/架构设计#C++进阶设计模式适配器模式c++STL包装器
目录1.背景2.什么是STL适配器?3.函数对象适配器3.1.std::bind3.2.std::not1和std::not23.3.std::mem_fn4.容器适配器4.1.std::stack(栈)4.2.std::queue(队列)4.3.std::priority_queue(优先队列)5.迭代器适配器5.1.std::reverse_iterator(反向迭代器)5.2.std::ba
- 【Rust】——面向对象设计模式的实现
Y小夜
设计模式rust后端开发语言
个人主页:【Y小夜】作者简介:一位双非学校的大二学生,编程爱好者,专注于基础和实战分享,欢迎私信咨询!入门专栏:【MySQL,Java基础,Rust】热门专栏:【Python,Javaweb,Vue框架】感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️学习推荐:人工智能是一个涉及数学、计算机科学、数据科学、机器学习、神经网络等多个领域的交叉学科,其学习曲线相对陡峭,对初学者来说可能会有
- 基于 Redhat 9.5 的 LVS 负载均衡架构下 Nginx 服务器的部署与连通性实验
小卓笔记
服务器php数据库
节点规划主机角色系统网络IPclientclientredhat9.5仅主机192.168.10.100/24lvslvsredhat9.5仅主机NAT192.168.10.128/24VIP192.168.72.128/24DIPnginxrs1redhat9.5NAT192.168.72.7/24nginxrs2redhat9.5NAT192.168.72.17/24nginxrs3redha
- 功能测试点有哪些?怎么做好软件功能测试?
起码有故事
程序员软件测试IT程序人生测试工程师单元测试软件测试python
随着信息化进程的推进,各类APP、软件产品已经深入人们的生活住行。对于一款软件或者程序而言,功能能不能正常使用是人们评估产品最基础标准,所以做好软件功能测试对提升产品质量,建立用户口碑有重要意义。比如一款手游产品,用户在点击每个功能按钮时是否能正常执行,业务逻辑是否准确,字符是否能正常输入都是需要进行测试的功能测试点。在软件测试过程中,提取测试点是后续工作进展的必经步骤,那么常见的功能测试点有哪些
- C++四种类型转换运算符
Cane_Yung
C++c++
C++提供了四种类型转换运算符:const_cast、dynamic_cast、static_cast、reinterpret_cast使用方法:XX_cast(变量/表达式)1、const_cast一般用于去除const/volatile属性,将const数据转换为非constclassPerson{};//设一个空类intmain(){constPerson*p1=newPerson();Pe
- 【软件工程】填空题
GIS程序媛—椰子
软件工程软件工程
真题2024-1016.数据字典是用来定义_____中各个成分的具体含义的。17.模块设计的基本原则是_____。18.接口是操作的一个集合,其中每个操作描述了类、构件或子系统的一个_____。19.耦合是指不同模块之间_____的度量。20.RUP的突出特点是,它是一种以用况为驱动的、以体系结构为中心的_____、增量式开发。21.软件测试的两种主要技术为_____和黑盒测试技术。22.软件测试
- 超简单:Linux下opencv-gpu配置
李卓璐
学习笔记linuxopencv运维
1.下载opencv和opencv_contrib安装包1)使用命令下gitclonehttps://github.com/opencv/opencv.git-b4.9.0gitclonehttps://github.com/opencv/opencv_contrib.git-b4.9.02)复制链接去GitHub下载然后上传到服务器注意:看好版本,opencv和opencv_contrib安装包
- 常用八种设计模式,怒肝21000字,常用设计模式看这一篇就够了
小王笃定前行
java篇设计模式Java
文章目录设计模式分类七大原则单一职责原则开闭原则里氏替换原则接口隔离原则依赖倒置原则合成复用原则迪米特法则单例懒汉式:饿汉式:线程安全版懒汉式工厂模式简单工厂模式:工厂方法模式:抽象工厂模式:代理模式静态代理:动态代理:虚拟代理:装饰器模式策略模式观察者模式责任链模式本文主讲八种设计模式,分别是单例、工厂方法、抽象工厂、代理模式、装饰器模式、策略模式、观察者模式、责任链模式。概念:设计模式是一种解
- wfs.js之h264转码mp4分析
KL's pig/猪头/爱心/猪头
javascriptwebsocket网络前端linux
准备源文件下载源文件gitclonehttps://github.com/ChihChengYang/wfs.js.git编译后得到wfs.js这个文件调用在demo/index.html中,前端对wfs.js进行了调用varvideo1=document.getElementById("video1"),wfs=newWfs();wfs.attachMedia(video1,'ch1');对应w
- 状态模式_行为型_GOF23
lianghu666
架构师状态模式架构笔记开发语言
状态模式状态模式(StatePattern)是一种行为型设计模式,核心思想是让对象的行为随内部状态动态变化,通过将状态抽象为独立类,消除复杂的条件判断逻辑,实现状态与行为的解耦。类似于红绿灯:红灯停、绿灯行,状态切换时行为自动变化,但控制逻辑本身无需修改。一、通俗理解以电梯控制为例:传统方式:用if-else判断电梯当前状态(运行、停止、故障),代码臃肿且难以扩展新状态。状态模式:状态接口:定义电
- StableDiffusion的概念与搭建
北上ing
计算机视觉stablediffusionpython计算机视觉人工智能机器学习神经网络深度学习
StableDiffusion是基于潜在扩散模型LatentDiffusionModels(LDMs)实现的Txt2Img生成模型。相关的论文有:《High-ResolutionImageSynthesiswithLatentDiffusionModels》(CVPR2022)#1.环境搭建#下载项目gitclonehttps://github.com/CompVis/stable-diffusi
- 【简历】南京某一本大学JAVA简历指导,基本拿不到offer
huaxinjiayou
java
实习运营岗高途:base郑州,120一实习运营岗高途:base郑州,120一天希望学:base北京,150一天两个工作内容都差不多,本人家第二份工作离职现在就业形势比较严峻,但是每到转正的时候就与先前谈的薪资待遇不同,是选择默默忍受还是走人?�TCL华星技术研发面试两位面试官,一个hr一个技术1.自我介绍2.问仿真(这个技术是做仿真的,问的都是仿真相关),然后问仿字节实习-客服平台-后端这个时间了
- dolphin上MySQL到hive、seatunnel任务创建
元亨利贞之乾
mysqlhive数据库
dolphin上MySQL到hive、seatunnel任务创建:1.先获取所需数量的taskCodeLongtaskCode=getClient().opsForProcess().generateTaskCode(projectCode,1).get(0);2.创建MySqlSource对象,result_table_name、url、user、password、query是必须的public
- Django框架指南:从入门到进阶
靠近彗星
pythondjango学习sqlite数据库djangopython后端
目录一、Django简介二、MTV设计模式三、安装与配置1.安装Django2.创建项目与启动服务3.目录结构4.数据库配置(以MySQL为例)四、路由系统1.基础路由2.二级路由五、视图与模板1.视图函数2.模板语法3.自定义模板标签六、模型与数据库1.定义模型2.数据库操作3.关联表七、用户认证与安全1.用户认证2.CSRF防护八、高级功能1.分页2.缓存3.信号(Signals)九、Admi
- 全网爆款抓包工具的有哪些?他们的优劣势是啥?
北凡说测试
测试工具
前言各位小伙伴们好呀,今天呢我想和大家来唠唠抓包工具,作为软件测试工程师,抓包总是不可避免:遇到问题要做分析需要抓包;发现bug需要定位要抓包;检查数据传输的安全性需要抓包;接口测试遇到需求不全的也需要抓包...就因为抓包在测试工作中无处不在,所以市面上才会出现一大批的抓包工具供大家选择。有很多小伙伴都在讨论的一个问题就是“这个工具和xxx工具有什么区别呢?”或者"这个工具和xxx工具谁更好用呢?
- 【单例模式详解】Java初学者必学的第一个设计模式,从理论到实践
keyBird在成长
单例模式java设计模式
大家好!今天我想和各位分享Java世界中最基础也最实用的设计模式之一——单例模式(SingletonPattern)。不知道大家是否有这样的经历:刚开始学习Java时,被各种概念和语法搞得晕头转向,等到真正开始写项目时,又不知道如何组织代码,结果写出来的程序既难维护又难扩展。别担心,这是每个Java初学者都会经历的阶段!在我的Java学习之旅中,单例模式是我掌握的第一个设计模式,它不仅概念简单,而
- 通过程序调用Deepseek本地大模型
yuanlaile
deepseek调用Deepseek本地大模型
通过程序调用Deepseek本地大模型,以下分别对Python调用、Nodejs调用、Curl调用进行讲解。DeepSeekR1本地部署DeepSeekApi接口调用DeepSeekRAG知识库工作流系列教程Pyton调用https://pypi.org/project/ollama/pipinstallollamafromollamaimportClientclient=Client(host=
- 算法试题——每日一练
0202ohh
算法刷题(C语言)算法数据结构c语言
求整数x的平方根给定一个非负整数,求它的平方根,只要整数部分。第一次通过的代码:intmySqrt(intx){longintlow,high,mid,t;low=0;high=x;while(lowx/g){g/=2;}//对应上面的while(t*tintclimbStairs(intn){if(nintclimbStairs(intn){inta,b,c;if(nintremoveDupli
- JavaScript中的装饰器模式
前端岳大宝
前端核心知识总结前端javascript装饰器模式
以下是关于装饰器模式(DecoratorPattern)的系统梳理,涵盖核心概念、实现方式、应用场景及注意事项,帮助我们掌握这种灵活扩展对象能力的经典设计模式:一、装饰器模式基础1.核心概念定义:动态地为对象添加额外职责,相比继承更灵活,遵循开放-封闭原则(对扩展开放,对修改封闭)。核心思想:通过包装对象(装饰器)增强功能,而非修改原始对象。参与者:Component(组件接口):定义被装饰对象的
- 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