- spring mvc实现自定义验证器Validator
罗汉爷
#玩转Springspringmvcjava自定义Validator
使用场景在接口开发的日常实践中,确保数据准确性是保障业务稳定性的关键一环。面对诸如登录时验证用户名密码非空、创建用户时检查邮箱和手机号格式的正确性等需求,手动编写校验逻辑不仅耗时费力,还会显著降低代码的可读性和维护性。鉴于网络环境的不确定性及前端数据易遭篡改的特性,后端实施严格的参数校验变得尤为关键,以确保存储和处理的数据在逻辑上的无懈可击。Validator介绍Validator框架凭借其遵循的
- 清华DeepSeek:执手札利刃,破AI雾障,开深度进阶先河
2501_90771553
pdf
「清华北大-Deepseek使用手册」链接:https://pan.quark.cn/s/98782f7d61dc「清华大学Deepseek整理)1-6版本链接:https://pan.quark.cn/s/72194e32428a资源链接:https://pan.quark.cn/s/3d4088555ca0资源链接:https://pan.quark.cn/s/df8ce3ea6f4e「Dee
- 2024年最新PyTorch深度学习项目实战100例数据集_python 深度学习项目演练
2401_84585440
程序员深度学习pythonpytorch
前言最近很多订阅了《PyTorch深度学习项目实战100例》的用户私信咨询有些数据集下载不了以及一些文章中没有给出数据集链接,为了解决这个问题,专门开设了本篇文章,提供数据集下载链接,打包100例的所有数据集。本专栏适用人群:深度学习初学者,刚刚接触PyTorch的用户群体,专栏将具体讲解如何快速搭建深度学习模型用自己的数据集实现深度学习小项目,快速让新手小白能够对基于深度学习方法有个基本的框架认
- 【全网超详细】常用的 Windows CMD(命令提示符)指令合集
Wit's blog
c++pythonpyqtscrapyscikit-learndashscipy
以下整理了一份【全网超详细】常用的WindowsCMD(命令提示符)指令合集,并对其功能、常见用法及示例进行了分类与说明。希望能帮助你在日常或专业环境下快速定位和使用所需命令,提高工作与学习效率。为方便查阅,本篇会按照文件管理类、系统信息与网络类、进程与服务类、磁盘与系统维护类等主题进行梳理,每条命令配有简单示例及常见参数介绍。一、文件管理类指令1.dir功能:列出指定目录下的文件与子目录信息。常
- C++ 关于基于范围的for循环(C++11) 语法 详解
921正在学习
C/C++/数据结构笔记c++开发语言
范围for的语法在C++98中如果要遍历一个数组voidTestFor(){intarray[]={1,2,3,4,5};for(inti=0;i
- 关于使用Java语言编写打地鼠游戏
倾听一世,繁花盛开
Java语言打地鼠游戏开发语言eclipsespring
用Java语言书写打地鼠游戏关于游戏的介绍《打地鼠游戏》Java代码的实现PlayMouse.javaStartGame.javaMusicPlay.javaMusicPlayTest.java游戏所需图片运行效果结言关于游戏的介绍打地鼠游戏是一款非常受欢迎的敏捷类游戏,它的基本规则简单易懂,同时又充满了挑战性和趣味性。在游戏中,玩家通常需要在一个方形区域内,面对多个地洞,这些地洞中会不定时地冒出
- 深入C语言:指针与数组的经典笔试题剖析
lili-felicity
C语言编程启航算法
1.sizeof和strlen的对比1.1sizeofsizeof是C语言中的一个操作符,用于计算变量或数据类型所占内存空间的大小,单位是字节。它不关心内存中存储的具体数据内容,只关注内存空间的大小。#includeintmain(){inta=10;printf("%d\n",sizeof(a));//输出:4(int类型通常占4个字节)printf("%d\n",sizeofa);//输出:4
- Lab17_ Blind SQL injection with out-of-band data exfiltration
远川_Horizon
web安全sql
文章目录前言:进入实验室构造payload前言:实验室标题为:带外数据泄露的SQL盲注简介:本实验包含一个SQL盲目注入漏洞。应用程序使用跟踪Cookie进行分析,并执行包含提交的Cookie值的SQL查询。SQL查询是异步执行的,对应用程序的响应没有影响。但是,您可以触发与外部域的带外交互。该数据库包含一个名为users的表,其中的列名为username和password。您需要利用SQL盲目注
- 如何管理 Github 组织中成员的权限
mikes zhang
Githubgithub安全
Github组织是管理多个项目成员的好方法。但是,权限配置的工作方式与普通存储库有点不同,如果你想给成员写权限,你需要去挖掘设置。更改基本权限由于Github组织是一个单独的帐户类型,因此不会像您的个人帐户那样处理权限。通常,如果您想协作,您只需手动邀请协作者到每个存储库。但是,组织可以将“成员”直接添加到组织中。成为成员后,组织帐户中的所有存储库都将获得基本权限,从而可以更轻松地同时访问多个存储
- 七成月活过亿 APP 已接入人工智能
自不量力的A同学
人工智能
2025年3月4日,第三方数据机构QuestMobile发布的《2024中国移动互联网年度大报告》显示,截至2024年12月,月活用户过亿的APP中,有超过七成已接入AI123。相关具体情况如下2:整体背景:2024年全网月活用户已达12.57亿,一线、新一线、二线城市用户接近五成,其中一线城市用户同比增长了1.2%。用户对互联网的使用程度加深,整体月人均使用时长达到171.7小时,短视频、即时通
- js操作数组常用的方法
weixin_46541579
javascript前端vue.js
在前端开发中,操作数组是常见的操作。这里列举下在开发中常用的一些方法。正文开始concat拼接数组constarr1=[1,2,3];constarr2=['q','w','e']constarr3=arr1.concat(arr2);console.log('arr3',arr3);//打印结果[1,2,3,'q','w','e']join数组转成字符串//这里使用上面声明的arr3consti
- python机试1:读取和输出数据
大多_C
python华为od开发语言
读取和输出数据在LeetCode和机试中也是很重要的基础。你需要掌握文件读取、输入处理、输出优化,才能应对不同类型的题目和考试环境。以下是详细的知识点:1.标准输入与输出✅Python标准输入input()机试中,很多题目要求从标准输入stdin读取数据,通常使用:n=int(input())#读取一个整数s=input().strip()#读取一行字符串arr=list(map(int,inpu
- 系统服务器一般都要求冗余配置,服务器冗余配置
白药葫芦
系统服务器一般都要求冗余配置
服务器冗余配置内容精选换一换迁移前,若选择迁移到已有服务器,请做以下准备工作:需配置目的端服务器所在VPC安全组,如果是Windows系统需要开放TCP的8899端口、8900端口和22端口;如果是Linux系统,块级迁移开放8900端口和22端口,文件级迁移开放22端口。请参见如何配置目的端服务器安全组规则?配置目的端服务器VPC安全组。迁移过程中禁止操作目的端弹当目的端设置错误或因业务需求需要
- linux操作系统短进程优先调度算法,操作系统的常用的进程调度算法
kdddd hdj
一、调度与调度算法操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源。在操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法。对于不同的的系统和系统目标,通常采用不同的调度算法。调度算法
- FFplay 7.0 文档
宋志辉
FFmpeg7.0文档ffplayffmpeg
ffplay文档1.概要ffplay[options][input_url]2.描述FFplay是一个非常简单且可移植的媒体播放器,使用FFmpeg库和SDL库。它主要用作各种FFmpegAPI的测试平台。3.选项如果没有特别说明,所有数值选项都接受一个表示数字的字符串作为输入,该字符串可以后跟SI单位前缀之一,例如:‘K’、‘M’或‘G’。如果在SI单位前缀后附加‘i’,则整个前缀将被解释为二进
- dataframe数据常用python操作
shlay
统计分析软件python信息可视化数据分析
dataframe数据常用python操作dataframe数据常用知识点1.创建dataframe1.1使用字典创建DataFrame:1.2使用列表创建DataFrame:1.3使用numpy数组创建DataFrame:1.4从TXT文件中创建DataFrame:1.5从CSV文件中创建DataFrame:1.6从Excel文件中创建DataFrame:2.dataframe数据保存3.dat
- 如何查看Linux服务器的硬件配置
Ray.1998
各种命令服务器linux运维
Linux系统提供了多种命令和工具来查看硬件配置信息。下面是一些常用的方法:1.CPU信息lscpu:提供CPU的详细统计信息,包括型号、核心数、线程数、缓存大小等。Bashlscpu/proc/cpuinfo:包含每个CPU核心的详细参数,如型号、频率、缓存等。Bashcat/proc/cpuinfo2.内存信息free:显示系统内存的使用情况。Bashfree-m/proc/meminfo:提
- doris :SAP HANA
向阳1218
大数据doris
DorisJDBCCatalog支持通过标准JDBC接口连接OceanBase数据库。本文档介绍如何配置OceanBase数据库连接。使用须知要连接到OceanBase数据库,您需要OceanBase3.1.0或更高版本OceanBase数据库的JDBC驱动程序,您可以从Maven仓库下载最新或指定版本的OceanBaseJDBC驱动程序。推荐使用OceanBaseConnector/J2.4.8
- python刷题:哥德巴赫猜想
小赵睡不醒:
pythonpython算法开发语言
Description哥德巴赫猜想:对于任一个大于或等于4的偶数n,至少存在一对素数p1和p2,使得n=p1+p2。这个猜想目前既没有被证明,也没有被否定。没有人确定这个猜想是否成立。但是,如果对于给定的一个偶数,存在这样一对素数的话,人们是可以找到的。我们的要求是编写一个程序,对于给定的一个偶数,计算出存在多少对素数满足这个猜想。在输入中给出一系列偶数。对于每一个数,程序输出存在的素数对数。注意
- 嵌入式单片机基础篇(三十四)之I2C通信以及stm32单片机程序详解
lostlll
AT24C02嵌入式单片机嵌入式字符串单片机stm32IIC
I2C通信以及stm32单片机程序详解1、初始化IO口:#defineIIC_SCLPBout(6)//SCL#defineIIC_SDAPBout(7)//SDA#defineREAD_SDAPBin(7)//输入SDA(1)在固件库中操作IDR寄存器读取IO端口数据是通过GPIO_ReadInputDataBit函数实现的:uint8_tGPIO_ReadInputDataBit(GPIO_T
- 华为OD机试 - 幸运数字(Java 2024 E卷 100分)
哪 吒
华为odjava开发语言
华为OD机试2024E卷题库疯狂收录中,刷题点这里专栏导读本专栏收录于《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。一、题目描述有位客人来自异国,在该国使用m进
- 大数据分析服务器硬件配置如何选择
elva428204358
服务器服务器
大数据,现如今已被人工智能替代。我们先不讨论人工智能,就大数据而言,我们都是在强调他的技术,而我们在用大数据时候,经常用它的来神话它的影响。例如,广告投放精准化,社会安全管理有序,医药行业智能化等。一、建立大数据分析服务器的五个基本方面1、可视化分析:大数据分析的使用者有大数据分析专家,同时还有普通用户,但是他们二者对于大数据分析最基本的要求就是可视化分析,因为可视化分析能够直观的呈现大数据特点,
- 华为OD技术面试真题 - 技术面】- 前端八股文真题题库(8)
算法大师
华为od面试前端华为OD机试E卷javascriptjavapython
华为OD面试真题精选专栏:华为OD面试真题精选目录:2024华为OD面试手撕代码真题目录以及八股文真题目录文章目录华为OD面试真题精选1.vue中key的作用?为什么不能用index作为key作用为什么不能用index作为key示例说明2.Vue2和Vue3?defineProperty和Proxy?Vue2的`Object.defineProperty()`Vue3的`Proxy`比较和应用场景
- 印度股票行情数据API接口教程 StockTV
CryptoRzz
python数据分析
印度股票实时行情数据接口印度股票实时行情API数据接口原创印度交易所股票行情数据API接口获取数据源测试Key:StockTVAPI功能列表模块功能描述示例方法股票市场列表、指数、K线、IPO日历等get_indices(),get_kline()外汇实时汇率、交叉汇率、K线图表get_real_time_rates()期货期货列表、实时行情、历史数据get_futures_market()加密货
- 一文看懂DeepSeek与Manus,谁才是你的职场“真命天子”
2501_90774747
pdf
「清华北大-Deepseek使用手册」链接:https://pan.quark.cn/s/98782f7d61dc「清华大学Deepseek整理)1-6版本链接:https://pan.quark.cn/s/72194e32428a资源链接:https://pan.quark.cn/s/3d4088555ca0资源链接:https://pan.quark.cn/s/df8ce3ea6f4e「Dee
- 2025最新 DeepSeek学习资料汇总
啾啾859
pdf
「DeepSeek资料合集」链接:https://pan.quark.cn/s/ad280bf95fb7「清华北大-Deepseek使用手册」链接:https://pan.quark.cn/s/98782f7d61dc「清华大学Deepseek整理)1-6版本链接:https://pan.quark.cn/s/72194e32428a资源链接:https://pan.quark.cn/s/3d40
- DataFrame中添加和删处‘行’
手机忘记时间
pandas
添加:在Pandas中,df.loc[len(df)]=new_values这行代码用于在DataFramedf的末尾添加一行新数据。这里的len(df)返回的是DataFrame当前的行数,因此df.loc[len(df)]指向的是一个新的行索引,这个索引在当前DataFrame中还不存在。以下是这行代码的详细解释:df:代表你的DataFrame对象。loc:是Pandas提供的基于标签的索引
- MSQL操作案例
熬夜苦读学习
MYSQL数据库oraclesql后端
1.数据库创建数据库1.1.1默认创建数据库createdatabase数据库名解释:使用create命令创建一个数据库,database关键字后面接自定义数据库名字,默认UTF-8编码(utf8_general_ci)createdatabasehelloworld;1.1.2指定字符集编码建数据库createdatabase数据库名charset=字符编码;解释:使用create命令创建一个数
- (C语言小项目)猜字游戏(正式版)
双叶836
C语言小项目c语言游戏算法开发语言数据结构c++
#include//使用time函数#include//使用system函数,rand函数,srand函数#include//清屏操作voidclear_screen(){//判断是否为Windows系统#ifdef_WIN32system("cls");//其他系统#elsesystem("clear");#endif}//初始页面voidpage0(){printf("************
- python Dataframe操作
whale fall
python进阶python开发语言
目录:一、在Dataframe的最后插入一列二、指定Dataframe一列的数据类型三、遍历Dataframe的每一行,为什么修改行里的数据不会同步修改到Dataframe中四、Dataframe删除重复的行五、Dataframe删除列六、Dataframe重排索引七、给Dataframe增加一列,每次遍历给该新增列中的元素赋值八、将字典嵌套列表转换为Dataframe九、Dataframe中at
- 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