- 安全见闻(3)
Bulestar_xx
泷羽sec学习笔记安全网络windows
摘要脚本程序主要讨论的是安全性问题。脚本语言因其源代码可见、可复制性高而具有脚本性质。常见的脚本语言包括:-Lua-PHP-Go-Python-JavaScript脚本语言可以编写病毒和木马,例如Python可以编写木马,PHP可以编写一句话木马。编写脚本病毒需要了解脚本语言基础和病毒构成。宏病毒(macro)可以通过工具如metasploit生成,并植入Office文件中,如Word和PPT。宏
- PHP代码审计学习02
玄客)
学习
目录代码审计一般思路Beescms代码审计(upload)Finecms基于前台MVC任意文件上传挖掘思路CLTPHP基于thinkphp5框架的文件上传挖掘思路今天来看PHP有框架MVC类,文件上传,断点调试挖掘。同样还是有关键字搜索和功能点抓包两种方法来找到文件和代码段,最后进行分析。经过这两天的代码审计学习,有了一些认识,那就是渗透测试相当于是黑盒测试,而代码审计相当于是白盒测试,代码审计会
- CleanRxArchitecture:打造健壮的Android应用架构
巫清焘
CleanRxArchitecture:打造健壮的Android应用架构CleanRxArchitectureCleanRxKotlinArchitecturesampleonGitHubApi项目地址:https://gitcode.com/gh_mirrors/cl/CleanRxArchitecture在当今快速迭代的移动开发环境中,选择正确的架构对于保持代码的可维护性和扩展性至关重要。今天
- 刷题前必学!时间复杂度和空间复杂度!用JavaScript学数据结构与算法
JavaScript算法与数据结构-HowieCong务必要熟悉JavaScript使用再来学!一、时间复杂度(1)下面代码,一共执行了几次?functiontraverse(arr){//最没有悬念的是函数里面的第一行代码,只会被执行1次varlen=arr.length//1.i的初始化语句,只有一次,只会被执行1次//2.iO(n)=1T(n)=3n^2+5n+3=>O(n)=n^2(4)
- 纯C代码模拟stm32 的结构体赋值,快速掌握stm32开发
真实义
c语言stm32单片机
stm32系统的C语法一开始难度大,采用C语言模拟,能快速上手。简单版本//runC@https://www.jyshare.com/compile/11/#include//模拟GPIO寄存器结构typedefstruct{unsignedintpinState:1;//仅模拟单个引脚的状态,0表示低电平,1表示高电平}SimpleGPIO_TypeDef;//定义一个SimpleGPIO_Ty
- 【漏洞复现】Apache Tomcat条件竞争代码执行漏洞(CVE-2024-50379)
李火火安全阁
漏洞复现中间件漏洞apachetomcat
文章目录前言声明一、漏洞描述二、漏洞版本三、环境部署四、漏洞复现五、修复建议前言由于Windows文件系统与Tomcat在路径大小写区分处理上的不一致,当启用了默认servlet的写入功能(设置readonly=false且允许PUT方法),未经身份验证的攻击者可以构造特殊路径绕过Tomcat的路径校验机制,通过条件竞争不断发送请求上传包含恶意JSP代码的文件触发Tomcat对其解析和执行,从而实
- 前端——vue代码结构
Alisazxy
前端
默认代码结构README.md---项目说明文件package.json---定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。package-lock.json---会自动为npm修改node_modules树或任何操作而生成package.jsonLICENSE---开源协议index.html---项目默认首页模板.postcssrc.js---是对pos
- Python: 遍历给定目录下的pdf文档并进行重命名
牵着蜗牛去爬山
pythoncodingpython
文章目录编程目的参考代码(一)代码(二)编程目的因需要大量重命名pdf文档为[0…n].pdf,就搜集了资料写了代码,并解决自己的问题。参考感谢各位分享的资源。python3.3遍历文件夹及文件小例python文件重命名一文看懂Python对文件和文件夹的操作:含os,shutil和glob模块详解代码(一)importglobimportos.path#找到给定的root_dir下的pdf文档并
- VUE代码架构浅谈
tongliuwei
vue.js前端javascript
VUE目录架构概述-mockmock可以不需要后台,自动拦截ajax返回测试数据-public公共目录-srcapi用于存放网络请求文件的目录index.tsxxx目录assets存放静态文件的目录components存放自定义组件的目录filter过滤器的使用(例如时间data格式化)index.tsicons图标库引入svgindex.tslang语言包引入(用于项目中多语言切换)en.jsz
- nonebot2聊天机器人插件9:定时提醒器timing
starvapour
nonebot2聊天机器人插件python
nonebot2聊天机器人插件9:定时提醒器timing1.插件用途2.目录结构3.实现难点与解决方案3.1定时器3.2调用bot的api发送消息4.代码实现5.插件配图6.实际效果7.下一个插件该插件涉及知识点:定时器,调用bot的api发送消息插件合集:nonebot2聊天机器人插件该系列为用于QQ群聊天机器人的nonebot2相关插件,不保证完全符合标准规范写法,如有差错和改进余地,欢迎大佬
- 自定义数据集,使用scikit-learn 中K均值包 进行聚类
〖是♂我〗
scikit-learn均值算法聚类
代码:#导入必要的库importmatplotlib.pyplotasplt#用于绘制图形fromsklearn.clusterimportKMeans#KMeans聚类算法importnumpyasnp#数值计算库#定义class1到class4的数据点,模拟四个不同的类(每个类7个二维点)class1_points=np.array([[1.9,1.2],[1.5,2.1],[1.9,0.5]
- 自定义数据集 使用scikit-learn中svm的包实现svm分类
〖是♂我〗
python开发语言
代码:importnumpyasnp#导入用于数值计算的库importmatplotlib.pyplotasplt#导入用于绘图的库#class1_points和class2_points分别定义了两个类别的数据点,二维坐标class1_points=np.array([[1.9,1.2],[1.5,2.1],[1.9,0.5],[1.5,0.9],[0.9,1.2],[1.1,1.7],[1.4
- BUUCTF--[羊城杯 2020]Easyphp2
Uzero.
进入后的页面根据题目提示我们可以知道这是一道PHP代码审计的题所以使用伪协议查看源代码,这里使用的是两次url编码绕过/?file=php://filter/read=convert.quoted-printable-encode/resource=GWHT.php/?file=php://filter/read=convert.%2562%2561%2573%2565%2536%2534-enc
- vue项目代码结构
很小白的小白
Vue
最外层文件:README.md————>说明文件package.json————>依赖文件存储地package-lock.json————>依赖的版本LICENSE————>开源协议说明index.heml————>项目首页的默认文件(深入)postcssrc.js————>postcss的配置项。gitignore————>git配置项(把不想上传的文件配置在里面,不会被提交)我添加了我不想提交
- STM32 HAL库代码编程风格--STM32外设结构体代码风格
ltqshs
STM32stm32嵌入式硬件单片机
1.HAL库代码风格理解I/O、UART、SPI、USB、IIC等外设结构体总结1、GPIO外设-1个结构体GPIO只有初始化结构体。只需要定义初始化结构体即可(GPIO_InitTypeDefGPIO_InitStruct;),内部成员都可通过初始化结构体引用。2、UART外设-2个结构体UART、IIC、SPI等外设(除I/O外),都有句柄结构体和初始化结构体,一般定义句柄结构体就行了(UAR
- 使用支持向量机(SVM)进行股票市场预测
m0_57781768
支持向量机算法机器学习
使用支持向量机(SVM)进行股票市场预测引言股票市场预测是金融领域的一个热门话题,也是一个充满挑战的研究领域。通过准确的市场预测,投资者可以做出更明智的决策,从而获得更高的回报。支持向量机(SVM)作为一种强大的机器学习算法,已被广泛应用于各种分类和回归问题。本文将详细介绍如何使用C++和支持向量机进行股票市场预测,并提供完整的代码示例。支持向量机简介支持向量机(SVM)是一种监督学习算法,最初用
- STM32面向对象编程架构示例
杭劲钰Majestic
STM32面向对象编程架构示例【下载地址】STM32面向对象编程架构示例本仓库提供了一个STM32面向对象编程架构的完整工程示例,该示例是我自己在STM32项目中常用的编程架构。对于许多初学STM32编程的同学来说,常常会遇到多任务调度、全局变量处理、编程规范等方面的问题,导致代码混乱且难以维护。本示例旨在帮助初学者更好地理解和应用面向对象编程思想,提升代码的可读性和可维护性项目地址:https:
- Cesium实战专栏03.实体信息获取方式
xt3d
jsgiswebgl
前言很多时候我们需要在点击实体的时候,显示实体的某些属性信息,比如监控点位,在点击监控的时候显示监控的名称、ip、状态等信息。要显示实体的信息,首先在创建实体的时候将信息设置到实体的属性上面,点击实体的时候拿到设置的信息进行展示。有两种方式获取点击的实体。1.注册场景鼠标点数事件,通过鼠标点拾取实体对象。2.监听viewer对象的实体选中改变事件,获取选中的实体对象。效果图关键代码//获取实体信息
- Python 函数专题:深入探讨嵌套函数
圣逸
从入门到精通Python语言python开发语言Python入门数据结构精通python数据库
在Python编程中,函数是最基本的构建块之一。它们不仅能够帮助我们组织代码,还能提高代码的可读性和可复用性。与普通函数相比,嵌套函数(或称为内部函数)是一种更为灵活的构造,能够在某些情况下极大地增强函数的能力和作用。本文将深入探讨嵌套函数的概念、用法、优缺点以及实际应用,帮助读者全面理解这个重要的编程概念。什么是嵌套函数?嵌套函数是指在一个函数的内部定义另一个函数。在Python中,嵌套函数具有
- Python 函数专题:深入探讨匿名函数
圣逸
从入门到精通Python语言python开发语言数据结构Python入门精通python
在Python中,函数是一种重要的编程构造。函数不仅可以让我们的代码更具可读性和可重用性,还可以帮助我们更高效地组织和管理我们的代码。而在函数的世界里,匿名函数(也称为lambda函数)无疑是一个非常有趣的主题。本文将深入探讨Python中的匿名函数,包括其定义、用途、与普通函数的对比、应用场景等。1.什么是匿名函数匿名函数是指没有名称的函数,它能够接受任意数量的参数,但只能返回一个表达式的值。在
- while循环
Along丶WG
#Java基础java
介绍语法:循环变量初始化;while(循环条件){循环体;循环变量迭代;}while也有四要素,只是四要素的位置和for不一样。代码演示publicstaticvoidmain(String[]args){//输出10次Hello,World!inti=1;//循环变量初始化while(i=40&&k<=endNum2){if(k%2==0){System.out.println(k);}k++;
- do..while 循环
Along丶WG
#Java基础java
介绍语法:循环变量初始化;do{循环体(语句);循环变量迭代;}while(循环条件);说明:dowhile也有循环四要素,只是位置不一样先执行,再判断,也就是说,一定会至少执行一次最后有一个分号;代码演示publicstaticvoidmain(String[]args){//输出10次Hello,World!inti=1;//循环变量初始化do{System.out.println("Hell
- SQLAlchemy 介绍与实践
cliffordl
pythonpython数据库
postgresql实践pydantic实践1.SQLAlchemy介绍SQLAlchemy是一个ORM框架。SQLAlchemy是一个用于Python的SQL工具和对象关系映射(ORM)库。它允许你通过Python代码来与关系型数据库交互,而不必直接编写SQL语句。简单介绍一下对象关系映射吧,对象关系映射(英语:ObjectRelationalMapping,简称ORM,或O/RM,或O/Rma
- 编程语言“鄙视链”:为何Python会处于这样的位置?
宝码香车
#话题python开发语言
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦目录编程语言“鄙视链”:为何Python会处于这样的位置?引言一、Python被视为新手友好型语言的原因(二)丰富的学习资源(三)广泛的应用领域二、Python在某些方面被“轻视”的因素(一)性能方面的局限(二)代码的安全性与保密性(三)行业传统
- 微信小程序视频点播在线视频学习系统 毕业设计 课程设计(1)首页_微信小程序视频功能设计流程图
字节全栈_kYu
微信小程序学习课程设计
06-19关于违规会员处理的通知视频分类最新更新课程所有课程HTML入门到精通3651人报名免费HTML入门到精通3651人报名免费HTML入门到精通3651人报名免费HTML入门到精通3651人报名免费###wxss代码/*广告图片*/.ad01{width:100%;/*宽度100%*/}.qukuai{display:flex;align-items:center;background-co
- 使用PyInstaller将Python项目代码打包成exe
培根芝士
Pythonpython开发语言
PyInstaller是一个非常强大的工具,用于将Python脚本打包成独立的可执行文件(如.exe文件),使得Python应用程序可以在没有安装Python环境的机器上运行。工作原理PyInstaller的核心目标是将Python脚本及其依赖的模块打包成一个独立的可执行文件。它的工作原理可以分为以下几个步骤:(1)分析脚本依赖PyInstaller会分析你的Python脚本,找出所有导入的模块(
- python yfinance 下载金融数据,股票数据
waterHBO
python金融开发语言1024程序员节
起因,目的:代码比较少,但是估计很常用。需要开启全局代理:1.获取国内股票数据tushareimporttushareasts#pipinstalltushare#设置Tusharetoken,需要在Tushare官网注册并获取,免费的ts.set_token('22b5a5b550------****23f815a22c97')#初始化pro接口pro=ts.pro_api()#股票代码stoc
- Rust编程基础教程:嵌入式开发入门
AI天才研究院
AI大模型企业级应用开发实战编程实践一天一门编程语言大数据人工智能语言模型JavaPython架构设计
作者:禅与计算机程序设计艺术1.背景介绍Rust是一款开源、安全的系统编程语言,它支持运行在Linux、Windows和macOS操作系统上。近年来,Rust受到了越来越多的人的关注和追捧,它可以用来编写可靠和高效的代码,同时还能保证程序的内存安全。而且,它也拥有强大的生态系统,其中包括大量成熟的crate(库)。因此,Rust在嵌入式系统领域得到了广泛应用。本文将教授Rust编程知识,让读者对R
- 2sxc中的强类型与自定义属性的魔力
t0_54coder
编程问题解决手册java前端javascript个人开发
引言在现代Web开发中,强类型系统不仅提高了代码的可读性和可维护性,也为开发者提供了更好的代码补全和错误提示功能。2sxc作为一个强大的内容管理框架,已经引入了强类型功能,使得开发者可以更轻松地处理数据。今天,我将与大家分享如何通过自定义属性来扩展2sxc的内容类型,从而实现更为便捷和直观的数据操作。2sxc的强类型特性2sxc的强类型特性允许开发者直接在代码中使用内容类型字段名作为属性名,享受I
- Python面试宝典13 | Python 变量作用域,从入门到精通
多森AI
Python面试题python面试开发语言
今天,我们来深入探讨一下Python中一个非常重要的概念——变量作用域。理解变量作用域对于编写清晰、可维护、无bug的代码至关重要。什么是变量作用域?简单来说,变量作用域就是指一个变量在程序中可以被访问的范围。Python中有四种作用域:局部作用域(Local):在函数或代码块内部定义的变量,只能在该函数或代码块内部访问。局部变量的作用域范围最小,只能在定义它们的函数或代码块内部使用。defmy_
- 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