- leetcode字节面试高频题思路总结(二叉树专栏)
hust_yrh
leetcode算法面试二叉树
leetcode刷题,一个好的思路很重要,刷leetcode不如就只看好的解题思路,记下来关键思路然后面试的时候就会容易很多。自己的算法思路可能就会有很多冗余代码,跟好的算法思路比起来差距很大,并且看了很多题解就不会出现有没有一点思路的情况。举例:顺时针打印数组,寻找重复数lc287,k个一组翻转链表。(乱序)顺时针打印:先第一行,然后消去,再最后一列,然后消去,最下一行,然后消去…287:给定一
- LeetCode--347. 前 K 个高频元素/Golang中的堆(container/heap)
Rinai_R
LeetCodeleetcodegolang算法数据结构
例题链接-前k个高频元素前言以前都是用的C++写算法题,最近也想熟悉一下golang的数据结构,故来一篇题解+堆分析。正文这里重点不在分析题目,在于golang中的container/heap对于内部实现逻辑有兴趣的可以去看看源码。这里先给出题解的代码packagemainimport("container/heap""fmt")//IHeap是一个最小堆的实现typeIHeap[][2]intf
- 自动生成关于软件程序开发的100个文件并可提供下载入口
唐 城
postgresql数据库人工智能电脑机器人
创建一个包含100个关于软件程序开发的文件并提供下载入口是一个庞大的任务,因为这需要编写大量的代码、文档和示例。不过,我可以提供一个大致的框架和指导,帮助你生成这些文件,并说明如何设置下载入口。文件生成思路编程语言文件:每种主流编程语言(如Python、Java、C++、JavaScript等)的HelloWorld程序。数据结构示例(链表、树、图等)。算法实现(排序、搜索等)。项目模板:Web项
- SV芯片验证之字符串类型
关关钧
SystemVerilogfpga开发
在SV中,string类型用来表示可变长度的字符串字符串类型变量的存储单位为byte类型(8-bit,一个字节),它的内存是动态分配的,因而无需担心它的内存空间管理分配问题。不同于C函数,SV中的字符串结尾没有“空字符”即null字符“\0”。一、字符串常见的使用方式***字符串常见使用方式***typedeflogic[15:0]r_t;//此处的logic未声明类型,即默认为变量类型,然后将其
- 分布式id-雪花算法
精通HelloWorld!
分布式java算法
通常我们在生成用户id或者订单id时都需要一个全局唯一的id来唯一标识,在单体情况下我们可以使用UUID、时间戳、数据库自增id而在分布式情况下,需要考虑大量服务器之间生成的id全局唯一,所以就使用了今天要介绍的雪花算法来生成分布式下的全局id单体服务UUID、时间戳、数据库自增id存在以下问题:UUID是无序的且数据非常大(128bit),且一般会使用36位长度的字符串存储,这样会导致id存入数
- Spring Boot 2 快速教程:WebFlux处理流程(五)
星如雨グッ!(๑•̀ㅂ•́)و✧
javaspringboot后端java
WebFlux请求处理流程下面是springmvc的请求处理流程具体步骤:第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找Handler(可以根据xml配置、注解进行查找)匹配条件包括:请求路径、请求方法、header信息等第三步:处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMappi
- 七天速记前端八股文(重点)
秋の本名
前端前端笔记javascript
forin和正常for循环的区别在遍历数组时,正常的for循环通常比for...in循环更适合。虽然for...in循环可以用于遍历数组,但它有一些潜在的问题和限制。下面是一些使用for循环相对于for...in循环的优势:顺序遍历:for循环可以按照数组元素的顺序进行迭代。而for...in循环在遍历数组时,并不能保证按照特定顺序遍历,因为它遍历的是对象的属性。不包含原型链上的属性:for循环仅
- hutool的安装和使用
SAFE20242034
springboot数据库
Hutool是一个小巧但强大的Java工具包,提供了许多实用的工具类,极大地提高了Java开发的效率。它封装了常见的工具方法,避免了重复造轮子。Hutool的核心模块Hutool提供多个模块,每个模块都有不同的功能,常见的有:core(核心工具类):包含字符串、集合、日期、IO、反射等基础工具类。extra(扩展工具类):支持邮件、二维码、模板引擎等功能。db(数据库操作):基于JDBC简化数据库
- 前端知识速记--CSS篇:display
无限大.
前端知识速记前端css
前端知识速记–CSS篇:display一、什么是display属性?display属性用于指定一个元素如何被显示在网页上。它不仅影响元素的显示形式,还对元素的布局、结构以及与其他元素之间的关系产生重要影响。二、常用display属性值1.blockblock级元素独占一行,宽度默认占满父容器。常见的block元素有、至、等。其特点是可以设置宽高,并且可以在上、下方添加外边距。实例:这是一个块级元素
- 【前端】HTML
鸽鸽程序猿
前端前端html
目录一、HTML结构1.1HTML标签1.2HTML文件基本结构1.3快速生成框架二、HTML常见标签2.1注释标签!----2.2标题标签h1到h62.3段落标签p2.4换行标签br2.5格式化标签2.6图片标签img2.7超链接标签a三、表格标签3.1常用标签3.2合并单元格四、列表标签五、表单标签5.1表单域:form标签5.2表单控件:input标签5.3label标签5.4select标
- 排序算法--基数排序
和风化雨
代码库排序算法算法数据结构c语言c++
核心思想是按位排序(低位到高位)。适用于定长的整数或字符串,如例如:手机号、身份证号排序。按数据的每一位从低位到高位(或相反)依次排序,每次排序使用稳定的算法(如计数排序)。#include//获取数组中最大值(用于确定位数)intgetMax(intarr[],intn){intmax=arr[0];for(inti=1;imax){max=arr[i];}}returnmax;}//使用计数排
- 前端导出Excel实践:探索xlsl的实现方式
linwu-hi
前端excel状态模式javascriptecmascripttypescript
点击在线阅读,体验更好链接现代JavaScript高级小册链接深入浅出Dart链接现代TypeScript高级小册链接linwu的算法笔记链接前言最近写管理端的需求,发现有一个excel导出的需求,本来是后端同学负责,但是因为他们太忙了,把这块任务交给前端了,起初产品觉得前端实现不了,一听这话,这我哪里受得了,赶紧写了个demo给她看,前端是可以实现的。enen,产品看了直夸牛逼接下来,我来分享导
- linux获取字符串最后几位,Shell截取字符串的8种方法
芦苇毛
linux获取字符串最后几位
Linux的字符串截取很有用。有八种方法。假设有变量var=http://www.aaa.com/123.htm.1.#号截取,删除左边字符,保留右边字符。(非贪婪匹配)echo${var#*/}其中var是变量名,#号是运算符,*/表示从左边开始删除第一个/号及左边的所有字符即删除http://结果是:www.aaa.com/123.htm2.##号截取,删除左边字符,保留右边字符。(贪婪匹配)
- LeetCode --- 2185. Counting Words With a Given Prefix 解题报告
杨鑫newlfe
Python算法LeetCodeleetcode算法数据结构python面试
Question:Youaregivenanarrayofstringswordsandastringpref.Returnthenumberofstringsinwordsthatcontainprefasaprefix.Aprefixofastringsisanyleadingcontiguoussubstringofs.Example1:Input:words=["pay","attenti
- lua程序设计第六章函数的用法以及练习题答案
vvc223c
lua程序设计lua程序设计第六章函数的用法练习题答案
函数调用需要使用圆括号把参数列表括起来,当函数只有一个参数,且参数是字符串常量或者表构造器时,括号可以不用加print"Helloworld"print("Helloworld")f{x=10,y=20}f({x=10,y=20})参数的行为与局部变量的行为完全一致,相当于值为参数值的一个局部变量。调用函数时使用的参数个数可以与定义函数使用的参数个数不一致,lua会通过抛弃多余参数和将不足的参数设
- Electron技术架构
沿着路走到底
Electron桌面应用electron架构前端
1Chromium:支持最新特性的浏览器Node.js:javascript运行时,可实现文件读写等NativeAPIs:提供统一的原生界面能力1
- Vue前端 向 后端Flask 传文件数据并保存
battlestar
Python学习vue.jsflask文件上传
简介采用vue编写前端,上传图像文件,发送到后端flask,由后端保存前端代码exportdefault{methods:
- 缩位求和——蓝桥杯
走啦小孩
算法c++蓝桥杯数据结构
1.题目描述在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。比如:248×15=3720248×15=3720把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得2+4+8=14==>1+4=51+5=65×6而结果逐位求和为3。5×6的结果逐位求和与3符合,说明正确的可能性很大!!(不能排除错误)请你写一个计算机程序,对给定的字符串逐位求和。输入描述输入描述
- JS混合加密,JS混淆加密,js混合加密工具-站长工具网
zhaoxiaoming4444
javascript网络开发语言phphtml5c语言
JS混合加密、JS混淆加密和JS混合加密工具随着互联网技术的发展,网页安全问题越来越受到关注。为了提高网页的安全性,一些加密技术被广泛应用。其中,JS混合加密、JS混淆加密和JS混合加密工具是三种常用的技术。本文将介绍这些技术的概念、应用和工具,帮助站长更好地保护网站的安全。一、JS混合加密JS混合加密是一种将加密算法与JavaScript代码相结合的技术。它通过将敏感信息加密后存储在JavaSc
- Nginx作为前端web服务器和后端负载均衡器,两者在配置与调优方向有哪些不一样,请写出不一样地方和需要优化的内容
h韩
nginx前端服务器负载均衡架构运维
在使用**Nginx**作为前端Web服务器和后端负载均衡器时,虽然它们都利用Nginx的强大功能,但配置和调优的方向有所不同。具体的优化内容也会根据其不同的用途而有所侧重。下面我将从配置和调优的不同之处,以及需要优化的具体内容进行分析。###一、Nginx作为前端Web服务器的配置与优化####配置方向1.**静态资源处理**:-**目的**:前端Web服务器主要处理静态资源请求,比如HTML、
- python有趣代码-wtfPython―Python中一组有趣微妙的代码【收藏】
weixin_37988176
wtfPython是github上的一个项目,作者收集了一些奇妙的Python代码片段,这些代码的输出结果会和我们想象中的不太一样;通过探寻产生这种结果的内部原因,可以让我们对Python里的一些细节有更广泛的认知。1.字典键的隐式转换some_dict={}some_dict[5.5]="Ruby"some_dict[5.0]="JavaScript"some_dict[5]="Python"输
- Web3 黑客松组队报名 — 10000 美金奖池,新手友好,需要前后端,设计,产品,合约工程师
前端智能合约区块链以太坊
Linea黑客松基本信息ℹ️报名截止6月30日10,000美金奖池在HackQuest平台举办,新手友好,适合Web2转型Web3的开发者参与需要前端,后端,设计,产品,合约工程师关于HackQuestHackQuest是一个充满活力的Web3开发者教育社区,我们的目标是培养下一代Web3开发者。黑客松要求✍️本次黑客松由HackQuest和Linea合作推,仅在HackQuest平台组织和举办不
- 每日一题——106. 从中序与后序遍历序列构造二叉树
m0_62867827
算法leetcode职场和发展
题目链接:106.从中序与后序遍历序列构造二叉树-力扣(LeetCode)代码:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*TreeNode(intx):val(x),
- python——正则表达式(re模块)详解
每日一小知识
前端html.netcorehttpmicrosoft
在Python中需要通过正则表达式对字符串进匹配的时候,可以使个python自带的模块,名字为re。正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。3.如果表达式中有量词或边界,这个过程会稍微有一些不同。r:在带有'r'前缀的字符串字面值中,反斜杠不必做任何特殊处理。因此r""表示包含''和'n'两个字符的
- 每日一题——最长有效括号
gch12138
每日一题c++
题目链接32.最长有效括号-力扣(LeetCode)(leetcode-cn.com)题目描述给你一个只包含'('和')'的字符串,找出最长有效(格式正确且连续)括号子串的长度。解题思路确定有效括号的含义:(),()(),(()),(()()),这些都是连续的有效括号;对于有效括号,博主的第一反应是用栈进行消消乐,在消消乐过程中更新最长的长度,但在判定有效括号是否连续是遇到问题;为解决问题又采用p
- 玩转Gin框架:Golang使用Gin完成登录流程
至尊丨楷君
gingolang开发语言
文章目录背景基于Token认证机制简介常见的Token类型Token的生成和验证在项目工程里创建jwt.go文件根目录新建.env文件创建登录接口/loginToken认证机制的优点背景登录流程,相信大家都很熟悉的。传统网站采用session后端验证登录状态,大致流程如下:用户输入用户名和密码/手机号和验证码点击登录按钮提交表单。后端校验前端传递过来的信息,验证通过在缓存中存储用户信息。后续每次请
- C语言解决左移问题
七七凉
c++c#
图2.1主方法首先用户先输入一串字符串,表现为:stringstr;cout>str;其次使用贪心算法来优化字符串,使得相邻字符的ASCII码之差的最小值最大因此调用到函数greedyOptimize(str);然后初始化maxMinDiff为INT_MIN(整型最小值),用于记录经过左移操作后能得到的相邻字符ASCII码之差的最大最小值,同时定义bestShiftedStr用于保存能达到这个最大
- JavaScript 构造函数及内置构造函数的详解
小白菜学前端
JavaScriptjavascript开发语言前端
在JavaScript中,构造函数是一种特殊的函数,用于初始化对象。当使用new关键字调用构造函数时,它会创建一个新的对象实例,并将构造函数内部的this关键字绑定到这个新对象上。构造函数通常用于定义对象的属性和方法,以及创建对象的实例。1.构造函数的定义和调用构造函数通常以大写字母开头,以便与普通函数区分。它们可以包含属性和方法,这些属性和方法通过this关键字添加到新创建的对象上。调用构造函数
- JavaScript 对象object this 构造函数
澄清石灰水t
JavaScript#JS基础javascript
一、基本数据类型的不足:基本数据类型都是单一的值"hello"123true,值与值之间没有任何联系。exp:用基本数据类型创建一个人的信息(namegenderage)varname="邹邹";vargender="女";varage=18;虽然用基本数据类型创建出了人的相关信息,但是所创建的所有变量都是独立的,不能成为一个整体。二、什么是对象对象是一种复合数据类型,在对象中可以保存多个不同数据
- Nginx 运维开发高频面试题详解
千夜啊
nginx运维开发运维
一、基础核心问题原文链接:https://blog.csdn.net/weixin_51146329/article/details/1429638531、什么是Nginx?Nginx是一个高性能的HTTP和反向代理服务器,它以轻量级和高并发处理能力而闻名。Nginx的反向代理功能允许它作为前端服务器,接收客户端的请求并将它们转发到后端服务器,这样可以隐藏后端服务器的细节,提高安全性Nginx也能
- 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