- 【TypeScript教程】 - 小白也能秒懂的TypeScript入门指南
一个水瓶座程序猿.
TypeScriptJavaScript系列文章typescriptjavascript前端
一、TS是什么?TypeScript(简称TS)是JavaScript的一个超集,由微软开发。简单来说,它就是在JavaScript的基础上增加了静态类型检查。那静态类型检查有啥好处呢?举个例子,在JavaScript里,我们写代码时可能会不小心把一个变量的类型用错,像这样://JavaScript代码letnum=10;num="hello";//这里把数字类型的变量赋值为字符串,运行时可能会出
- 鸿蒙HarmonyOS学习笔记(2)
yuwinter
HarmonyOSharmonyos学习笔记
基本语法概述如下图所示,当开发者点击按钮时,文本内容从“HelloWorld”变为“HelloArkUI”。ArkTS的基本组成说明自定义变量不能与基础通用属性/事件名重复。装饰器:用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,@State表示组
- 【网络安全】SSL/TLS协议运行机制详解
秋说
ssl网络网络安全
未经许可,不得转载。文章目录为什么使用SSL/TLSSSL/TLS的历史SSL/TLS运行过程握手过程详解1、客户端请求(ClientHello)2、服务器回应(ServerHello)3、客户端回应4、服务器的最后回应互联网通信的安全性,几乎完全依赖于SSL/TLS协议。理解这一协议的工作机制,对于确保网络安全至关重要。为什么使用SSL/TLS如果不使用SSL/TLS,HTTP通信将完全以明文形
- 加载properties文件username取不到值
bigStone.
问题总结propertiesusernameproperties配置文件
今天把Git上的项目(SSH整合)换台电脑Pull下来。竟然启动不了。在自己本上可以跑,换台电脑就不行了?各种报错,反正就是启动不来。 错误信息不做展示了,三个小时后定位到错误位置为applicationContext.xml中加载外部jdbc.properties文件出错。jdbc.properties文件:jdbcUrl=jdbc:mysql://localhost:3306/hello
- PyTorch实战:从零构建CNN模型,轻松搞定MNIST手写数字识别
PyTorch实战:从零构建CNN模型,轻松搞定MNIST手写数字识别大家好!欢迎来到我的深度学习博客!对于每个踏入计算机视觉领域的人来说,MNIST手写数字识别就像是编程世界的“Hello,World!”。它足够简单,能够让我们快速上手;也足够完整,可以帮我们走通一个深度学习项目的全流程。之前我们可能用Keras体验过“搭积木”式的快乐,今天,我们将换一个同样强大且灵活的框架——PyTorch,
- C++ 字符串详解:从基础到进阶全面掌握 std::string
秦劫
c++算法
一、C++中的字符串类型在C++中,处理字符串主要有两种方式:C风格字符串(字符数组)和std::string类型。由于std::string提供了更高效、更简洁的接口,本文将重点讲解std::string的使用。1.1C风格字符串(字符数组)C风格字符串是一个以空字符'\0'结尾的字符数组。它的定义类似于:charstr[]="Hello";//C风格字符串特点:需要自己管理数组的大小和内存。需
- python之海象运算符
youhebuke225
pythonpython
简介海象运算符是一种语法糖,有一个:和一个=构成,语法格式如下:(variable_name:=expression)一般海象运算符有三种用法,如下ifelseifelse中还是比较常用的#if语句中a=10ifa>5:print("hello")ifa:=10>5:print("hello:=")打印hellohello:=他会先进行赋值,然后再进行比较while一般使用while我们会进行无限
- python中报错Traceback (most recent call last): File “<stdin>“, line 1, in <module>TypeError: ‘str‘ obj
bk小兔子乖乖
pythonjava前端
>>>len='hello'>>>len('hello')如果运行该代码则会报错:Traceback(mostrecentcalllast):File"",line1,inTypeError:'str'objectisnotcallable出现该错误的原因是在python中有len()该函数,但是由于我们不小心定义了该函数,则会覆盖原来的len函数,此时不论我们怎么使用len函数,都会出现报错,解
- HTTPS通信流程:SSL/TLS握手全解析
you秀
网络运维部署杂谈httpsssl网络协议
2021,2022,2023年1-8月看了很多技术书籍,现在想来忘了很多,用到的也不多,但是因为提前接触过,所以很多新东西,接受起来,比预想的要容易些。最近突然想要回忆下HTTPS,居然回忆不起来了,哎。在此记录下。HTTPS通信过程:例如:打开https://www.csdn.net/的首页1.客户端发起请求(ClientHello)在打开一个https网址时先由客户端发起请求。内容:客户端自身
- Python遇到SyntaxError报错怎么解决?
zhou525193851
python开发语言
SyntaxError是Python里常见的错误,意味着代码里存在语法方面的问题,Python解释器无法对代码进行解析。下面介绍一些常见的SyntaxError错误原因以及对应的解决办法:1.括号、引号不匹配代码里的括号、引号等符号必须成对出现。若缺失或者多余,就会引发SyntaxError。错误示例:pythonprint('Hello,World!)这里单引号不匹配,会造成语法错误。解决办法:
- Rust 闭包
在Rust中,闭包(closures)是强大的匿名函数,可以捕获其环境中的变量。以下是Rust闭包的全面解析:一、基础闭包语法//无参数闭包letgreet=||println!("Hello!");greet();//带参数闭包letadd=|a:i32,b:i32|->i32{a+b};println!("Sum:{}",add(3,5));//类型可省略(编译器推断)letmultiply=
- Python初体验:从入门到实践
小何慢行
Pythonpython数据库开发语言
Python无疑是开启编程世界大门的绝佳钥匙。今天,就让我们一起踏上Python的学习之旅。#01编写第一个Python程序环境搭建好之后,上节已经编写了第一个Python程序。现在就好比,我们已经准备好了厨房和食材,要开始做第一道菜了。启动Jupyter后,在Jupyter中新建一个文件,然后新建一个Python文件,输入以下代码:print("Hello,Python!")这段代码的作用非常简
- int8类型的范围
小xiao白
嵌入式c语言算法
范围是:-128~127十进制和十六进制对应表为十进制01~126127-128-127~-2-1十六进制01~7E7F8081~FEFF可使用代码进行计算#include#include"stdint.h"intmain(){/*WriteCcodeinthisonlineeditorandrunit.*/printf("Hello,World!\n");int8_ttest=0x80;prin
- 华为OD机试 - 计算某个字符出现次数 - 线性扫描(Python/JS/C/C++ 2025 B卷 100分)
哪 吒
华为odpythonjavascript2025B卷华为OD机试
一、题目描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出"输入字符串"中该字符的出现次数。(不区分大小写字母)。二、输入描述第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。三、输出描述输出输入字符串中含有该字符的个数,(不区分大小写字母)。四、测试用例测试用例1:1、输入HelloWorldo2、输出2测试用例2:1、输入abc
- 【React】入门概述 - 虚拟DOM与原生DOM - JSX语法 - React基本使用
YK菌
前端框架Reactreact
文章目录1.React入门概述1.1介绍1.2原生JavaScript的缺点【补充】浏览器重绘重排【补充】模块化与组件化1.3React的特点1.4.React高效的原因2.HelloReact2.1相关库介绍【补充】babel.js的作用2.2使用JSX创建虚拟DOM2.3渲染虚拟DOM(元素)2.4页面显示3.创建虚拟DOM的两种方式3.1纯JS方式(一般不用)3.2JSX方式4.虚拟DOM与
- React 基本介绍与项目创建
AAA小土豆
react.jsarcgis前端
为什么使用React以及前端框架工作原理React通过构建虚拟DOM(VirtualDOM)来高效管理界面。当组件的状态或属性发生变化时,React会重新渲染生成新的虚拟DOM,并通过Diff算法找出新旧虚拟DOM树之间的差异,最终仅将发生变化的部分同步到真实DOM中。这种方式避免了不必要的DOM操作,从而提升性能。div:Apph1:Titlediv:Contentp:HelloWorldbut
- 【Spring篇10】:制作自己的spring-boot-starter依赖2
文章目录1.什么是SpringBootStarter?2.制作Starter的标准流程3.实战:制作一个“HelloWorld”Starter3.1创建项目结构3.2编写代码3.3使用Starter4.最佳实践SpringBootStarter是SpringBoot生态中非常重要的组成部分通过Starter,我们可以将一组相关的依赖、配置和自动化装配逻辑打包成一个独立的模块,供其他项目直接引入使用
- Python 常用内置函数全解-字符串处理函数
1.基础字符串操作1.1len():获取字符串长度len()函数用于获取字符串的长度,即字符串中字符的数量。它是一个内置函数,可以直接对字符串进行操作,返回一个整数,表示字符串的长度。例如:s="Hello,World!"length=len(s)print(length)#输出:13在这个例子中,字符串"Hello,World!"包含13个字符,包括字母、标点符号和空格,len()函数正确地返回
- 华为OD机考2025B卷 - 计算某个字符出现次数 (Java & Python& JS & C++ & C )
算法大师
最新华为OD机试真题华为OD机试真题(Java/JS/Py/C)华为odjavapython华为OD机考2025B卷javascriptc++
最新华为OD机试真题目录:点击查看目录华为OD面试真题精选:点击立即查看题目描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)。输入描述第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。输出描述输出输入字符串中含有该字符的个数,(不区分大小写字母)。示例1输入HelloWorldo输
- Python的常见注释
Zonda要好好学习
Pythonpython开发语言
Python中的注释类型Python支持两种主要的注释方式:单行注释和多行注释。注释用于解释代码,提高可读性,或暂时禁用部分代码。单行注释使用#符号,从#开始到行尾的内容会被Python解释器忽略。#这是一个单行注释print("Hello,World!")#也可以在代码后添加注释多行注释Python没有专门的多行注释语法,但可以通过以下两种方式实现:每行使用##这是一个多行注释的示例#每一行都需
- STM32 定时器控制LED闪烁&PWM完成呼吸灯
K1wel
stm32单片机嵌入式硬件
一、概述本文主要通过学习定时器、中断知识与相关原理,实现稍微复杂一点的PWM呼吸灯功能,旨在通过此文掌握STM32的相关技能。题目要求:(1)请设置一个5秒的定时器,每隔5秒从串口发送“hellowindows!”;同时设置一个2秒的定时器,让LED等周期性地闪烁,实现一个多任务并发运行的功能。(2)使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED
- 怎么用 cocos2d-js WebStorm chrome JetBrains IDE Support 调试
韩初心
Cocos2d-js学习笔记Cocos2d-JSWebStormChromeJetBrainsIDESuppor
一、准备工作1、创建一个cocos2d-js的工程(比如cocosnewHelloWorld-ljs)2、WebStorm3、Chrome浏览器和JetBrainsIDESupport2.0.9插件(需要自己导入,这里不展开)二、开始调试1、打开WebStorm,然后File->Open打开自己的cocos2d-js项目2、Run->EditConfigurations...3、然后看下图配置,最
- 放弃手中Docker拥抱下一代容器管理工具Podman
全栈工程师修炼指南
云原生容器专栏dockerlinuxjavakubernetesetcd
关注「WeiyiGeek」公众号将我设为「特别关注」,每天带你玩转网络安全运维、应用开发、物联网IOT学习!0x00基础介绍前生今世0x01安装试用UbuntuPodman命令-容器管理工具0x02小试牛刀1.PodmanHello-world2.Podman-Hugo-envoy3.Podman-导出与部署声明式清单0x03基础配置1.镜像加速0x04入坑出坑问题.创建pod的提示Errorin
- 【Linux】环境基础开发工具使用——gcc/g++使用
风铃子加油
Linuxlinux算法运维开发语言xshell
Linux编译器-gcc/g++使用1.背景知识1.预处理(进行宏替换)2.编译(生成汇编)3.汇编(生成机器可识别代码)4.连接(生成可执行文件或库文件)2.gcc如何完成格式gcc[选项]要编译的文件[选项][目标文件]预处理(进行宏替换)预处理功能主要包括宏定义,文件包含,条件编译,去注释等。预处理指令是以#号开头的代码行。实例:gcc–Ehello.c–ohello.i选项“-E”,该选项
- Kotlin 函数与 Lambda 表达式
Devil枫
安卓kotlin开发语言android
今天继续分享Kotlin学习内容。目标:掌握函数定义、调用、参数传递,以及Lambda表达式的基础用法1.函数:Kotlin的代码模块化工具定义:函数是可重复调用的代码块,用于封装逻辑。语法:fun函数名(参数列表):返回类型{//函数体return结果//可省略(若表达式函数或返回类型可推断)}示例1:基础函数fungreet(name:String):String{return"Hello,$
- Hadoop入门案例WordCount
码喵喵
hadoopmapreduce大数据
wordcount可以说是hadoop的入门案例,也是基础案例主要体现思想就是mapreduce核心思想原始文件为hadoop.txt,内容如下:hello,javahello,java,linux,hadoophadoop,java,linuxhello,java,linuxlinux,c,javac,php,java在整个文件中单词所出现的次数Hadoop思维:Mapreduce-----》M
- 八股文——JAVA基础:常量折叠是什么?
Hellyc
java开发语言
常量折叠是jvm在底层进行常量的基本运算,比如Strings="hello"+"world";//编译时直接折成"helloworld"再比如:publicclassC{publicstaticfinalStringA="he";publicstaticfinalStringB="llo";publicstaticfinalStringC=A+B;//也会在编译时折成"hello"}而String
- #19ACM第五次周赛补题赛de题解呐#
桦hua呐
秃头hua的题解
磕出来的所有题唉……A.防AK题目——超难系列这是一道Helloword题,题面花里胡哨,但就想让你输出一个“Accepted!!!”。#includeintmain(){printf("Accepted!!!");return0;}B.Fenoix超厌恶xxx这一题呢判断几种可能情况来进行即可,先看题面:描述:Fenoix觉得xxx是一个非常怪的人,因为他特别厌恶xxx这样的人。现在他给你出一道
- vue使用scrollreveal库
数字浪儿
vuevue.js前端javascript
vue项目安装scrollrevealnpminstallscrollreveal推荐使用cnpminstallscrollreveal代码展示如下:HelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorldimportScrollRevealfrom"scrollreveal";exportdefault{name:"App",dat
- 原生html页面弹窗_html 页面弹窗
weixin_39609483
原生html页面弹窗
第一种:alertalert("hello!")第二种:window.confirm()A:弹出窗口returntrue;}else{//alert("取消");returnfalse;}第三种:promptprompt方法也将显示一个模式消息框。用户在继续操作之前必须先关闭该消息框vartheResponse=window.prompt("欢迎?","请在此输入您的姓名。");页面代码测试fun
- 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