- postcss插件-实现vw适配
ordinary90
前端全栈开发VUEpostcss前端javascript
PostCSS是一个用JavaScript编写的插件工具,它可以帮助我们对CSS进行模块化、自动化处理和优化。使用PostCSS插件可以扩展CSS的功能,实现更多的特性,其中一个常用的插件就是实现vw适配的插件。vw(ViewportWidth)是CSS3中的一个单位,它表示相对于视口宽度的百分比。使用vw单位可以根据视口的大小,实现自适应布局。在移动端开发中,vw适配可以帮助我们在不同的屏幕尺寸
- Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现马赛克效果,Kotlin(3)
zhangphil
Androidkotlinandroidkotlin
Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现马赛克效果,Kotlin(3)importandroid.content.Contextimportandroid.graphics.Bitmapimportandroid.graphics.BitmapFactoryimportandroid.graphics.Canvasimpor
- OpenCV基础学习
yzx991013
OpenCV基础全集学习
5.1开运算完整代码:importcv2importnumpyasnpdefcir():try:image=cv2.imread("./image/xingtai/cirrec.jpg")kernel=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(11,11))src=cv2.morphologyEx(image,cv2.MORPH_OPEN,kerne
- OpenCV实例应用
yzx991013
OpenCV基础全集opencv人工智能计算机视觉
5.0图像的腐蚀应用完整代码:importcv2importnumpyasnpdeferode():img=cv2.imread('./image/dige.png')kernel=np.ones((3,3),np.uint8)erosion=cv2.erode(img,kernel,iterations=1)erosion1=cv2.erode(img,kernel,iterations=2)r
- opencv图像基础学习
yzx991013
OpenCV基础全集opencv人工智能计算机视觉
2.3图像的加密解密源码如下:importcv2importnumpyasnpimportmatplotlib.pyplotaspltdefpassImg():img=cv2.imread('./image/cat.jpg',0)h,w=img.shape#生成一个密码,加密key_img=np.random.randint(0,256,size=(h,w),dtype=np.uint8)img_
- python封装程序Failed to execute script pyi_rth_multiprocessing错误
星烨无痕
pyinstaller封装程序机器学习人工智能python
我的python程序编写环境为win10、python3.8.6,打包成exe文件后,在win10中能正常打开,没有任何问题。将程序拷贝到另一台电脑,电脑使用的是win7系统,运行程序出现Failedtoexecutescriptpyi_rth_multiprocessing错误,错误显示如下:Traceback(mostrecentcalllast):File"C:\Users\wuhen\Ap
- Android wifi热点开关代码记录
峥嵘life
androidandroid
Androidwifi热点开关代码记录一、前言wifi和热点开关的代码可以用WifiManager也可以调用ConnectivityManager的接口实现。下面记录一下。二、代码实现1、wifi开关//wifi开关publicstaticvoidsetWifiState(Contextcontext,booleanisSetWifiEnable){WifiManagermWifiManager=
- 传感器接口
兢兢业业的打野
单片机嵌入式硬件
#include"DHT11/bsp_dht11.h"#include"delay.h"staticvoidDHT11_GPIO_Config(void);staticvoidDHT11_Mode_IPU(void);staticvoidDHT11_Mode_Out_PP(void);staticuint8_tDHT11_ReadByte(void);/***@briefDHT11初始化函数*@p
- PyTorch机器学习与深度学习技术方法
Teacher.chenchong
机器学习python开发语言
近年来,随着AlphaGo、无人驾驶汽车、医学影像智慧辅助诊疗、ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮。尤其是深度学习技术,在许多行业都取得了颠覆性的成果。另外,近年来,Pytorch深度学习框架受到越来越多科研人员的关注和喜爱。Python基础知识串讲1、Python环境搭建(Python软件下载、安装与版本选择;PyCharm下载、安装;Python之HelloW
- IPD新产品立项管理的典型问题分析(下)
汉捷咨询
ipd
其次是新产品立项缺乏规划,前瞻性不足。凡事预则立,不预则废,新产品的立项和开发同样需要预先规划,即产品规划。在这里提及的产品规划,一般指的是企业未来3~5年的产品规划,有企业把年度产品开发计划称为产品规划,这其实是不准确的。纵观国内大部分企业,真正把产品规划做起来的企业占比非常低,从数据来看低于10%。企业拿年度产品开发计划作为立项计划,会因为时间的关系,给立项的时间明显不足。“立项时间只给一个月
- SDL2:Android APP编译使用 -- SDL2多媒体库使用音频实例
XiaoJ1234567
Envandroid
SDL2:AndroidAPP编译使用3.SDL2:AndroidAPP编译使用3.1AndroidStudio环境准备:3.2构建AndroidAPP(1)方式一:快速构建APK工程(2)方式二:自定义APK工程(3)方式三:CMake构建APK工程3.3android-project项目文件说明SDL2(SimpleDirectMediaLayer2)是一个开源的跨平台多媒体开发库,它提供了一
- 从CentOS到龙蜥:企业级Linux迁移实践记录(龙蜥开局)
名为逗比
linuxcentos运维
引言:在我们之前的文章中,我们详细探讨了从CentOS迁移到龙蜥操作系统的基本过程和考虑因素。今天,我们将继续这个系列,重点关注龙蜥系统的实际应用——特别是常用软件的安装和配置。龙蜥操作系统(OpenAnolis)作为一个强大的企业级Linux发行版,不仅提供了稳定的基础环境,还支持广泛的软件生态系统。对于从CentOS迁移过来的用户来说,了解如何在龙蜥上安装和管理常用软件是确保平稳过渡的关键步骤
- 调试Hadoop源代码
一张假钞
hadoopeclipse大数据
个人博客地址:调试Hadoop源代码|一张假钞的真实世界Hadoop版本Hadoop2.7.3调试模式下启动HadoopNameNode在${HADOOP_HOME}/etc/hadoop/hadoop-env.sh中设置NameNode启动的JVM参数,如下:exportHADOOP_NAMENODE_OPTS="-Xdebug-Xrunjdwp:transport=dt_socket,addr
- 在RuoYi若依中生成代码并自定义功能
阿符阿
前端后端数据库htmlbootstrapajaxjavasql
目录一、代码生成的三层架构二、页面内容2.1下拉列表2.2自定义表单和表格三、数据传递3.1页面传值给后台3.2后台传值给页面四、业务逻辑4.1减少访问4.2功能:更改序号-逻辑五、数据访问5.1带上@param5.2功能:更改序号-操作六、结语一、代码生成的三层架构使用若依后台系统的代码生成功能,会得到以下结构的项目文件:|--src||--main||--java|||--com|||--or
- 集团公司L1-L5级流程框架方法论:(1)L1级流程:为业务价值链,是业务流程的主干; (2)L2级流程:为运作模式层面的业务子流程,因场景不同而差异化; (3)L3级流程:为实现运营模式所需的业
公众号:优享智库
数字化转型数据治理主数据数据仓库大数据
集团公司L1-L5级流程框架方法论集团公司L1-L5级流程框架方法论L1级流程:业务价值链定义与作用构成要素与其他流程关系案例分析L2级流程:运作模式层面业务子流程场景差异化原因子流程分类与特点跨场景协同策略案例分析L3级流程:业务能力与业务活动业务能力定义及要求业务活动类型与目的与IT系统关系澄清案例分析L4级流程:业务与IT系统交互过程/工作流交互过程描述方法工作流设计原则常见问题与解决方案案
- 从小白到高手:人工智能学习中的挑战与突破
博雅智信
人工智能深度学习机器学习python大语言模型
引言:人工智能学习之路充满挑战学习过程中常见的问题与困境环境安装与配置问题简单报错反复调试,时间浪费大学习进度慢,难以找到合适的方向网上资料过多,选择困难导师催进度,任务压力大不敢多问:与同事、师兄师姐的尴尬理论与实践脱节,缺乏实战经验专注力不足,容易被干扰找一个师傅带着的好处高效解决问题,避免走弯路个性化学习路线与系统化知识框架实战经验的传授与导师的成长指导1.引言:人工智能学习之路充满挑战人工
- docker-ubuntu-24.04安装openresty1.21.4.3全过程
司江龙
ubuntulinux运维
拉取最新的ubuntu镜像dockerpullubuntu:latest创建启动容器dockerrun-it--name容器名称-p8082:8082镜像id/bin/bash更换apt-get为阿里云镜像sed-i'
[email protected]/@/mirrors.aliyun.com/@g'/etc/apt/sources.list&&apt-getupdate创建目录cdhome
- python线条加粗_python 加粗
weixin_39765057
python线条加粗
广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!背景知识:docx文件的结构分为三层,1、docment对象表示整个文档;2、docment包含了paragraph对象的列表,每个paragraph对象用来表示文档中的一个段落;3、一个paragraph对象包含run对象的列表,一个run对象就是style相同的一段文本。问题描述:
- android原生乐视made,乐视Pro3 lineage16 安卓9.0 极致省电 纯净原生 完美root Xposed 经典版...
小6加油
android原生乐视made
乐视系列可刷上lineageos16,再次开启享受类原生的乐趣。乐视Max2和Pro3支持PT项目,也就是说必须刷入支持PT版本TWRP后Vendor分区才可以正常启动LOS16.0特色介绍源于lineage16.0最新源码制作,稳定靠谱默认添加开机语音中文,时区为正常北京超级纯净,非常流畅。它有电话、信息、相机、时钟、录音录屏、邮件、文件管理器和音乐播放器等几个最基本的功能,无谷歌服务和全家桶l
- 计算机文秘办公文员,计算机WORD文秘EXCEL文员PPT办公软件培训
Mike昊
计算机文秘办公文员
【1】、电脑办公软件300元:Office[Word、Excel、PowerPoint]+WPS[文字、表格、演示]。【2】、平面艺术设计900元:Photoshop、CorelDRAW、Illustrator。【3】、建筑装饰设计900元:AutoCAD、3DsMAX、Vray。自由安排时间,随时可以学习,长期有效,可反复学习。————————————————————办公软件培训,办公应用培训,
- day39——多线程实例、多线程锁
weixin_33953384
javapython
python的锁可以独立提取出来1mutex=threading.Lock()2#锁的使用3#创建锁4mutex=threading.Lock()5#锁定6mutex.acquire([timeout])7#释放8mutex.release()概念资源加锁其实并不是给资源加锁,而是用锁去锁定资源,你可以定义多个锁,像下面的代码,当你需要独占某一资源时,任何一个锁都可以锁这个资源就好比你用不同的锁都
- PyInstaller 构建的 Windows EXE 因多处理而失败
潮易
windows
PyInstaller构建的WindowsEXE因多处理而失败PyInstaller是Python一个用于将Python脚本打包成可执行的exe文件的工具,但是它并不支持所有Python库,尤其是那些依赖于C扩展或使用PythonCAPI的库。如果你的程序在使用某些不支持的库时失败了,那么你可能需要寻找其他的解决方案,如使用其他的打包工具或者修改你的代码以适应这些库。以下是一个详细的步骤,说明如何
- TypeScript 学习笔记(七):TypeScript 与后端框架的结合应用
Evaporator Core
typescript前端框架学习
1.引言在前几篇学习笔记中,我们已经探讨了TypeScript的基础知识和在前端框架(如Angular和React)中的应用。本篇将重点介绍TypeScript在后端开发中的应用,特别是如何与Node.js和Express结合使用,以构建强类型、可维护的后端应用。2.TypeScript与Node.jsNode.js是一个基于ChromeV8引擎的JavaScript运行时,广泛用于构建后端应用。
- 在Android 15的设备上关闭edge-to-edge功能
庄风子
Androidandroid
Android15在开发上有很多更新,当APP的targetSdk设置为35,且设备系统为Android15时,APP会自动启动edge-to-edge功能。虽然可视面积变大了,但界面布局也会受影响。如果要强制关闭edge-to-edge功能。可以在style.xml中将windowOptOutEdgeToEdgeEnforcement设置为false,并且指定targetApi为35。true然
- python:Failed to execute script ‘pyi_rth_win32comgenpy‘ due to unhandled exception!
sinat_21963041
Appium自动化测试pythonjavaandroid
使用pyinstaller打包exe程序后,出现如下错误:Failedtoexecutescript‘pyi_rth_win32comgenpy’duetounhandledexception!解决方法:https://blog.csdn.net/abcdefg5_555/article/details/128636706pythonsubprocessFileNotFoundError:[Win
- VC++计算精解【6】
sakura_sea
VC++2022计算精解c++开发语言
文章目录二分法(BisectionMethod)数学原理c++参考文献二分法(BisectionMethod)数学原理如果一个函数f(x)f(x)f(x)在闭区间[a,b][a,b][a,b]上连续,且满足f(a)⋅f(b)#includeusingnamespacestd;//函数定义doublef(doublex){return3*pow(x,3)-7*pow(x,2)+11;}//二分法函数
- Chromium 132 编译指南 Mac篇(一)- 环境准备
守城小轩
浏览器开发chromedevtools浏览器开发指纹浏览器chrome
1.引言在当今浏览器领域,开源项目Chromium的地位举足轻重。作为GoogleChrome浏览器的技术核心,Chromium不仅驱动着这款全球流行的浏览器,还为众多衍生浏览器项目奠定了坚实的基础。对于热衷于浏览器技术研究,或有志于开发自有浏览器的开发者来说,掌握Chromium的编译技术是迈向成功的第一步。本指南将聚焦于macOS平台,为开发者提供一份详尽的Chromium132编译入门教程。
- Node.js --- 模板引擎EJS
蒜蓉大猩猩
Node.jsnode.js后端express中间件
1.前言模板引擎是一种工具或库,用于在开发中生成动态内容的HTML页面。它通过将预定义的模板与数据结合,生成最终的输出(如HTML页面、字符串等)。模板引擎广泛应用于前端和后端开发,尤其是在构建动态网站时。2.EJS模板引擎EJS(EmbeddedJavaScriptTemplates)是一种模板引擎,可以帮助我们在HTML页面中嵌入JavaScript代码,用于动态渲染内容。EJS语法简洁且与H
- git命令手册
哈~~哈~
git
生成秘钥:ssh-keygen#切换目标分支(以master为目标分支为例)gitcheckoutmaster#拉取仓库master分支的最新版本gitpull#本地备份gitbranchbackup#删除本地分支gitbranch-Dmaster#在master分支下创建分支gitchekcoutmaster#强制推送到远程gitpush-f-uoriginmaster#列出远程分支gitbra
- 「C/C++」C++关键字 之 mutable 可变变量关键字
何曾参静谧
c语言c++java
✨博客主页何曾参静谧的博客(✅关注、点赞、⭐收藏、转发)全部专栏(专栏会有变化,以最新发布为准)「Win」Windows程序设计「IDE」集成开发环境「定制」定制开发集合「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」BlockUI集合「Py」Python程序设计「Math」探秘数学世界「PK」Paras
- 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