- xss漏洞-反射+存储+DOM
xiaoheizi安全
XSS漏洞合集web安全xss
XSS跨站-反射型&存储型&DOM型等产生原理:服务器没有对用户提交的数据做过滤或者过滤不严谨,直接回显到了用户浏览器,浏览器对其进行了js解析并执行,导致了xss漏洞。攻击原理:攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,在用户端注入恶意的可执行脚本,若服务器对用户的输入不进行处理或处理不严,浏览器就会直接执行用户注入的脚本。利用:确认漏洞存在后可
- 【网络安全】XSS漏洞- XSS基础概述及利用
SUGERBOOM
网络安全web安全xss安全
本章讲解XSS漏洞的基础理论和漏洞利用。主要包含三个方面:跨站脚本攻击漏洞概述、跨站脚本攻击漏洞类型及场景、跨站脚本攻击漏洞实操一、跨站脚本攻击漏洞概述1.1定义跨站脚本(Cross-siteScripting)攻击,攻击者通过网站注入点注入客户端可执行解析的payload(脚本代码),当用户访问网页时,恶意payload自动加载并执行,以达到攻击者目的(窃取cookie、恶意传播、钓鱼欺骗等)为
- 七、Zabbix — Proxy分布式监控
胖胖不胖、
《Zabbix速学即学即用》zabbix分布式服务器运维监控
目录配置Zabbix-proxy代理1.安装代理2.安装并配置数据库(proxy不能与zabbix-server共享数据库)3.发送zabbix-server源码包中初始化脚本到proxy主机并导入数据库4.修改代理配置文件5.web页面添加并配置代理Zabbix-agent客户端配置1.修改配置文件2.web页面修改,把这些主机修改为通过代理获取数据减少zabbix-server压力便于多地设备
- Java实现简单秒杀功能
在商城项目中,秒杀功能可以说是必不可少的,下面我将使用SpringBoot集成Redis、RabbitMQ、MyBatis-Plus和MySQL来实现一个简单的秒杀系统,系统将包含以下核心功能:使用Redis进行库存预减和用户限流;使用RabbitMQ进行异步下单,提高系统吞吐量;使用MyBatis-Plus操作MySQL数据库;利用Redis执行Lua脚本的原子性防止商品超卖;接口限流(使用Re
- 场景压测:真实业务下的性能挑战
文章摘要场景压测通过模拟真实用户的操作路径(如电商的登录-浏览-下单流程),评估系统在多接口协同、复杂业务场景下的性能与稳定性。与单接口压测不同,它更关注全链路瓶颈、资源协作及异常处理。实施需梳理业务流程、设计用户模型、编排压测脚本,并分析系统整体表现。其核心价值在于提前暴露生产环境中可能出现的流程级问题,为业务高峰期的系统承压能力提供保障。1.场景压测和接口压测的区别接口压测:通常只针对单一接口
- golang的编译过程分析
转载自:https://halfrost.com/go_command/引言Go语言这两年在语言排行榜上的上升势头非常猛,Go语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象)。Go语言最最吸引人的地方可能是其原生支持并发编程(语言层面原生支持和通过第三方库支持是有很大区别的)。Go语言的对网络通信、并发和并行编程的支持度极高,从而可以更好地利用大量的分布式和
- Python脚本批量修复文件时间戳,根据文件名或拍摄日期
3D_DLW
储存服务器python图片整理修改时间批处理脚本拍摄时间
实现以下功能更正文件的修改时间批量修改指定文件夹中的特定后缀的文件根据文件名中的日期修改(优先)根据jpg文件属性中的拍摄日期修改根据mp4文件属性中的创建媒体日期修改模拟运行(DryRun)模式依赖若需要基于jpg文件属性中的拍摄日期修改,需要python的piexif包pipinstallpiexif若需要基于mp4文件属性中的创建媒体日期修改,需要ffmpegsudoaptinstallff
- python闭包的应用场景_简单谈谈Python中的闭包
weixin_39587113
python闭包的应用场景
Python中的闭包前几天又有人留言,关于其中一个闭包和re.sub的使用不太清楚。我在脚本之家搜索了下,发现没有写过闭包相关的东西,所以决定总结一下,完善Python的内容。1.闭包的概念首先还得从基本概念说起,什么是闭包呢?来看下维基上的解释:在计算机科学中,闭包(Closure)是词法闭包(LexicalClosure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在
- maven本地仓库清缓存py脚本
就叫飞六吧
maven缓存spring
清_remote.repositories、以及.lastUpdated缓存文件,避免换仓库or私服的时候一直往旧地方去download从而引起的failtodownlown问题importosimportsysdefdelete_maven_metadata_files(directory):"""递归删除指定目录下的_remote.repositories和.lastUpdated文件:par
- Python之print打印
追捕的风
Python之数据处理python开发语言爬虫
python是一门脚本语言,少不了使用各种print打印调试,本文总结一下pythonprint打印的几种方法。1单独打印变量1.1只打印变量:方法:print(variable)示例:name="Mike"age=21print(name)print(age)输出:Mike211.2带其他信息:示例:name="Mike"age=21print('mynameis',name)print('my
- 参加幸福心理学第二天体会
阿杜_0bc5
第1个体会,关于家族图谱,一是家族图谱显示的是用遗传来展示爱自己喜欢的和不喜欢的都会遗传。二是家族图谱可以画,每次都可能不一样。这说明每次看的视角不一样了。三是通过多次绘制家族图谱可以看见自己有升华的过程。四是自己会无意识的传承父母的特质。五是身教大于言传。六是一个人有机会影响另一个人。七是家族图谱要先用到自己的身上。第2个体会,关于人生脚本。对此我的理解,人生脚本就是自动化运行的人生程序,也就是
- 报错解决:/usr/bin/python^M: bad interpreter: No such file or directory
KimmyDs
linux运维服务器
报错问题分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。一般是因为windows行结尾和linux行结尾标识不同造成的。问题解决:1)在windows下转换:利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->
- matlab_simulink仿真BLDC无刷直流电机 转速电流双闭环 调速系统
985计算机硕士
仿真模型电力系统matlab开发语言
matlab/simulink仿真BLDC无刷直流电机转速电流双闭环调速系统以下文字及示例代码仅供参考文章目录一、为什么需要“转速-电流”双闭环?二、系统整体架构三、在Simulink中搭建步骤3.1新建模型与库引用3.2电机本体3.3电流采样与Clarke/Park3.4电流环PI设计3.5转速环PI设计3.6SVPWM与逆变器3.7速度给定与负载四、一键运行脚本五、结果解读【标题】Matlab
- bash脚本 将commit记录生成一个update.md
#!/bin/bash#!/bin/bash#创建或清空update.md文件echo"#更新日志">update.mdecho"">>update.md#获取所有commit记录并按日期分组echo"##按日期分组的提交记录">>update.mdecho"">>update.md#使用gitlog获取所有提交,并按日期分组#使用完整时间戳进行排序gitlog--pretty=format:"%
- 【Jmeter】报错:An error occured:Unknown arg
卡西里弗斯奥
Jmeter
问题调试Jmeter时,报错:‘Anerroroccurred:Unknownarg:l’,脚本如下:$JMETER_PATH-n-t"$target_jmx"-l"$SCENARIO_REPORT_DIR/result_${threads}.jtl"-e-o"$SCENARIO_REPORT_DIR/html_${threads}"问题原因脚本没有问题,脚本后面带有空格,执行不过去。解决办法去除
- Node.js基础用法
Komorebi_9999
node.js
一、基础用法与核心模块1.运行Node.js脚本bash#运行JS文件nodescript.js#进入交互式环境(REPL)node2.核心模块示例文件系统(fs模块)javascriptconstfs=require('fs').promises;//异步Promise版本constpath=require('path');//读取文件asyncfunctionreadFile(){try{co
- Python+Selenium自动化
1,什么是seleniumselenium是一个开源的自动化测试框架,主要适用WEB测试,可以支持多种语言(Java,C#,Python,php等),既然支持多语言开发,那跨平台自然就不用多说啦,selenium有几个版本,一个是seleniumIDE(是一个安装在火狐浏览器上的一个插件,可以用来录制脚本,然后导出自动生成对应的开发语言文件),seleniumGrid(自动化辅助工具,楼主还没深入
- Python基础-day8:迭代器和生成器的区别及其各自实现方式和使用场景
1.迭代器迭代器提供了一种惰性(lazyevaluation)获取数据的方法,使得我们能够逐步访问序列中的元素,而无需一次性加载所有数据。其主要优点包括节省内存、提高性能、支持自定义遍历逻辑等。1.1实现协议__iter__():返回自身。__next__():返回下一个元素;如果没有更多元素,则抛出StopIteration异常。注意:可迭代对象(Iterable)与迭代器不同:可迭代对象实现_
- Ubuntu 22.04.3 LTS 安装 MySQL
mixboot
mysqlubuntumysql
更新系统包索引sudoaptupdatesudoaptupgrade-y安装MySQLsudoaptinstallmysql-server-y检查MySQL服务状态sudosystemctlstatusmysql运行MySQL安全配置脚本sudomysql_secure_installation设置root密码删除匿名用户容许root远程登录删除测试数据库重新加载权限表sudomysql_secu
- wap页面和html5,WAP网站、3G网站、html5触屏版有什么区别?
目前手机上的网站主要就分为WAP格式和3G格式,从脚本语言来讲,我们通常喜欢说用WML开发的网站就是WAP网站,用XHTML开发的网上3G网站。WML是当初专门为2.5G时代开发的一个脚本,他的功能挺简单的,页面形式呢主要是文字居多,因为那个时候的网速带宽还有机型的限制,所以WAP网站不能用CSS,字体颜色也只有普通文字的黑色和链接文字的蓝色,至于页面背景什么的是不能设置的。3G网站,也就是我们所
- Web开发 02
im_AMBER
前端学习
今天梳理出的HTML+CSS核心知识点,涵盖基础结构、布局、样式优化等实用技巧:总结1一、HTML核心知识1.基础结构文档声明:定义文档为HTML5标准。基本标签::根元素,包裹整个页面。:元数据(标题、样式、脚本等),不显示在页面。:设置网页标题(浏览器标签显示)。:页面内容容器,所有可见内容写在这里。2.常用标签文本与标题:~:标题标签,自动加粗且有默认层级样式。:段落标签,默认有上下边距。图
- 深入了解 find_element 方法:Web 自动化定位元素的核心
山烛
前端javascriptpythonseleniumfind_element
在Web自动化测试领域,元素定位是实现各类操作的基础,而find_element方法正是Selenium等自动化工具中用于定位单个元素的核心方法。掌握它的使用技巧,能让我们更精准、高效地操控网页元素,为自动化测试脚本的编写打下坚实基础。find_element方法的主要作用是在当前网页的DOM结构中,根据指定的定位策略和定位表达式,查找并返回第一个匹配的元素。如果未找到匹配元素,该方法会抛出NoS
- 北京-4年功能测试2年空窗-报培训班学测开-第五十四天
amazinging
python学习面试
今天交付的成果是,初版简历虽然只写了项目部分,但用了一整天,期间联系了前司组长,拿到了性能测试报告。然后再看压测脚本,突然能看懂了,对服务端日志也能看懂些了,还找到了客户端日志怎么说呢,现在就是各种拼凑的阶段。我需要回忆几年前工作中可能听过的那些内容,还有结合各种搜集到的信息(从前同事那或其提供的文件),同时通过问ai来拼凑要写的项目的技术栈、架构、接口、数据库、开发逻辑等真的是要命了,以前根本对
- 《Python Web 框架深度剖析:Django、Flask 与 FastAPI 的选择之道》
清水白石008
课程教程学习笔记开发语言python前端django
《PythonWeb框架深度剖析:Django、Flask与FastAPI的选择之道》开篇引入:从“胶水语言”到Web架构核心Python,自1991年由GuidovanRossum发布以来,凭借其简洁优雅的语法和强大的生态系统,逐渐成为全球最受欢迎的编程语言之一。它不仅在数据科学、人工智能、自动化脚本等领域大放异彩,更在Web开发领域构建起一套成熟的技术体系。作为一位长期从事Python开发与教
- Matlab实现的二维框架非线性动力学求解器:几何非线性应用
悦闻闻
本文还有配套的精品资源,点击获取简介:二维框架非线性动力学求解器Matlab工具用于分析复杂结构在动态载荷作用下的行为,特别是在几何非线性效应显著的情况下。求解器采用Newmark方法进行数值积分,并通过多个Matlab脚本文件,如Newmark_Nonlinear.m和Analysis.m等,实现从加载条件到结果可视化的一系列计算流程。用户可以通过各种分析功能和示例深入了解结构在动态载荷下的响应
- sbatch: error: Batch script contains DOS line breaks (\r\n)
爱听许嵩歌
编程debug问题batchmatlabslurm
问题:在使用超算时,提交脚本出现batch:error:BatchscriptcontainsDOSlinebreaks(\r\n)sbatch:error:insteadofexpectedUNIXlinebreaks(\n)原因:dos下的换行和Unix是不一样的:windows中\r\n表示换行,linux等使用\n换行。差异:Windows系统下文本文件的换行符是:回车+换行CR/LF即\
- Python 依赖管理的新动向:pip、Poetry 和 Conda 谁是未来的标准?
```htmlPython依赖管理的新动向:pip、Poetry和Conda谁是未来的标准?Python依赖管理的新动向:pip、Poetry和Conda谁是未来的标准?在Python生态系统中,依赖管理是一个至关重要的环节。无论是小型脚本还是大型企业级项目,依赖管理的好坏直接影响到项目的开发效率和稳定性。近年来,随着Python社区的快速发展,依赖管理工具也经历了显著的变化。本文将探讨三种主流的
- 易语言模块实现模拟按键功能完整指南
无畏道人
本文还有配套的精品资源,点击获取简介:易语言通过提供自定义模块模拟按键功能,简化了WindowsAPI调用,使得自动化测试、游戏脚本编写等场景中模拟键盘输入更加便捷。此模块封装了SendInput和PostMessage函数,允许用户创建直观易懂的函数进行模拟按键操作,包括单个按键模拟、组合键模拟、延时控制以及多按键序列模拟。开发者利用该模块可以提升软件测试效率、辅助游戏编程、实现自动化办公等。1
- 【Lua】闭包可能会导致的变量问题
先思考下面这个问题:localfunctioncounter()localcount=0returnfunction()count=count+1returncountendendlocala=counter()localb=counter()print(a())-->?print(a())-->?print(b())-->?print(a())-->?输出结果:print(a())-->1pri
- 思途html学习 0717
Asu5202
html学习前端
1.HTML基础概述HTML定义:超文本标记语言(HyperTextMarkupLanguage),用于创建网页结构。“超文本”指支持嵌入图像、音频、视频和脚本等非文本内容。编辑器推荐:VSCode、HBuilderX或IDEA都很实用。安装VSCode后,添加LiveServer插件(通过Extensions搜索安装),能实现实时预览网页(快捷键:Ctrl+S保存后自动刷新)。核心特性:空白处理
- 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