- 力扣练习之递增的三元子序列
飘去数星星
力扣练习题leetcode算法数据结构
题目:给你一个整数数组nums,判断这个数组中是否存在长度为3的递增子序列。如果存在这样的三元组下标(i,j,k)且满足ires(len);vectorl(len),r(len);for(inti=0;inums[j])?nums[j]:l[i];}for(intj=i+1;j=0;i--){rightMax[i]=Math.max(rightMax[i+1],nums[i]);}for(inti
- 类和对象(上)
yi个名字
c++开发语言
1.类的定义在C++中,类(class)是面向对象编程的基本构建块。它用于定义一种数据类型,该数据类型可以包含数据成员(属性)和成员函数(方法)。下面是一个C++类的基本定义示例:#include#includeclassPerson{public://数据成员std::stringname;intage;//默认构造函数Person():name("Unknown"),age(0){}//带参数
- 类和对象(中)
yi个名字
开发语言c++数据结构
1.类的默认成员函数在C++中,类的默认成员函数包括以下几种:默认构造函数(DefaultConstructor):如果类中没有定义任何构造函数,编译器会自动提供一个默认构造函数,允许对象被创建而不需要提供任何参数。如果类定义了其他构造函数,编译器不会再提供这个默认构造函数。classMyClass{public:inta;//默认构造函数会被自动生成};MyClassobj;//使用默认构造函数
- vue项目中使用容器el-container无法铺满屏幕
白小水i
vue.js前端javascript
step1.让body,html铺满整个屏幕body,#app{height:100vh;margin:0;padding:0;width:100vw;}step2.让container容器铺满屏幕.el-container{padding:0;margin:0;height:100vh;width:100vw;}
- element--el-table添加合计后固定列x轴滚动条无法滚动问题
冯浩(grow up)
elementelement-plusvue.js前端javascript
效果图改变固定列滚轮高度问题解决文章解决方案使用到的参数pointer-events属性用来控制一个元素能否响应鼠标操作,常用的关键字有auto和nonepointer-events:none;让一个元素忽略鼠标操作pointer-events:auto;还原浏览器设定的默认行为代码演示添加class添加css样式:deep.tableData{//滚动条高度调整::-webkit-scrollb
- 初学者瞎写的一个爬虫小程序
一大块腹肌呀
爬虫小程序python
学习python三个月,渐渐的的也开始了爬虫之旅,根据某本书的指导,开始想写一个通用的爬虫小程序,希望有大神能指点一下。importdatetimeimporttimefromseleniumimportwebdriverimportreclassMyCommonSpider:def__init__(self):pass使用了selenium进行模拟鼠键操作,目标是爬取51job上的职位信息def
- vue2+el-table 封装表格组件,基本够用了,带自动滚动
mokn
javascriptvue.js前端
标题@[TOC](vue2+el-mentUI封装的多功能表格组件,带自动滚动)欢迎使用Markdown编辑器表格组件页面//添加选择表格功能//判断是否显示单元格按钮{{scope.row[scope.column.property]}}重置{{scope.row[scope.column.property]}}exportdefault{name:"CustomTable",props:{//
- LeetCode 热题 100_字符串解码(71_394_中等_C++)(栈)
Dream it possible!
LeetCode热题100leetcodec++算法
LeetCode热题100_字符串解码(71_394)题目描述:输入输出样例:题解:解题思路:思路一(栈):代码实现代码实现(栈):以思路一为例进行调试题目描述:给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:k[encoded_string],表示其中方括号内部的encoded_string正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,
- Python虚拟环境
hitlic
pythonpython开发语言
虚拟环境是Python程序设计和开发中非常有用的工具。本文介绍Python虚拟环境的概念和作用,以及常用的虚拟环境管理工具的使用方法。什么是虚拟环境Python程序具有天然的开源特性,这使得各种包之间存在着较为复杂的依赖关系。在实际的开发中,可能会存在不同的项目会依赖相同的工具包,但是需要的版本不一致的情况。例如,A项目和B项目都要使用X包,但是A依赖X(v1.0)B依赖X(v2.0)。同一个Py
- 使用 spring-ai-openai-spring-boot-starter,SpringBoot无缝整合DeepSeek API实战指南
添砖java@
springbootjavaspring
前言:本人为完成利用spring-ai-openai-spring-boot-starterspring整合deepseek的任务(因为还可以用本地部署的方式),在博客和AI工具中来回跳动,然而最终还是在官网找到了答案,完成过程中犯错无数,因此挥毫书就本文,希望能给大家带来帮助。一:环境准备以下是本人的环境,或许不是最优,但确保无误1.jdk版本:17(最好是17+)2.maven:3.9.93.
- IDEA中把git commit 处于中间位置的模态框转换为侧边栏标签
htclgb
错误与解决办法gitgithub
因误触一设置按键把本来位置处侧边栏的GitCommit提交窗口更改为中间位置发现不对劲马上去找修改按钮无果后查阅手册发现打开Settings->VersionControl->Commit恢复正常
- Python——初学者轻松搞定19个经典的程序
bug鸭陆
python开发语言
Python的经典程序展示了Python语言基本特性和功能的简单示例,这些程序在学习和理解Python编程语言的过程中起着至关重要的作用.一些常见的经典Python程序及其在学习Python时的功能:1.Hello,World!print("Hello,World!")解释:这是Python的基本输出语句,用于打印字符串。2.计算两个数的和defadd_numbers(a,b):returna+b
- 2025自动化采集豆瓣选电影20年代以来的推荐数据并进行结构化分析及数据缺失值处理方案
BigWiggins
python开发语言单元测试
今天在豆瓣数据中采集20年代以来的电影时遇到了取得电影标题/评分/年份等大量缺失值核心功能动态分页采集:通过API参数迭代获取全量数据反爬策略:请求头模拟、Cookies自动化、随机延迟数据清洗:缺失值填充、嵌套JSON解析持久化存储:JSON结构化存储与PandasDataFrame转换技术栈请求处理:requests库实现API调用数据解析:json模块处理结构化响应异常管理:try-exce
- LLM大模型安全概述
LLM教程
安全人工智能chatgptembeddinglangchainllama
引言2022年底以来,以ChatGPT为代表的大模型飞速发展,正在成为#驱动新质生产力发展#的新动能、人类探索未知的新工具.在显著提升人工智能(artificialintelligence,AI)模型通用理解和生成能力的同时,也带来了前所未有的安全风险.大模型的能力与风险生成式大模型因其强大的智能能力和巨大的应用潜力吸引了众多研究者和企业的关注.从智能能力的角度来看,研究人员观测到:当训练数据和参
- C#控制台应用程序学习——3.8
宣宣猪的小花园.
C#控制台应用程序c#开发语言无人机
一、语言概述1、平台相关性C#主要运行在.NET平台上。.NET提供了一个庞大的类库,C#程序可以方便地调用这些类库来实现各种功能,如文件操作、数据库访问、网络通信等。2、语法风格C#的语法与C、C++和Java有一定的相似性。例如,它使用大括号{}来定义代码块,使用分号;结束语句。二、C#程序的基本结构1、命名空间(Namespace)命名空间用于组织代码,避免命名冲突。例如:usingSyst
- Scala :identity 函数
WZMeiei
Scalascala开发语言
在Scala中,identity函数是一个简单而有用的函数,主要用于返回其输入参数的值,而不进行任何修改。以下是关于identity函数的详细介绍:函数定义identity函数的定义非常简洁,它接受一个参数并返回该参数本身。在Scala的标准库中,identity函数的定义如下:defidentity[A](x:A):A=x这里的A是一个类型参数,表示identity函数可以接受任何类型的参数,并
- mounted() 钩子函数
码农 小王
vue.jsjavascript前端
在Vue中,mounted()钩子函数用于在组件挂载到DOM之后执行操作,此时所有的模板已经渲染完毕,可以安全地操作DOM元素。一.mounted()钩子的作用和用途mounted()钩子函数是在Vue实例被挂载到DOM之后调用的。这意味着在这个阶段,所有的模板已经渲染完毕,可以安全地操作DOM元素。它常用于以下场景:操作已经渲染的DOM元素:可以在这个阶段对DOM进行各种操作,如修改样式
- Releases(发布) 和 版本管理 是两个紧密相关的概念
WwwwwH_PLUS
#SoftwareEngineering运维
在软件开发和维护中,Releases(发布)和版本管理是两个紧密相关的概念,特别是在开源项目或企业软件开发中。1.Releases(发布)Release是指软件的一个正式发布版本,通常经过开发、测试、修复Bug,并被认为是足够稳定和可用于生产环境的版本。主要特点里程碑:通常对应一个开发周期的完成(如Alpha、Beta、正式版)。版本号:通常遵循语义化版本(SemanticVersioning,S
- Scala 中生成一个RDD的方法
闯闯桑
scala开发语言大数据
在Scala中,生成RDD(弹性分布式数据集)的主要方法是通过SparkContext(或SparkSession)提供的API。以下是生成RDD的常见方法:1.从本地集合创建RDD使用parallelize方法将本地集合(如Seq、List、Array等)转换为RDD。valspark=SparkSession.builder.appName("RDDExample").getOrCreate(
- el-table(elementui)表格合计行使用以及滚动条默认样式修改
白小水i
elementuivue.js前端
一、el-table新增合计行以及el-table展示数据出现的问题1.使用合计行el-table的属性show-summary设为true,即可在表格尾部展示合计行。默认情况下,第一列不展示数据,而显示合计二字,可以通过sum-text自己配置,其余列会显示本列所有数据的和。__自定义合计逻辑:__在el-table标签使用summary-method传入一个方法,该方法会返回一个数组,该数组的
- 信息安全与网络安全的区别_信息安全与网络安全之差异探析
Hacker_Oldv
web安全网络安全
在当今数字化时代,信息安全与网络安全成为了人们关注的热点话题。尽管这两个概念经常被提及,但它们之间存在着明显的区别。本文旨在探讨信息安全与网络安全的定义、范畴及应对策略,以帮助读者更好地理解和应对相关挑战。一、定义与范畴的差异信息安全主要是指保护信息系统及其中的数据免受未经授权的访问、使用、泄露、破坏、修改或者销毁等威胁。它侧重于保护信息的机密性、完整性和可用性。信息安全不仅关注数据存储和传输过程
- debian/control 文件中的${misc:Depends}
赵民勇
linuxdebianlinux运维
在Debian软件包的debian/control文件中,${misc:Depends}是一个动态生成的占位符,用于补充非共享库类依赖项的自动化管理。其作用与实现机制如下:一、核心作用补充维护脚本依赖当软件包包含维护脚本(如postinst、prerm等)时,若脚本依赖特定工具或软件包(如perl、debconf等),${misc:Depends}会自动检测并声明这些依赖。例如:Depen
- 代码随想录一刷总结
zengy5
代码随想录刷题流程c++算法学习leetcode
代码随想录–总结day62文章目录代码随想录--总结一、刷题时间线二、二刷计划三、总结一、刷题时间线2024.6.20开始2024.8.22一刷结束,总共60多天二、二刷计划2024.8.25开始-2024.9.25结束一个月内再重新巩固一下,在大量的笔试和二刷中总结经验三、总结代码随想录的题目安排和讲解都属于是很清晰简洁的,最好的一点在于是图文讲解配合视频,这样我不用每次都戴耳机去看课,只有不懂
- 网络系统管理Debian模块||AppSrv的Apache2配置详解
小白奋斗ing(小破站)
网络系统管理Debian样题六debianlinux服务器
该模块基于2021年网络系统管理样题六的赛题,详细完整解答整个赛题。关于本模块的技术支持可私信本人(小白奋斗ing)(B站同名),小白奋斗ing网络系统管理交流群:6087612034.APACHE2·安装apache服务;·服务以用户webuser系统用户运行;·限制web服务只能使用系统500M物理内存;(未解决)·全站点启用TLS访问,使用本机上的“CSKGlobalRootCA”颁发机构颁
- Python 工匠:使用数字与字符串的技巧
腾讯蓝鲸智云
Python工匠运维pythondocker开发工具
序言这是“Python工匠”系列的第3篇文章。数字是几乎所有编程语言里最基本的数据类型,它是我们通过代码连接现实世界的基础。在Python里有三种数值类型:整型(int)、浮点型(float)和复数(complex)。绝大多数情况下,我们只需要和前两种打交道。整型在Python中比较让人省心,因为它不区分有无符号并且永不溢出。但浮点型仍和绝大多数其他编程语言一样,依然有着精度问题,经常让很多刚进入
- linux git 搭建 debian,如何在Debian服务器上安装公共Git存储库
高江Takae
linuxgit搭建debian
如何在Debian服务器上安装公共Git存储库Git是一个免费的分布式版本控制,最初由LinusTorvalds为Linux内核开发创建。它主要在Linux上开发,但可用于其他Unix操作系统,包括BSD,Solaris和Darwin。基于POSIX的系统,如Linux,Git非常快。它与svn不同,并在远程服务器上创建一个私有存储库。一些流行的项目使用Git:*YUI*Merb*DragonFl
- 手撕力扣之图论:课程表、课程表 II、省份数量、等式方程的可满足性、情侣牵手、 实现 Trie (前缀树)、数组中两个数的最大异或值、判断二分图
weixin_39770712
数据结构与算法leetcode算法
拓扑排序:力扣207.课程表你这个学期必须选修numCourses门课程,记为0到numCourses-1。在选修某些课程之前需要一些先修课程。先修课程按数组prerequisites给出,其中prerequisites[i]=[ai,bi],表示如果要学习课程ai则必须先学习课程bi。例如,先修课程对[0,1]表示:想要学习课程0,你需要先完成课程1。请你判断是否可能完成所有课程的学习?如果可以
- Linux cron.log设置,使用Linux Cron Job与Logrotate进行日志轮换管理
3hurricane
Linuxcron.log设置
使用LinuxCronJob与Logrotate进行日志轮换管理DickensiWen2007-05-22WebExMISdept.通常大多数应用都会使用到日志用来跟踪程序运行时的一些关键事件或者异常,这样可以给项目维护/支持Team带来了很大的方便,但有时也会给我们带来一些麻烦,比如日志文件太多吃光所有硬盘空间,导致程序无法正常运行;有时文件太分散,不便于集中管理;有的单个文件太大导致不方便打开
- LAMMPS非平衡分子动力学:纳米线热导率计算教程
uote_e
算法数据库matlab
LAMMPS非平衡分子动力学:纳米线热导率计算教程概述本教程旨在介绍如何使用LAMMPS(Large-scaleAtomic/MolecularMassivelyParallelSimulator)软件进行非平衡分子动力学模拟,计算纳米线的热导率。我们将使用Matlab编写一个代码循环,以计算不同温度和尺寸下的热导率。引言纳米线的热导率是研究纳米尺度热传导行为中的重要参数。通过模拟和计算,我们可以
- python篇 “is“和“==“
undefineing
python开发语言后端
1.两者区别1.1.概念在python中"is"和"=="都可用来判断变量,刚开始学的时候很容易弄晕,一会儿is满足,一会儿不满足,搞不清该怎么用,所以这里做个小结。is判断两个变量内存地址是否相同==用来比较两个变量的值是否相等1.2.演示首先我们先了解一下如何用全局函数id()查看内存地址>>>num1=10000#==判断的就是这个>>>num2=20000#==判断的就是这个>>>id(n
- 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