- 什么是Node.js,有什么特点
前端与小赵
node.js
Node.js简介Node.js是一个基于ChromeV8引擎的JavaScript运行时环境,由RyanDahl于2009年创建。Node.js允许开发者使用JavaScript编写服务器端应用程序,打破了JavaScript仅限于浏览器端的限制。Node.js的设计目标是提供一种简单、高效的方式来构建可伸缩的网络应用。Node.js的特点非阻塞I/O特点:Node.js使用事件驱动的非阻塞I/
- Node.js到底是什么
浪裡遊
杂文node.jsphp开发语言前端javascriptvue.js
我想像是npm、vite这些名词大家都很熟悉,对它们的作用也有大致印象,但是可能都像我一样不明白Node.js到底是什么,这里给大家带来一个简单介绍。Node.js详解:历史发展、生态构建与底层原理一、Node.js的起源与历史发展诞生背景2009年5月:Node.js由RyanDahl开发并首次发布。其核心目标是解决JavaScript仅限于浏览器端运行的局限性,通过ChromeV8引擎(Jav
- Chromium 136 编译指南 Ubuntu篇:环境搭建与源码获取(一)
守城小轩
浏览器开发指纹浏览器浏览器开发chromechromedevtools超级浏览器
1.引言随着Web技术的飞速发展和应用场景的不断拓展,浏览器引擎的重要性日益凸显。Chromium作为现代浏览器生态系统的核心引擎,不仅驱动着全球超过70%的网络流量,更是众多知名浏览器如GoogleChrome、MicrosoftEdge、Opera以及新兴的Brave等产品的技术基石。其卓越的渲染性能、先进的安全机制和高度模块化的架构设计,使得越来越多的开发者希望基于Chromium进行深度定
- python xpath语法-Python Xpath语法
weixin_37988176
一、python数据提取xpath1.beautifulsoupxpath正则表达式2.xpath是一种在XML和HTML文档中查找信息的语言,可用来在XML和HTML中对元素进行遍历ChromeXPathHelper3.XPath语法(1)选取节点:使用路径表达式来选取文档中的节点nodename选取节点的所有子节点//div/如果是在最前面,代表从根节点选取,否则选择某节点下的某个节点一个/代
- Selenium自动化测试实战:从入门到精通(附真实案例)
文章目录一、为什么选择Selenium?1.1环境准备三步走二、实战案例:电商网站登录测试2.1基础版脚本2.2进阶技巧三、高级应用:动态数据抓取四、文件上传的终极解决方案4.1改良版代码五、常见问题排雷指南六、最佳实践建议七、总结一、为什么选择Selenium?(敲黑板)在自动化测试领域,Selenium绝对是当之无愧的王者!它支持多种浏览器(Chrome/Firefox/Edge等)、跨平台运
- Node.js 常用工具
沐知全栈开发
开发语言
Node.js常用工具引言Node.js是一个基于ChromeV8引擎的JavaScript运行环境,它允许开发者使用JavaScript编写服务器端代码。在Node.js的开发过程中,使用一些常用的工具可以大大提高开发效率和项目质量。本文将详细介绍Node.js开发中常用的工具,包括版本管理、代码编辑、包管理、调试、测试、性能监控等。版本管理工具:npm和Yarnnpmnpm(NodePacka
- selenium.common.SessionNotCreatedException Message session not created.ChromeDriver support ver解决方案
爱编程的喵喵
Python基础课程pythonseleniumchromedriverversion
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。 本文主要介绍了selenium.common.exceptions.SessionNotCreatedException:Message:sessionnotcreated:Thisver
- selenium及Chromedriver
箭矢鹤
各种问题
selenium及Chromedriver:https://www.cnblogs.com/lfri/p/10542797.html定位元素的方法https://www.cnblogs.com/hong-fithing/p/7623838.html保留Chrome配置https://jingyan.baidu.com/article/335530dae2dd3d19ca41c342.html报错u
- 火狐浏览器驱动下载
品尚公益团队
pythonpython
【Chromedrive下载】历史版本下载地址:DirectoryListing:/pub/firefox/releases/版本可参照SeleniumChrome版本与chromedriver兼容版本对照表下载地址各版本下载地址geckodriver下载地址旧版本淘宝npm镜像geckodriverMirroriedriver下载地址http://selenium-release.storage
- web自动化测试整个流程,和相互关系??
Web自动化测试全流程解析1.标准Web自动化测试流程需求分析选择工具/框架环境搭建编写测试脚本执行测试生成报告缺陷管理维护优化关键阶段说明:需求分析:确定哪些功能需要自动化(优先选择高频、核心业务)环境搭建:安装浏览器驱动(ChromeDriver)、配置Python+Selenium环境脚本开发:使用PageObject模式(推荐)编写可维护的代码持续集成:通过Jenkins/GitLabCI
- docker部署nginx
微笑听雨。
java进阶教程nginxdockerlinuxcentos
下载镜像dockerpullnginx启动镜像dockerrun--restart=unless-stopped-p80:80-p9999:9999-p11111:11111-p3500:3500--namenginx\-v/home/nginx/html:/usr/share/nginx/html\-v/home/renren-devtools:/home/renren-devtools\-v/
- 全栈开发之路:React性能监控与分析指南
AI天才研究院
计算AI大模型企业级应用开发实战AI人工智能与大数据react.js前端前端框架ai
全栈开发之路:React性能监控与分析指南关键词:React性能监控、性能分析工具、虚拟DOM、Fiber架构、Lighthouse、ReactDevTools、性能优化策略摘要:本文从全栈开发者视角出发,系统讲解React应用性能监控与分析的核心方法。通过“用户抱怨网页卡顿”的真实场景引入,用“快递配送”“医院分诊”等生活案例类比技术概念,结合ReactDevTools、Lighthouse等工
- React.js前端开发中的性能优化的常见挑战与解决思路
大厂前端小白菜
前端开发实战react.js性能优化前端
React.js前端开发中的性能优化的常见挑战与解决思路关键词:React性能优化、虚拟DOM、重新渲染、代码分割、内存管理摘要:本文深入探讨React应用开发中常见的性能瓶颈及其解决方案。从虚拟DOM原理到Fiber架构演进,从组件渲染机制到内存泄漏预防,通过算法解析、数学模型验证和实战案例,系统性地构建React应用性能优化知识体系。本文还将提供可落地的性能检测工具链和最佳实践方案。文章目录R
- Python curl_cffi教程
思念停滞不前
pythonjava爬虫scrapy
支持python3.8及以上版本,能解决ja3,akamai等指纹问题。安装curl_cffipipinstallcurl_cffi样例fromcurl_cffiimportrequests #模拟Chrome浏览器发送请求response=requests.get("https://tools.scrapfly.io/api/fp/ja3",impersonate="chrome")print(
- 电脑小白速成:5分钟变高手
晨曦543210
计算机基础
第一步:先搞懂这5个最常用的东西开关机按钮(别笑!90%的人不会正确关机)正确操作:点开始菜单→电源→关机(别直接按电源键!)进阶知识:长按电源键5秒=强制关机(死机时才用)文件管理(你的电脑像垃圾堆?)马上做:1.桌面右键→新建文件夹→改名「我的文件」2.把桌面上所有文档拖进去懒人技巧:按Ctrl+Shift+N秒建文件夹浏览器(别再装360了!)装这两个就够了:Chrome(直接下)Edge(
- 浏览器开发者工具Network面板中复制请求的相关信息(结合PostMan)
s甜甜的学习之旅
开发工具postman测试工具
复制请求相关信息在谷歌浏览器(GoogleChrome)开发者工具的Network面板中,当你右击一条请求并选择"Copy"时,会出现多个选项,这些选项允许你以不同的方式复制请求的相关信息。以下是常见的"Copy"选项及其解释:CopyRequestHeaders:复制HTTP请求头到系统剪贴板。这包括了所有发送给服务器的头部信息,如User-Agent、Accept等。CopyResponseH
- Playwright反检测优化与规避方法
PyAIGCMaster
我的学习笔记自动化python
是的,Playwright可以通过ChromeDevToolsProtocol(CDP)连接已打开的浏览器实例,这种方式能更好地模拟真实用户行为。以下是具体实现方案:方法一:手动接管已打开的浏览器实现步骤:手动启动浏览器(带调试端口)在终端执行以下命令启动Chrome(示例):#Windows"C:\ProgramFiles\Google\Chrome\Application\chrome.exe
- 搭建Google WebDriver服务的教程
码农资源网
ubuntu
搭建GoogleWebDriver服务是进行Web自动化测试的第一步。以下是一个详细的教程,指导你如何在你的系统上搭建GoogleWebDriver服务。我们将以ChromeDriver为例,它是GoogleChrome浏览器的WebDriver实现。环境准备确保你已经安装了GoogleChrome浏览器:确保你安装了最新版本的GoogleChrome浏览器。你可以通过访问GoogleChrome
- playwright绕过浏览器检测,使用本地浏览器
此方法是playwright与本地浏览器以ws方式通信可以绕过基本上大部分浏览器检测,因为这就是一个真正的浏览器更多博客内容访问我的博客网站:回锅炒辣椒的博客两种使用方式:每次运行程序之后先打开浏览器找到自己桌面chrome的快捷方式键点击属性在目标一栏的最后添加--remote-debugging-port=9999端口可自定义withsync_playwright()asp:#创建一个连接br
- 在Ubuntu上设置Selenium自动化测试环境:Chrome与Firefox的详细指南
从零开始学习人工智能
ubuntuseleniumchrome
在自动化测试领域,Selenium是一个不可或缺的工具,它允许开发者通过编程方式控制浏览器,从而实现各种自动化测试任务。无论是进行网页功能测试、爬取网页数据,还是模拟用户交互,Selenium都能轻松应对。本文将详细介绍如何在Ubuntu系统上设置Selenium环境,以便使用GoogleChrome和MozillaFirefox浏览器进行自动化测试。一、安装Selenium在开始之前,确保你的U
- 利用python 实现自动登录微博并发送文字微博
小妖同学学AI
python开发语言
一软件准备1.安装Python环境2.安装selenium库pipinstallselenium3.下载chromedriver复制到C:\Windows\System32http://npm.taobao.org/mirrors/chromedriver/选择对应的chrome版本。二实现方法1.使用Selenium工具自动化模拟浏览器,当前重点是了解对元素的定位我们想定位一个元素,可以通过id
- 超详细的selenium使用指南
测试老哥
selenium测试工具python软件测试单元测试自动化测试职场和发展
视频学习:文末有免费的配套视频可观看点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快概述selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等。官网地址为:相对于另外一款web自动化测试工具QTP来说有如下优点:免费开源轻量级,不同语言只需要一个体积很小的依赖包支持多种系统,包括Windows,Mac,Linux支持多种浏览器,包括Chrome,Fir
- Selenium使用指南
测试老哥
selenium测试工具软件测试自动化测试python测试用例职场和发展
点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快概述selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等。官网地址为:相对于另外一款web自动化测试工具QTP来说有如下优点:免费开源轻量级,不同语言只需要一个体积很小的依赖包支持多种系统,包括Windows,Mac,Linux支持多种浏览器,包括Chrome,FireFox,IE,safari,ope
- Python之Web开发中级教程----ubuntu中下载安装Postman
zhengyuanyehit
网站Python人工智能python前端postmandjango后端大数据人工智能
Python之Web开发中级教程----ubuntu中下载安装PostmanPostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,可以直接去对我们写出来的路由和视图函数进行调试,作为后端程序员是必须要知道的一个工具。查看ubuntu系统中是否已经安装了postmanwhichpostman安装:Postman最早是以Chrome浏览器插件的形式存在的,可以到chrome商
- 操作系统 第二章 进程与线程
敷邬
windows
2.1进程与线程2.1.1进程的概念和特征进程vs程序:程序是静态代码文件(如chrome.exe),进程是程序的动态运行实例(浏览器的每个渲染进程)。同一程序可生成多个进程(如开2个Chrome窗口,对应2个独立进程),进程间资源(内存、文件)默认隔离。核心特征解析:特征含义例子动态性进程有“创建(fork())→运行→终止(exit())”的生命周期。微信从启动(创建进程)到退出(终止进程)的
- python实战项目52:Selenium爬取steam黑神话悟空评论
wp_tao
Python副业接单实战项目pythonselenium开发语言
python实战项目52:Selenium爬取steam黑神话悟空评论一、思路分析二、完整代码一、思路分析Selenium爬取steam游戏评论的思路非常简单,初始化Chromedriver,然后打开评论页面,循环下拉滚动条,每下拉一次滚动条获取一次页面源代码,使用xpath解析数据并保存数据。本文的主要目的是为大家提供完整可执行的代码,以此帮助需要的人尽快获取到数据,降低时间成本。二、完整代码i
- Chrome 渲染器中的对象转换到 RCE
红云谈安全
chrome数据分析前端网络安全
在本文中,我将利用CVE-2024-5830,这是Chrome的JavaScript引擎v8中的一个类型混淆错误,我于2024年5月将其报告为错误342456991。该错误已在版本126.0.6478.56/57中修复。此错误允许通过一次访问恶意网站在Chrome的渲染器沙箱中执行远程代码执行(RCE)。V8中的对象映射和映射转换本节包含理解该漏洞所需的对象图和转换中的一些背景材料。熟悉这些内容的
- ThinkPHP结合使用PHPConsole向Chrome 控制台输出SQL
少湖说
编程实践chromesqlandroid
在Chrome中安装PHPConsole插件下载PHPConsole服务器端程序包到ThinkPHP的Vendor目录下例如/ThinkPHP/Extend/Vendor/PhpConsole编写Behaviour行为类PhpConsoleBehavior.classfalse,);publicfunctionrun(&$params){if(C('PHP_CONSOLE')){if(APP_DE
- Ubuntu下谷歌浏览器远程调试设置指南
在Ubuntu系统中,为谷歌浏览器设置远程调试功能,可实现诸多便捷操作,如通过Selenium进行自动化测试、借助ChromeDevTools进行前端调试等。以下是详细设置步骤:一、安装Chrome浏览器GoogleChrome浏览器在Ubuntu的默认软件仓库中不可用,因此需要手动安装。下载Chrome浏览器:打开终端(通过快捷键Ctrl+Alt+T或在应用菜单中搜索“终端”),运行以下命令下载
- HTML一键打包EXE串口API介绍
iReachers
html单片机stm32HTML转EXEHTML打包EXE
HTML一键打包EXE软件(HTML转EXE)支持将Web前端项目转换为Windows平台下的独立可执行程序(EXE),适用于Windows7及以上系统,无需额外配置系统环境,软件包含多种内核,包括IE内核,Chrome内核,以及WebView2(永久免费),适用于不同的使用场景.CSDN免积分下载地址:【免费】HTML转EXE最新2.1.0版本(包含免费内核)-解压密码1234资源-CSDN文库
- 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