- C++程序-多行字符输入并判断类别(安全密码问题)
huangxl1991
C++程序设计
判断键盘输入是否安全密码-char[]类/*题目:安全密码要求:一般来说一个比较安全的密码至少应该满足下面两个条件:(1).密码长度大于等于8,且不要超过16。(2).密码中的字符应该来自下面“字符类别”中四组中的至少三组。这四个字符类别分别为:1.大写字母:A,B,C...Z;2.小写字母:a,b,c...z;3.数字:0,1,2...9;4.特殊符号:~,!,@,#,$,%,^(除以上三类均认
- IDEA+Java+SSH+Bootstrap+Mysql实现在线考试系统(含论文)
2401_89694162
javaintellij-ideassh
–Recordsoft_managerINSERTINTOt_managerVALUES(1,‘管理员’,‘admin’,‘admin’);–Tablestructurefort_paperDROPTABLEIFEXISTSt_paper;CREATETABLEt_paper(idint(11)NOTNULLAUTO_INCREMENT,joinDatedatetime(0)NULLDEFAULT
- java FastJSON自定义序列化和反序列化(扩展点)方法总结!10个步骤让你轻松掌握
墨瑾轩
一起学学Java【一】开发语言java
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣嘿,小伙伴们!今天我们要一起探讨一个非常实用的话题——如何使用FastJSON自定义序列化和反序列化。你知道吗?FastJSON是阿里巴巴开源的一个高性能JSON库,广泛应用于Java项目中。虽然FastJSON提供了丰富的内置功能,但有时候我们还需要根据具体
- Python中try-except-else-finally语句用于处理异常
上趣工作室
pythonpython开发语言
在Python中,try-except-else-finally语句用于处理异常和无论是否发生异常都需要执行的代码块。下面是每个部分的用法:try:在try块中编写可能引发异常的代码。如果没有异常发生,程序将继续执行try块后面的代码;如果发生异常,程序将跳到适当的except块。except:在except块中处理特定类型的异常。可以指定一个或多个异常类型,以及相应的处理代码。如果发生指定类型的
- 【课程设计推荐】基于JSP的论文格式化系统后台模块的设计与实现
想念@思恋
课程设计jspjava课程设计javajsp
关注【墨岚创客】,回复【毕设】,赠送免费毕设资源,具体联系方式见文末摘要论文的格式修改是一件很麻烦的事情,一篇论文在定稿以前为了让格式达到标准,需要修改很多次,浪费了大量时间。本系统的设计初衷就是为了解决论文书写格式的规范化,方便学者论文格式的自动生成。本系统是基于Java平台的Web应用程序。采用JSP作为后台开发语言,HTML和JavaScript作为前台开发语言,MYSQL5.0作为后台数据
- 关于C++this指针
2301_78002904
c++jvm数据结构
本文章主要是对this指针的讨论1、this指针所占的内存总所周知,指针类型在C++/C中占据的内存是四个字节,那么this作为一个指针,是否也是占用四个字节呢,此时定义一个类对象有一个int类型的值,如果this指针也占据类内的空间,那么sizeof(class)就是8,但是如果去写的话就会发现,此时类的size是4,所以this指针是不占据类对象的内存的2、this指针的指向那么肯定会好奇,t
- [C语言日寄] <stdio.h> 头文件功能介绍
siy2333
c语言工具库#头文件c语言算法笔记学习
在C语言的世界里,是一个极其重要的头文件,它提供了标准输入输出功能,是C语言程序与用户交互的核心工具。今天,我们就来深入探讨的功能、使用注意事项以及它的拓展应用。功能介绍是C语言标准库中的一个核心头文件,它定义了一系列用于输入输出操作的函数、宏和数据类型。这些功能使得程序能够与外部设备(如键盘、显示器、文件等)进行交互。标准输入输出函数提供了多种用于标准输入输出的函数,这些函数是C语言程序与用户交
- Deepseek的api调用报错乱码问题
2301_78002904
AI编程
最近的deepseek也是很火,但是在调用api的过程中也会出现一些大大小小的问题,所以这里也给出一种问题和他的解决方案,报错的类型如下图所示APIStreamingFailedCommandfailedwithexitcode1:powershell(Get-CimInstance-ClassNameWin32_OperatingSystem).caption'powershell'�����ڲ
- python学习专栏
zhousenshan
python新赛道python
推荐学习资料《15分钟轻松学Python》教程目录-CSDN博客每天40分玩转Django教程目录-CSDN博客Pycharm社区版搭建Django环境及Django简单项目、操控mysql数据库-CSDN博客这个开源有关于事务方面高级内容介绍:django-vue-lyadmin:django-vue-lyadmin前端采用vue3+elementplus,后端采用PythonDjangoDRF
- 关于c语言可变参数详解
yancie_yc
编程语言c语言可变参数函数
link:http://blog.chinaunix.net/space....blog&id=2808215TABLE1.介绍2.使用2.1代码实例,简单体会。2.2三个主要的宏2.3可变参数的个数确定2.4重扫描2.5更多的代码实例3.注意事项/限制4.参考资源1.介绍c语言有一个强大的功能,就是它允许定义可接受可变参数列表的函数。如:#includeintprintf(constchar*f
- 28. C语言 递归:深入理解与高效应用
涛ing
C语言基础c语言算法开发语言linuxc++visualstudiovscode
本章目录:前言什么是递归?递归的基本结构递归应用实例1.计算阶乘2.生成斐波那契数列递归的优缺点优点缺点递归与迭代的对比阶乘的迭代实现:性能对比递归的优化:尾递归与动态规划尾递归动态规划小结前言递归是计算机科学中的一种基本思想,它是通过函数调用自身来解决问题。在C语言中,递归可以让代码更加简洁、优雅,但它也有一定的使用限制和成本。本文将从递归的基本概念入手,逐步深入,探讨递归的工作原理、优缺点,以
- 6. 深入Linux安全世界:构建坚不可摧的系统屏障
涛ing
Linux概览linux安全运维服务器ubuntuunixc++
本章目录前言6.1理解Linux安全模型深入了解文件权限权限位详解:修改文件权限:绘制示例图:文件权限的结构6.2用户账户的安全设置查看系统中的用户示例解释:管理用户的安全策略6.3防火墙与网络安全性常用iptables规则1.**只允许特定IP访问SSH服务**2.限制连接速率简单网络流量防火墙结构示意图:6.4数据加密技术使用GPG进行文件加密1.生成密钥对2.加密文件3.解密文件数据加密的流
- python文件:py,ipynb, pyi, pyc, pyd, pyo都是什么文件?
m 哆哆.ღ
pythonpython开发语言
python:py,ipynb,pyi,pyc,pyd,pyo都是什么文件?1python文件类型介绍1.1.py文件:源代码.py文件是Python最基本的源代码文件格式,用于存储纯文本形式的Python代码。它是开发者编写程序的主要场所,包含函数、类、变量定义以及执行逻辑。Python解释器直接读取并执行.py文件中的指令。例如,创建一个简单的hello.py文件,内容如下:print("He
- 2022年美国大学生数学建模竞赛A题自行车运动员的能量特征解题全过程文档及程序
数模竞赛Paid answer
美国大学生数学建模竞赛笔记数学建模算法大数据美国大学生数学建模竞赛
2022年美国大学生数学建模竞赛A题自行车运动员的能量特征原题再现: 背景 自行车公路赛有多种类型,包括标准赛、团体计时赛和个人计时赛。这些比赛的自行车运动员获胜的机会可能会有所不同,具体取决于赛事的类型、路线和自行车运动员的能力。在个人计时赛中,每个骑自行车的运动员都应该单独骑固定的路线,获胜者是在最少时间内完成骑行路线的自行车运动员。 单个自行车运动员可以在不同的时间长度内产生不同水平的
- Python 数据分析 - 初识 Pandas
一名技术极客
#Python进阶爬虫python数据分析pandas
Python数据分析-初识Pandas简介SeriesDataFrame创建基本操作添加删除简介Pandas基于NumPy开发,它提供了快速、灵活、明确的数据结构,旨在简单、直观地处理数据。Pandas适用于处理以下类型的数据:有序和无序的时间序列数据带行列标签的矩阵数据,包括同构或异构型数据与SQL或Excel表类似的,含异构列的表格数据任意其它形式的观测、统计数据集,数据转入Pandas数据结
- pycharm、anaconda安装tensorflow问题
努力的南波万
pycharmtensorflowneo4j
(pythonconda01)C:\Users\lvd13>condainstalltensorflowChannels:-defaultsPlatform:win-64Collectingpackagemetadata(repodata.json):doneSolvingenvironment:|warninglibmambaAddedemptydependencyforproblemtypeS
- 使用 Go 和 Tesseract 实现验证码识别
一休哥助手
golang开发语言后端
一、验证码识别的背景与挑战1.1验证码的作用验证码(CAPTCHA,CompletelyAutomatedPublicTuringtesttotellComputersandHumansApart)主要用于区分人类用户和机器程序。常见验证码类型包括:文本型验证码:包含扭曲、旋转或噪声干扰的字符。图片型验证码:让用户选择特定内容的图片。行为型验证码:要求用户完成特定操作(如拖拽滑块)。1.2验证码识
- Qt中json的使用
旺代
jsonqt
目录一、json相关类和接口1.QJsonDocument2.QJsonObject3.QJsonArray4.QJsonValue二、json写文件1.写文件基本流程2.代码示例三、json读文件1.读文件基本流程2.代码示例json是一种轻量级的数据交换格式,在Qt中使用json数据可以通过Qt提供的QJsonDocument、QJsonObject、QJsonArray和QJsonValue
- 2025美赛B题-问题B:管理可持续旅游
V建模忠哥V
旅游
美国阿拉斯加州朱诺市人口约30,000人,2023年创下160万邮轮乘客的纪录,在最繁忙的日子里,邮轮乘客多达7艘,游客人数超过20,000人。1虽然这些游客为该市带来了约3.75亿美元的可观收入,!但也带来了与过度拥挤相关的问题,迫使该市努力限制游客数量。具有讽刺意味的是,朱诺的主要景点之一门登霍尔冰川一直在消退,主要是由于过度旅游导致的气温升高。自2007年以来,冰川消退的面积相当于八个足球场
- 快手NS sig3签名算法(2025年1月)
sh_moranliunian
蜘蛛侠网络爬虫后端python爬虫算法
kuaishou/__NS_sig3.js源码见文章最后。python中调用示例importjsonimportsysimportrequestsimportosimportexecjsimporthashlibimportdatetimefromCookieUtilimportCookieUtilfromfake_useragentimportUserAgentnormal_js=execjs.
- 通过爬虫方式实现视频号助手发布视频
sh_moranliunian
蜘蛛侠python网络协议爬虫网络爬虫后端
1、将真实的cookie贴到解压后目录中cookie.txt文件里,修改python代码里的user_agent和video_path,cover_path等变量的值,最后运行python脚本即可;2、运行之前根据import提示安装一些常见依赖,比如requests等;3、2025年1月份最新版;代码如下:importjsonimporttimeimportrequestsimportosimp
- 某音a_bogus 192位解决办法(2024年12月)
sh_moranliunian
蜘蛛侠爬虫python网络爬虫网络协议后端
背景有些接口,比如二级评论,视频发布等接口,需要在接口里传a_bogus参数,才能正常获取数据。绕过的方式随机生成一个字符串,长度尽量小,比如50位以内的,不要接近于160位以上,将随机串填充到a_bogus字段,然后提交请求,即可绕过。
- BGP——边界网关协议
网工彭于晏
服务器网络运维
目录一、BGP的概述以及优点1.BGP概述:2.BGP的优点二、使用BGP的三大理由三、BGP邻居概述四、BGP配置命令五、BGP邻居建立条件六、使用回环口建立邻居七、BGP报文和状态1.BGP报文类型:2.BGP状态机八、BGP路由宣告1.BGP数据库:2.BGP路由宣告规则:缺省情况下,BGP不发布任何本地路由3.BGP路由宣告方法:本地宣告和引入宣告九、BGP下一跳十、BGP防环机制和聚合1
- Mybatis初步了解
孙尚香蕉
mybatismybatisoracle数据库
mysql缓存:根据sql语句进入缓存,如果sql语句多加一个空格就进入不到同一个缓存,另外数据库数据发生了更新,缓存中的数据不会同步。延迟加载:先查询基本信息,再查询其他信息,而不是一次就查询出来。mybatis的框架概述数据库厂商都会有自己的驱动包,上面一层对jdbc进行接口规范(对jdbc进行封装),再上一层mybatis框架MyBatis是一个优秀的基于Java的持久层框架,内部对JDBC
- axios 常见的content-type、responseType有哪些?
梦境之冢
前端开发实战问题解决前端httpjavascript
一、ContentType'ContentType',也被称为MIME类型(MultipurposeInternetMailExtensions),是一种用于标识数据格式的机制。在HTTP协议中,'ContentType’通常通过请求或响应头部的’Content-Type’字段来指定。这个字段的值是一个字符串,用于描述消息体的媒体类型,如文本、图像、音频、视频等,以及可能的字符集和编码方式。当客户
- Java基础语法(一)
邮专小谦
pythonjava算法
一、基础语法数据类型基本数据类型:整数类型:包括byte(1字节,范围是-128到127)、short(2字节,范围是-32768到32767)、int(4字节,范围是-2147483648到2147483647)和long(8字节)。例如,定义一个int类型的变量intnum=10;。浮点类型:float(4字节)和double(8字节)。float类型的数值后面需要加f或F,如floatf=3
- linux初始mysql_linux mysql初始化
隔壁王医生
linux初始mysql
一、mysql_install_db说明当MySQL的系统库(mysql系统库)发生故障或需要新加一个mysql实例时,需要初始化mysql数据库。需要使用的命令:/usr/local/mysql/bin/mysql_install_db#/usr/local/mysql/bin/mysql_install_db--help可以查看帮助信息如下Usage:/usr/local/mysql/bin/
- UEFI和BIOS
网络战争
linux运维服务器
UEFI(UnifiedExtensibleFirmwareInterface)是一种用于替代传统BIOS(BasicInputOutputSystem)的固件接口标准。它提供了操作系统和硬件之间的桥梁,负责启动计算机并加载操作系统。与传统的BIOS相比,UEFI具有以下优势:1.容量更大:BIOS由于限制在16位模式下,其容量和功能有限。而UEFI采用64位的方式运行,可以支持更多的功能和技术。
- Linux gdisk 命令使用详解
linux
简介gdisk命令是Linux上管理GPT(GUID分区表)分区的强大工具。它可替代仅支持MBR(主引导记录)分区的fdisk。安装Debian/UbuntusudoaptinstallgdiskRHEL/CentOSsudoyuminstallgdisk检查分区类型sudogdisk-l/dev/sdXGPT磁盘:显示带有GUID代码的分区MBR磁盘:gdisk发出警告并询问是否要转换为GPT运
- 修改mysql初始密码
「已注销」
数据库mysqljava
查看当前MySQL登录密码[root@liwenjingmysql]#greppassword/var/log/mysqld.log2022-09-22T19:20:12.368849Z6[Note][MY-010454][Server]Atemporarypasswordisgeneratedforroot@localhost:mmxuyPx%+2hC当前登录密码为:mmxuyPx%+2hC执行
- 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