- android 图形开发的技能学习路线
stevenzqzq
android学习
需要以下几个方面的知识:OpenGLES的基础和高级应用图形渲染管线的工作原理3D数学(矩阵、向量、四元数)着色器编程(GLSL)libGDX框架的使用和定制性能优化和内存管理跨平台渲染技术接下来,考虑如何结构化学习路径。可能需要分阶段学习,从基础到高级,逐步深入。例如,先从基础的OpenGLES开始,然后学习3D数学,再进入着色器编程,接着学习libGDX框架,最后综合应用这些知识。同时,需要考
- HarmonyOS NEXT 中级开发笔记:基于HarmonyOS Design的摄影美图应用数据库实践
harmonyos-next
最近在适配HarmonyOSNEXT的摄影类应用时,重点研究了HarmonyOSDesign规范下的数据层设计。作为开发者,记录一些实际开发中的思考片段,供同行参考指正。一、数据模型与HarmonyOSDesign的契合点按照HarmonyOSDesign的"简洁高效"原则,摄影类应用的数据结构需要兼顾性能与扩展性。例如存储用户编辑记录时,采用如下实体设计:typescript//图片元数据实体@
- python基础
晨曦543210
python学习
一、常见的标准库1、系统交互类(1)sys控制Python运行环境,支持命令行参数解析(sys.argv)、程序退出(sys.exit())和解释器信息获取(sys.version)。(2)os访问操作系统功能,如目录操作(os.mkdir)、环境变量管理(os.environ)、执行系统命令(os.system)。(3)platform获取操作系统和硬件平台的详细信息2、数据处理类(1)json
- 用Unity实现UDP客户端同步通信
DamnF--
Unity网络开发基础udp网络协议网络
制作UDPNetMgr网络管理模块这段代码定义了一个名为UDPNetMgr的Unity脚本类,用于管理UDP网络通信,它作为单例存在,在Awake方法中创建收发消息的线程,Update方法处理接收到的消息;StartClient方法启动客户端连接,ReceiveMsg和SendMsg方法分别用于接收和发送消息,Send方法将消息加入发送队列,Close方法关闭套接字并发送退出消息,同时在脚本销毁时
- 【taiwindcss4系列教程】tailwindcss失效不显示的简单处理方法
马墉 HW
css前端
目录起因问题解决思路起因新版本的tailwindcss4在ios设备上或iphone8splus等设备上部分失效或全部无效。如何解决呢,本教程传授一种简单方法且有效的方法。问题比如下面的代码,边框样式在某些手机上边框无法显示无法显示。边框样式失效解决思路我们可以在tailwindcss官网找到borderwidth说明文档。将Properties代码进行复制,并写入到style的行内样式。这样ta
- 前端代码中请求参数应该如何封装?
json
在前端开发中,正确封装请求参数是避免414Request-URITooLarge错误的关键步骤之一。当请求参数过多或过长时,应该将它们封装在请求体中,而不是附加在URL中。以下是一些常见的前端框架和库中如何封装请求参数的方法。一、使用POST请求封装参数(一)原生JavaScript在原生JavaScript中,可以使用XMLHttpRequest或fetchAPI来发送POST请求,并将参数封装
- python黏合flash_Python+Flash框架开发接口,pythonflask
weixin_39719749
python黏合flash
fromflaskimportFlaskapp=Flask(__name__)CORS(app,resources=r'/*')#声明app并写入run主py文件@app.route('/insert_case_base_data',methods=['POST'])definsert_case_base_data():request.encoding='utf-8'code=request.js
- Curl+Postman+Python,自动化构造测试数据
pytester
效率工具PythonPostmanpythoncurlpostman软件测试
背景:测试的时候经常会遇到一个耗时的问题,那就是准备测试数据,比如某个场景,需要准备100条数据,如果我们提供手动的去创建,耗时不说,而且也没有技术含量,所以给大家安利一个创建测试数据的办法,可以快速、自动化的创建测试数据。一、前提准备:1、已安装Python,PyCharm环境已配置,已安装requests库2、已安装postman3、电脑中已存在浏览器:Chrome二、适用场景适用场景:批量构
- React(10)
一路向前的月光
react.js前端前端框架
项目实践--创建项目在store的modules中创建相关的子仓库暴露到仓库index文件中导入creatSlice和axios创建仓库和数据的异步修改方法//编写store//导入createSlice和axiosimport{createSlice}from"@reduxjs/toolkit";importaxiosfrom"axios";//创建sliceconstfoodsStore=cr
- 鸿蒙HarmonyOS NEXT开发:鸿蒙应用中图片上传流程解析,从图库中、用户拍照(拉起相机)获取照片
淡 忘
ArkTSharmonyos华为算法交互网络
一、总体流程概述无论采用哪种方式上传图片,都需要先把用户选择的图片放到应用的沙箱中,再进行上传操作。不同方式的主要区别在于选择照片的形式。二、不同方式选择照片(一)拍照拿取照片代码实现constpickerResult:cameraPicker.PickerResult=awaitcameraPicker.pick(getContext(this),[cameraPicker.PickerMedi
- 记录-关于axios“GET”请求获取到pdf文件流下载的问题
会自己走的CV码农
pdf前端javascriptvueajax
不是使用axios的原因,也不是responseType未设置的原因,仅仅是因为我把请求参数和responseType分成俩对象导致被忽略了…具体get请求传参的可以去看官网,这里记录下因为传参导致我下载文件出的错误。对比代码放在下面,希望和我碰到同样问题的同学能少踩坑//正确写法axios.get(url,{params:{xxx:'xx'},responseType:'blob'}).then
- android新架构,Android项目新架构(2)——Clean Architecture
太球
android新架构
前言由于CSDN在移动端的UI界面不太友好,现在把博客迁到简书。原来CSDN博客地址:http://blog.csdn.net/iigeoxiaoyangCleanArchitecture架构模式很早之前就提出了,FernandoCejas在Github上实现了Android下的CleanArchitecture项目。本文主要根据这个项目源码以及我们项目中的实践说说对这个架构的理解。一CleanA
- ROS2 中 使用奥比中光 Orbbec Astra Pro 深度相机
dotNET跨平台
本文将以Ubuntu20.04和ROS2foxy环境为例,详细介绍如何在ROS2中使用奥比中光OrbbecAstraPro深度相机。在这一篇文章中,你会学到如何创建工作空间,使用usb_cam功能包,编译安装使用ros_astra_camera等。1.引言前面的文章《ROS2机器人操作系统入门和安装以及如何使用.NET进行开发》中提到,组成机器人的关键部分主要是电机、传感器、软件和电池。机器人的智
- 【M32】单片机 xxx.map 文件简单解读
西西洛
单片机单片机嵌入式硬件
文章目录1.总览2.重点交流1.总览xxx.map由五个部分组成,分别是:各部分说明SectionCrossReferences节区跨文件引用RemovingUnusedinputsectionsfromtheimage删除无用节区ImageSymbolTable符号映像表MemoryMapoftheimage存储器映像索引Imagecomponentsizes映像组件大小2.重点比较重要的是后面
- el-select ios 上无法拉起 键盘
昵称老重复
iosjavascriptvue3vue.jselementui前端
el-select再添加filterable属性支持输入搜索时,在ios上无法拉起键盘解决jsimport{reactive,ref,nextTick,onMounted}from'vue'constselectRef=ref(null)const{proxy}=getCurrentInstance()//获取全局setFocus:(value)=>{nextTick(()=>{if(!value
- el-select 在iOS手机上,无法唤起软键盘以及二次点击问题
拿回忆下酒
elementuiel-selectiosvue
问题elementUI中有一个el-select组件。我们经常用它来实现下拉框功能。但是在手机上使用时,发现iOS手机上,该组件无法唤起软键盘。主要是因为组件中,input上有一个readonly属性,而该属性规定输入字段为只读。阻止了用户对值进行修改,直到满足某些条件才行。方案//本案例只为处理兼容问题,不包含其他复杂逻辑exportdefault{methods:{clear(async){t
- 《AI大模型开发笔记》——ollama应用全面解析
Richard Chijq
AI大模型开发笔记人工智能笔记
入门篇1ollama是什么?Ollama是一个支持在本地运行大语言模型的工具,兼容Windows、Linux和MacOS操作系统。使用Ollama,您仅需一行命令即可启动模型。2如何安装?Windows和MacOS用户,从下面链接下载安装即可:下载地址:https://ollama.com/downloadLinux系统安装请参考(10个问题帮你搞定Linux上Ollama安装):AI开发者de频
- 【Astra Pro】奥比中光Astra Pro使用OpenNI2 SDK for ros时,解决启动astra_camera节点出现wait for device to be connected
残了天边那云
嵌入式ubuntu相机ai
一.错误提示:waitfordevicetobeconnected使用一些版本的ros_astra_camerasdk比如:1.2.1、1.2.0版本时,会出现下面提示:需要重新插拔usb口否则不能连接相机[INFO][1735955783.758551746]:Startingcameranode…[INFO][1735955783.779148484]:Creatingcameranode…[
- Charles 抓包配置保姆教程(PC、IOS、Android)
网络抓包与爬虫
httpudphttpswebsocket网络安全网络协议tcp/ip
抓包工具基础配置与使用指南大家好,我是十一!今天给大家分享一篇关于抓包工具的基础配置与使用指南。无论是开发、测试还是安全分析,抓包工具都是不可或缺的利器。本文将详细介绍如何配置和使用抓包工具,并特别推荐一款功能强大的工具——SniffMaster(抓包大师),帮助大家更高效地完成抓包任务。安装与破解首先,我们需要选择一款合适的抓包工具。市面上有很多抓包工具,比如Charles、Fiddler等,但
- HarmonyOS开发实战:UI组件使用规范总结
代码中的爱马仕
鸿蒙HarmonyOSOpenHarmony前端数据库harmonyos华为uiandroid鸿蒙
UI类组件模块介绍ToastUtil提供对文本提示的一系列方法DialogUtil提供对弹出框的一系列方法ActionUtil提供对操作菜单的一系列方法LoadingUtil提供全局加载工具类TipsUtil提供提示弹出工具类SelectUtil提供选择弹出工具类ConfirmUtil提供信息确认弹出工具类AlertUtil提供操作确认弹出工具类ExceptionUtil提供省市区级联选择组件Ca
- 快手基础架构 (Android) 一面
我也念过晚霞
性能优化架构android
1.讲讲Redux架构和传统架构的区别2.讲讲事件驱动更适合什么项目传输3.事件驱动是不是都可以归结成数据的变化,为什么还是要使用事件驱动,而不是数据驱动4.如果有跨UI的通信怎么做(主redux)5.你做一个大型的组件化的项目,这种要怎么去做事件驱动呢6.你讲讲网络优化和请求优化怎么做的7.讲讲点击URL的全链路,HTTPS讲详细一点8.讲讲HTTP1.1-2-3,分别有什么优化9.如果用UDP
- C# WebForm显示bootstrap模态对话框
boluo_people12345
c#bootstrap开发语言asp.net
1、在aspx中添加,将依赖添加进来2、添加模态对话框的divModaltitle...CloseSavechanges3、我封装了两个C#函数来显示和隐藏bootstrp的对话框publicvoidshowModal(stringid){stringscript="varmyModal=newbootstrap.Modal(document.getElementById('"+id+"'),{\
- Android Studio启动虚拟机提示Emulator terminaled解决办法,你可能也有相同的问题。
boluo_people12345
androidstudioandroidide
最近启动虚拟机时发现总是启动报错,我试了网上许多的方法都不行。直到我胡乱搞了一通才发现解决方法。问题:单独安装了android-sdk,并且配置了环境变量。AndroidStudio在启动虚拟机的时候使用的不是他本身安装的Emulator,而使用了我们单独安装的sdk。解决办法:很简单,我们只需要将单独安装的sdk全部卸载就行了。1、打开我们单独安装的sdkmanager.2、选中所有安装过的包,
- 【力扣100】简要总结之哈希
却道海棠
力扣leetcode哈希算法golang
文章目录1、两数之和思路代码(Go)2、字母异位词分组(1)计数法思路实现代码(Go)(2)排序法思路实现代码(Go)(3)比较3、最长连续序列思路实现代码(Go)1、两数之和思路使用map,【键】:元素值【值】:下标遍历原值,找对应的值是否存在于map中若存在,返回两者下标若不存在,将当前值与下标存入map代码(Go)functwoSum(nums[]int,targetint)[]int{m:
- 【虚拟机】将电脑摄像头连接到虚拟机的Linux系统上
却道海棠
linux运维
应用场景:尝试在Linux虚拟机环境中使用OpenPose,这是一个开源的实时多人系统,用于身体、面部和手部关键点检测。为了实现OpenPose的实时拍摄视频功能,需要将电脑摄像头连接到虚拟机中的Linux系统上,以便捕捉并处理实时的视频流。问题描述进入openpose目录cdopenposeopenpose目录下的build文件夹通常是在进行编译和构建openpose项目时创建的./build/
- 【OpenPose常用命令】Linux系统中运行openpose的常用命令
却道海棠
linux运维服务器
文章目录OpenPose简介OpenPose中一些重要的参数及其功能[模型训练与优化][网络结构的作用]OpenPose使用的网络结构【*pose_pairs】【工作原理示例】【*置信度】【置信度的决定方式】【置信度的大小及其影响】【热图峰值】【在OpenPose中的应用】【示例】[默认设置和修改方式示例]1.`net_resolution`:网络分辨率2.`number_people_max`:
- 以有效安全的方式在正式生产环境中模拟真实流量进行全站点性能测试
wenyue1121
MegaEase技术方案算法后端压力测试架构
WhatisEaseLoadEaseLoadisaCloud-NativeperformancetesttoolwritteninGo.EaseLoadaimstosimulaterealtrafficforthewholesiteperformancetestintheproductionenvironmentinaneffectiveandsafeway.ProductprincipleCom
- HarmonyOS:基于axios实现文件的下载以及下载进度的监听
zzialx
harmonyos鸿蒙
#前言:项目开发中,避免不了实现文件下载功能,其他平台的下载都很成熟,网上的例子也比较多,我就自己项目中实现的下载功能做个总结,你可以参考我的写法实现功能。下载封装基于axios实现的下载功能。1.下载文件url:xxx2.文件操作封装类:FileUtil,是桃花源长老的文件封装库,第三方库,各种工具类很多,很方便3.下载方法:dowLoadFileCallBack4.下载封装:axiosClie
- Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
小白学大数据
pythonpythonchrome爬虫开发语言
在现代Web开发中,AJAX(AsynchronousJavaScriptandXML)技术被广泛应用于动态加载数据,使得网页能够在不刷新的情况下更新内容。然而,这也给传统爬虫带来了挑战——使用requests+BeautifulSoup只能获取初始HTML,而无法捕获AJAX返回的动态数据。解决方案:Selenium+ChromeDriver:模拟浏览器行为,等待AJAX数据加载完成后再抓取。直
- nginx源码安装及各模块(自我学习)(二)
马总123
linuxcentos7nginxlinuxcentos服务器运维
安装nginx及部分常用模块目录安装nginx配置文件模块安装目录索引nginx状态监控nginx基于ip的访问控制nginx基于用户的访问控制(auth模块)ningx的访问限制限制ip限制速率安装nginx(1).可以配置本地yum源[root@nginx~]#vim/etc/yum.repos.d/nginx.repo[nginx-stable]name=nginxstablerepobas
- 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