- MySQL数据库(二)---约束条件的介绍
铅华尽
数据库mysql
为防止不符合规范的数据存入数据库,在用户对数据进行插入、修改、删除等操作时,MySQL提供了一种机制来检查数据库中的数据是否满足规定的条件,以保证数据库中数据的准确性和一致性,这种机制就是完整性约束。完整性----数据的准确性MySQL中主要支持以下几种种完整性约束,如表所示。其中Check约束是MySQL8中提供的支持。约束条件约束描述PRIMARYKEY主键约束,约束字段的值可唯一地标识对应的
- Selenium学习笔记--Webdriver API 2--常用方法
jiang_guo
自动化测试笔记selenium
Webdriver重用方法浏览器控制控制浏览器窗口大小控制浏览器后退、前进切换标签页(窗口切换)switch方法获取url使用get方法模拟浏览器刷新关闭浏览器常用方法clearsend_keysclicksubmitsizetextget_attributeis_displayedtitlecurrent_url鼠标操作键盘操作元素等待显示等待隐式等待切换iframe单表单切换嵌套表单切换平行表
- java 高级工程师面试题集锦,持续更新~
aifans_bert
java学习java开发语言后端
找大厂面试题,看套路!Java面试题及答案及面试解析说到找工作,你认为现在最重要的事情是什么?当然找大厂面试题,看套路!以下面试题就是小编为大家准备的,希望对大家有用!1.面向对象的特征请阅读严宏博士的Java模式或设计模式解释中的桥梁模式)。封装:一般认为封装是将数据和操作数据的方法绑定起来,数据的访问只能通过定义。吐血总结!50道Python面试题集锦(附答案)这些面试题涉及Python基础知
- Pandas基础05(数据的映射/replace()、rename()、map()、apply() 和 transform())
XYX的Blog
数据分析与可视化pandas
数据映射:使用Pandas进行高效的数据处理在数据分析中,我们经常需要对数据进行处理、转换和映射。Pandas提供了许多强大的方法来帮助我们高效地完成这些任务。本文将介绍几个常用的映射函数,并展示它们在实际数据处理中的应用。具体来说,我们将介绍replace()、rename()、map()、apply()和transform()函数,这些都是非常常见的用于数据映射的操作。1.replace()函
- python谷歌浏览器dino游戏,完整开源代码
terryzhang404
pythonchromepygame游戏pycharm
观前提示:本文选自作者个人博客,为获得更好观感,请访问博主博客得到更好体验)说到googlechrome,很多人都会想到它标志性的断网小游戏——chromedino,今日,我们利用python还原并将代码开源,欢迎随时取用。话不多说,直接进入正题实现效果第一部分:配置环境编译器:pycharm社区版2024.1插件:pygame导入所用库,没有的可以去下载,具体方法不多赘述,网上有importpy
- React第二十五章(受控组件/非受控组件)
小满zs
Reactreact.jsjavascript前端
React受控组件理解和应用React受控组件受控组件一般是指表单元素,表单的数据由React的State管理,更新数据时,需要手动调用setState()方法,更新数据。因为React没有类似于Vue的v-model,所以需要自己实现绑定事件。那为什么需要使用受控组件呢?使用受控组件可以确保表单数据与组件状态同步、便于集中管理和验证数据,同时提供灵活的事件处理机制以实现数据格式化和UI联动效果。
- AI软件外包需要注意什么 外包开发AI软件的关键因素是什么 如何选择AI外包开发语言
北京动点飞扬软件
AI外包
1.定义目标与需求首先,要明确你希望AI智能体做什么。是自动化任务、数据分析、自然语言处理,还是其他功能?明确目标可以帮助你选择合适的技术和方法。2.选择开发平台与工具开发AI智能体的软件时,你需要选择适合的编程语言、框架和工具。例如:编程语言:Python是最常用的语言,因为它有强大的AI/ML库,如TensorFlow、PyTorch、scikit-learn等。开发平台:你可以使用本地环境、
- Pandas基础01(Series创建/索引/切片/属性/方法/运算)
XYX的Blog
数据分析与可视化pandas
Pandas基础Pandas是一个功能强大的数据分析和操作库,主要用于处理和分析表格型数据(例如:CSV、Excel、SQL数据库等)。它建立在NumPy基础上,提供了许多便捷的数据结构,主要是Series和DataFrame,用于处理和分析数据。3.1Series数据结构Series是一种类似于一维数组的对象,它包含了一组数据(可以是整数、浮点数等)以及与之相关的标签(索引)。可以将Series
- WordPress网站选择LNMP环境和LAMP环境哪个好
zoneidccom
WordPress网站选择LNMP环境和LAMP环境哪个好【199cloud-艾娜】WordPress建网站选择LNMP环境还是LAMP环境服务更好呢?现在建站常用的两大环境服务是LNMP和LAMP,因为这两种环境易用,好上手,所以普及率一直很高。比如我们常用的宝塔面板,在初次登陆界面就会提示二选一。要想知道哪个好用,我们先来详细了解这两款环境服务。LNMP和LAMP,意思是指Linux服务器+N
- Too many dimensions: 3 > 2
爱理科的小王子
python
报错:Toomanydimensions:3>2解决方法1:pipinstalllabelme==3.16.7还是不行解决方法2:把这串代码换成下面的关于这段代码的相关解释
- Rockchip --- 放音设备调试
臻一
RockchipALSA
文章目录(一)aplay工具1.显示帮助信息2.列出所有放音设备3.播放音频:(二)amixer工具1.查看帮助信息2.查看声卡设置3.设置音量4.静音和取消静音5.保存和加载混音器设置(一)aplay工具aplay是Linux系统中ALSA(AdvancedLinuxSoundArchitecture)提供的一个命令行工具,用于播放音频文件。以下是一些常用的aplay命令及其参数:1.显示帮助信
- NumPy与Matplotlib库
我是一名好学者
Python
NumPy1.1导入NumPy库importnumpyasnpPython中使用import导入库,这里的意思是将numpy作为np导入。通过这样的形式,之后NumPy相关的方法均可通过np调用。1.2生成NumPy数组importnumpyasnpx=np.array([1.0,2.0,3.0])print(x)print(type(x))输出结果:[1.2.3.]使用np.array()方法接
- SQLAlchemy 反向生成 model 模型
weixin_30693183
数据库开发工具python
前言Django反向生成的model模型的命令:pythonmanager.pyinspectdbSQLAlchemy/Flask-SQLAlchemy则是:pip3installsqlacodegen使用方法如下利用sqlacodegen自动生成ORM实体类..\Anaconda3\envs\py3\Scripts>.\sqlacodegen.exe--outfileproject_path\m
- SalFAU-Net:显著性目标检测的显著性融合注意U-Net
明初啥都能学会
目标检测人工智能计算机视觉
SalFAU-Net:显著性目标检测的显著性融合注意U-Net摘要IntroductionRelatedWorksSalFAU-Net:SaliencyFusionAttentionU-NetforSalientObjectDetection摘要显著目标检测(SOD)在计算机视觉中仍然是一个重要的任务,其应用范围从图像分割到自动驾驶。基于全卷积网络(FCN)的方法在过去几十年里在视觉显著性检测方面
- 人脸识别的经典深度学习方法
明初啥都能学会
深度学习人工智能
人脸识别的经典深度学习方法引言1.卷积神经网络(CNN)1.1LeNet1.2AlexNet1.3VGGNet1.4ResNet2.人脸检测2.1Viola-Jones算法2.2基于深度学习的人脸检测3.人脸特征提取3.1主成分分析(PCA)3.2人脸对齐3.2.1基于特征点的对齐3.2.2基于深度学习的对齐4.人脸识别模型4.1传统机器学习方法4.2基于深度学习的方法5.公式解读5.1卷积运算5
- 安装CentOS时的分区方法
shyuu_
centoslinux运维
【系列】真机安装CentOSStream8问题第一步解决安装过程报错第二步分区(❗︎本节内容❗︎)第三步配置软件源第四步安装显卡驱动第五步挂载U盘第六步解决没有1920x1080分辨率的问题文章目录【系列】真机安装CentOSStream8问题一、分区描述1.1分区建议1.2手动分区步骤1.3分区示例二、其余硬盘总结一、分区描述在CentOS安装的过程中需要分区,尤其是在生产环境或者真实机器安装,
- Android Studio 打包APK方法
爱桃酥的沐晨
AndroidAndroidStudio打包apk打包
AndroidStudio是谷歌推出一个Android集成开发工具,基于IntelliJIDEA。它类似于EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试。那么今天我们就来讲讲如何通过AndroidStudio打包APK文件,相信有很多用户还不是非常了解,下面通过这篇文章给大家介绍一下。前面一直使用的是out文件夹里面的那个apk文件(debug版本
- 大数据开发的底层逻辑是什么?
瑰茵
大数据
大数据开发的底层逻辑主要围绕数据的生命周期进行,包括数据的采集、存储、处理、分析和可视化等环节。以下是大数据开发的一些关键底层逻辑:数据采集:目的:从不同的数据源(如日志文件、数据库、传感器等)收集数据。方法:使用数据采集工具(如ApacheFlume、ApacheKafka、ApacheSqoop)来捕获和传输数据。数据存储:目的:将收集到的数据存储在可靠且可扩展的存储系统中。方法:使用分布式文
- sqlalchemy根据数据库的model类生成schemas类
lplwww
python
背景:sqlacodegen提供了方法,可以通过链接数据库以后根据表自动创建model类。虽然schemas类根据不同场景和数据库表字段是有区别的,但是我在写脚本的时候其实用的schemas类字段大部分都是根据数据库表进行删改的,所以写了一个方法,可以根据model类映射出来一个schemas类,然后再根据需求手动删改字段,可以节省点时间fromsqlalchemy.ext.declarative
- python 执行时 命令行传入参数
托马斯-木
pythonpythonlinux
例如要执行test文件,想要将aaa和123传入test作为一个变量传入执行pythontest.pyaaa123方法1使用argparseimportargparseif__name__=="__main__":parser=argparse.ArgumentParser()parser.add_argument('--aa',type=str,default=None)parser.add_a
- C# --什么时候用迭代器(Iterator)?
guorui24ggg
C#C#迭代器Iterator什么时候用
C#--什么时候用迭代器(Iterator)?1.前言2.迭代器简介3.什么时候用4.总结1.前言众所周知,完成一个软件功能,方法可能有很多种。从某种角度看,似乎只要能够实现这个功能,那么任务就完成了。刚开始写代码的时候,很多人都是这么想的,心里甚至还会自我鼓励,功能都搞定了,还管那么多干啥。随着时间和水平的推进,学习到了一些新特性和方法,突然发现之前的代码还可以这样写。此时是选择回去重构之前的代
- 100个高质量ChatGPT学术论文写作提示词分享--系列(一)
迪娜学姐
人工智能深度学习论文阅读
我是娜姐@迪娜学姐,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。ChatGPT学术论文写作高质量提示词分享,今天先分享50个,涵盖论文写作、文献综述、研究方法设计、数据分析、学术演讲准备等方面。1.论文写作(ThesisWriting)1.为[研究主题]制定一个引人入胜的论文标题,突出其创新性和重要性。Craftanengagingthesistitlefor[researchtop
- 100个高质量ChatGPT学术论文写作提示词分享--系列(二)
迪娜学姐
论文阅读论文笔记人工智能chatgpt
我是娜姐@迪娜学姐,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。ChatGPT学术论文写作高质量提示词分享,之前分享过50个,涵盖论文写作、文献综述、研究方法设计、数据分析、学术演讲准备等方面:100个高质量ChatGPT学术论文写作提示词分享--系列(一)今天继续分享50个,包括论文修改与编辑、写作技巧与提升、参考文献引用及编辑、论文投稿和课题申请:6论文修改与编辑(ThesisR
- windows环境下anaconda/miniconda 在gitbash的zsh中使用conda activate
大熊SsSsSs
windowsconda
这个问题折磨了一天防止以后再出现此问题忘记解决方法记录一下问题描述核心原因就是\r,\n,\r\n的区别可能会导致:(eval):11:parseerrornear^M解决方案解决方案如下:在~/.zshrc中添加下面这个(记得修改conda.exe的路径)#>>>condainitialize>>>#!!Contentswithinthisblockaremanagedby'condainit'
- 命令行运行Python脚本时传入参数--3种方法
浩瀚之水_csdn
#Python学习pythonlinux开发语言
方法1.在命令行运行Python脚本时,传入参数,并根据参数做相应动作。先来一个简单的---把命令行输入的参数打印出来。Step1:在linux中,建立名字为t1.py的python脚本。t1.py里面内容如下:importargparseif__name__=="__main__": parser=argparse.ArgumentParser() parser.add_argument('--
- Element UI +Vue页面生成二维码的方法
紫水木鱼
前端uivue.js前端
目录一、方法一采用qrcodejs2生成1.1、安装二维码插件qrcodejs21.2、在vue文件中,引入生成二维码插件1.3、构建二维码对象qrCodeDiv一、方法二-采用qrcode生成2.1、安装qrcode2.2、页面引入2.3、方法里边使用2.4、options三、方法三vue-qr3.1、安装3.2、页面引入3.3、组件增加vue-qr3.4、template使用3.5、optio
- 常用的前端4种请求方式
紫水木鱼
前端
文章目录一、GET请求1.1使用方式1.2优缺点1.3应用场景二、POST请求2.1使用方式2.2优缺点2.3应用场景三、PUT请求3.1使用方式3.2优缺点3.3应用场景四、DELETE请求4.1使用方式4.2优缺点4.3应用场景五.总结一、GET请求GET请求用于向指定资源发出请求,请求中包含了资源的URL和请求参数。服务器端通过解析请求参数来返回相应的资源,不会修改服务器端的状态。1.1使用
- mbedtls | 06 - 非对称加密算法的配置与使用(RSA算法)
Mculover666
mbedtlsRSA
mbedtls系列文章mbedtls|01-移植mbedtls库到STM32的两种方法mbedtls|02-伪随机数生成器(ctr_drbg)的配置与使用mbedtls|03-单向散列算法的配置与使用(MD5、SHA1、SHA256、SHA512)mbedtls|04-对称加密算法的配置与使用(AES算法)mbedtls|05-消息认证码的配置与使用(HMAC算法、GCM算法)Demo工程源码ht
- ubuntu下复制大文件
Joyner2018
计算机综合ubuntuubuntu服务器硬盘网络
ubuntu下复制大文件1.在服务器上的文件复制:cp源文件目的文件cp源文件目的文件夹2.从一台服务器上拷贝到另一台服务器scpusername@ip:directory本台服务器的路径3.从硬盘拷贝文件到服务器这里复制的方法很多:操作最直观的就是远程客户端的上传,但是这个受网络限制,速度慢命令上的上传rz回车暴力快速的方法是把硬盘插到服务器上sudofdisk-lsudomount/dev/s
- python split() 和 chunk() 的区别
Joyner2018
pythonpython开发语言
在编程中,使用split()和chunk()的选择取决于具体的应用场景和需求。两者的功能有所不同:1.在python中split()方法作用:通常用于将字符串分割成子字符串列表。例如,在Python中:split()是基于一个分隔符(如空格、逗号等)分割字符串。优点:简单直观:用于处理基于某些字符或模式分割的字符串。高效:对于解析固定格式的字符串非常高效,例如CSV数据或日志解析。广泛支持:几乎所
- 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