- Android笔记(六)(adb使用)
张豆豆94
【Android学习笔记】androidjava1024程序员节
1.添加环境变量此电脑(右击)→属性→高级系统设置→高级→环境变量→系统变量→Path(双击)→新建添加adb.exe路径2.adb常用指令adbdevices当前连接了几个设备以及每个连接的状态shell[]连接模拟器/设施执行Shell命令,执行完毕后退出远程Shell端ladbshellpmlistpackages列出手机装的所有app的包名查看内存查看磁盘内存和运行内存:adbshellf
- 19年开发搜集的资料与遇到的问题简单整理 4-6月
qq_40663451
Android笔记4-6月参考网站https://p.codekk.com/(开源代码、项目)https://blog.csdn.net/qq_42618969/article/details/81941242#开源框架框架帖子网址:https://blog.csdn.net/qq_35427437/article/details/80169160安卓十大开发框架1、AndBase框架项目地址:h
- Android笔记(六):JetPack Compose常见的UI组件
灯前目力虽非昔,犹课蝇头二万言。
android笔记uiandroidcompose
一、文本组件1.1TextColumn(modifier=Modifier.fillMaxSize().background(Color.Green).padding(10.dp)){Text(text=stringResource(id=R.string.title_content),modifier=Modifier.fillMaxWidth().border(BorderStroke(1.d
- Android笔记 编译kotlin文件
blossom_6694
一、下载编译包https://github.com/JetBrains/kotlin/releases/tag/v1.2.40TIM截图20180425120751.png然后解压。二、配置环境变量TIM截图20180425120911.png运行kotlinc-version成功,表示配置好了。三、编译TIM截图20180425121004.png
- Android笔记:OpenGL ES与EGL的关系与实例
MichaelX_Blog
AndroidOpenGLES笔记openglesegl视频处理
简介OpenGL是跨平台的、专业的图形编程接口,而接口的实现是由厂商来完成的。OpenGL使用这些接口绘制完成后,需要把数据渲染到屏幕上,就需要EGL来接手这部分工作。EGL:全称EmbeddedGraphicLibrary。是OpenGLES和底层Native平台视窗系统之间的接口,如下图所示。EGL介绍EGL接口中含有3个对象,如下图所示:其中:Display(EGLDisplay)是对实际显
- 【Android笔记】 RecyclerView
小康
布局子布局bar_bundle_item.xmlpackagecom.example.meng.mes;publicclassBarJudgeActivityextendsAppCompatActivity{//捆号信息listprivateListbundleCodeInfoModelList=newArrayList{privateListmBundleCodeInfoModel;static
- Android笔记(十九):JetPack DataStore 之 Preferences DataStore
灯前目力虽非昔,犹课蝇头二万言。
android笔记
JetpackDataStore是一种数据存储解决方案,主要适用于小型数据的处理。它可以通过协议缓冲区存储键值对或类型化对象。DataStore使用Kotlin协程和Flow以异步、一致的事务方式存储数据。DataStore有两种实现方式(1)PreferencesDataStore和(2)ProtoDataStore.PreferencesDataStore利用键值对实现对简单数据的读写存储。这
- Android笔记(二十三):Paging3分页加载库结合Compose的实现分层数据源访问
灯前目力虽非昔,犹课蝇头二万言。
android笔记jvm
在Android笔记(二十二):Paging3分页加载库结合Compose的实现网络单一数据源访问一文中,实现了单一数据源的访问。在实际运行中,往往希望不是单纯地访问网络数据,更希望将访问的网络数据保存到移动终端的SQLite数据库中,使得移动应用在离线的状态下也可以从数据库中获取数据进行访问。在本笔记中,将讨论多层次数据的访问,即结合网络资源+本地SQLite数据库中的数据的处理。在本笔记中,仍
- Android笔记(二十二):Paging3分页加载库结合Compose的实现网络单一数据源访问
灯前目力虽非昔,犹课蝇头二万言。
android笔记网络
Paging3组件是谷歌公司推出的分页加载库。个人认为Paging3库是非常强大,但是学习难点比较大的一个库。Paging3组件可用于加载和显示来自本地存储或网络中更大的数据集中的数据页面。此方法可让移动应用更高效地利用网络带宽和系统资源。在具体实现上,Paging3与前面的版本完全不同。一、依赖库的配置valpaging_version="3.2.0"implementation("androi
- Android笔记(二十一):Room组件实现Android应用的持久化处理
灯前目力虽非昔,犹课蝇头二万言。
android数据库androidJetPackRoom组件
一、Room组件概述Room是AndroidJetPack架构组件之一,是一个持久处理的库。Room提供了在SQLite数据库上提供抽象层,使之实现数据访问。(1)实体类(Entity):映射并封装了数据库对应的数据表中对应的结构化数据。实体定义了数据库中的数据表。实体类中的数据域与表的列一一对应。(2)数据访问对象(DataAccessObject,DAO):在DAO中定义了访问数据库的常见的操
- Android笔记——new Handler().postDelayed() 让intent延迟跳转
麦香菌
longdelayMillis=2000;//延迟时间参数//延迟2s跳转newHandler().postDelayed(newRunnable(){@Overridepublicvoidrun(){Intentintent=newIntent(MainActivity.this,Activity.class);startActivity(intent);}},delayMillis);来源:《
- Android笔记:SwipeRefreshLayout 自动刷新
程思扬
Android记录android笔记python经验分享android-studio
/***TheSwipeRefreshLayoutshouldbeusedwhenevertheusercanrefreshthe*contentsofaviewviaaverticalswipegesture.Theactivitythat*instantiatesthisviewshouldaddanOnRefreshListenertobenotified*whenevertheswipet
- Android笔记——自定义TabLayout之title与icon
麦香菌
自定义TabLayout自定义底端TabLayout总布局实现的是底端TabLayoutTabLayout自定义布局Selectorcoloricon因为三个图标的selector是一样的,所以就取了一个代码主要分以下两步实现,若想看怎么自定义,请直接跳到最后的getTabViewinitContent();initTab();String[]title={"个人","推荐","动态"};Cont
- Android笔记:Android开发应用框架汇总(MVVP框架介绍)
陈大宝
Androidandroidmvpxmlmvcui
先来说一下常见的Android框架模式:MVC、MVP、MVVM这三种框架中,我们耳熟能详的就是MVC和MVP了吧,接下来我们简单介绍一下:MVCView:XML布局文件。Model:实体模型(数据的获取、存储、数据状态变化)。Controllor:对应于Activity,处理数据、业务和UI。从上面这个结构来看,Android本身的设计还是符合MVC架构的,但是Android中纯粹作为View的
- Android笔记(十三):结合JetPack Compose和CameraX实现视频的录制和存储
灯前目力虽非昔,犹课蝇头二万言。
android笔记音视频视频录制CameraX
在“Android笔记(八):基于CameraX库结合Compose和传统视图组件PreviewView实现照相机画面预览和照相功能”,文中介绍了拍照功能的实现,在本文中将介绍结合JetPackCompose和CameraX实现视频的录制。新建一个项目在项目中做如下处理:一、增视频录制的相关依赖库在项目的模块对应的build.gradle.kt中增加如下的依赖库:增加CameraX相关库valca
- Android笔记(十五):JetPack Compose的附带效应(二)-produceState和derivedStateOf
灯前目力虽非昔,犹课蝇头二万言。
android笔记ComposeCompose的附带效应produceStatederivedStateOf
在本笔记中,将结合实例介绍produceState和derivedStateOf两个可组合函数。它们分别实现状态的转换。(1)produceState将非Compose状态转换虫Compose状态(2)derivedStateOf将多个状态转换成其他状态。一、produceStateproduceState可将非Compose状态转换为Compose状态,它会在没有定义数据源的情况下随时间生成值。
- Android笔记(十四):JetPack Compose中附带效应(一)
灯前目力虽非昔,犹课蝇头二万言。
android笔记Compose的附带效应副效应带异步处理的副效应
在Android应用中可以通过定义可组合函数来搭建应用界面。应用界面的更新往往是与可组合函数内部定义的状态值相关联的。当界面的状态值发生变更,会导致应用界面进行更新。在Android笔记(九):Compose组件的状态,对Compose组件的状态进行详细地介绍。理想状态下,可组合函数使用是定义范围内的状态值,通过内部状态的变更,修改可组合项构成的界面。但是,在有些特殊场景下,需要在可组合项中运行一
- Android笔记: Android后台接口教程二Android 客户端与服务端交互Android 前后台通信 post方式
陈大宝
Androidandroid数据库通信数据博客
今天再写一下post通信的方法,昨天的那篇是介绍了环境搭建还有最简单的get请求json数据,今天写了写登录功能,这两篇后台数据均是模拟的,没有数据库的交互,关于数据库交互后面再说。先看一下效果:用andorid写的一个小的demo结合接口完成了登录功能:登录失败登录成功下面来说代码部分:这篇就简单把核心功能说一下就好,有不懂的可以看昨天的那篇博客,传送地址http://blog.csdn.net
- Android笔记之Android Studio获取数字签名
猿小二
Android笔记
1.创建android可发布版本keybuild–>generatesignedapk–>createnew…没什么好说的,按照提示一步步完成最后在创建过程中设置的文件夹生成.jks文件2.使用的java的keytool命令获取数字证书内容,配置java环境变量后直接使用,未配置则使用keytool命令的全路径keytool-v-list-keystoreF:\xxx\xxx.jks
- Android笔记(十):结合Navigation组件实现Compose界面的导航
灯前目力虽非昔,犹课蝇头二万言。
android笔记navigation组件compose
在Android笔记(七)搭建AndroidJetPackCompose组件中Scaffold脚手架一文中通过定义一个导航的函数来实现不同界面的切换。如果没有传递任何参数,这样的导航处理也是可以接受的,处理方式也非常简单。但是,如果考虑到不同Compose界面的切换且传递参数,或者有更复杂地处理情况,就可以考虑使用导航组件Navigation来实现。一、导航组件的配置新建一个项目模块,在模块对应的
- Android笔记(十一):Compose中使用ViewModel
灯前目力虽非昔,犹课蝇头二万言。
android笔记composeViewModel
通过ViewModel组件用于保存视图中需要的数据。ViewModel主要目的是将与用户界面相关的数据模型和应用程序的逻辑与负责实际显示和管理用户界面以及与操作系统交互的代码分离开来,为UI界面管理数据。常见的管理方式主要有:LiveData和StateFlow两种形式来实现的。在下列将结合一个简单字符串加密和解密的应用来说明ViewModel管理数据的过程。一、ViewModel的配置在项目模块
- Android笔记(十二):结合Compose实现Handler机制处理多线程的通信
灯前目力虽非昔,犹课蝇头二万言。
android笔记composeHandler机制
在Android应用中常常结合多线程处理多个任务。不可避免,多个线程之间需要数据通信。Hanlder消息处理机制是异步处理的方式之一。通过Handler机制可以实现在不同的线程之间的通信。一、主线程和工作线程1.主线程一个Android的移动应用启动时会单独启动一个进程。这个进程中可以存在多个线程。但是这么多线程中有且仅有一个主线程,即UI线程。Android应用程序运行时创建UI主线程,它主要是
- Android笔记--WebSocket
ljt2724960661
Android基础android笔记websocket网络协议
这一节了解一下WebSocket的用法,WebSocket是一种基于TCP的全双工通信协议,通过它可以在客户端和服务器之间建立一个持久的连接,实现实时的双向数据传输。它的主要功能特点是允许服务器主动向客户端推送信息,同时也允许客户端主动向服务器发送信息。用法如下:app下的gradle:implementation"org.java-websocket:Java-WebSocket:1.5.3"服
- Android笔记--App缓存
ljt2724960661
android笔记缓存
获取应用缓存方式如下:importandroid.app.usage.UsageStats;importandroid.app.usage.UsageStatsManager;importandroid.content.Context;importandroid.content.pm.PackageManager;importandroid.os.Process;importandroid.os.
- 查漏补缺!阿里内部Android笔记火爆IT圈,已拿offer入职
左夜天
程序员android
一些感悟穷人的一次失败,为了还债可能一辈子都翻不了身,为还债一辈子送外卖。你将不再会有精力去思考和投机。穷人的失败可能断送了他所有暴富的机遇和时间,让不确定的人生瞬间确定下来,让充满无限可能的人生可能性逐渐缩小。这是赤裸裸的现实。只有当你有足够多的资本时,允许你失误的次数才会逐渐增加。拥有足够多的资本,哪怕尝试个三番五次失败了,也不会伤你元气。所以从这个角度讲,人的机遇是随着财富的增加而增加的。这
- Android笔记(五):结合Compose组件利用ActivityResultLauncher解决多活动跳转返回数据
灯前目力虽非昔,犹课蝇头二万言。
android笔记androidcompose
在本人博客中Android活动返回不在再支持startActivityForResult()后的处理方法已经记录采用ActivityResultLauncher来处理多活动的返回并传回数据的方式。但是采用的是布局xml+viewBinding技术。目前,谷歌官方推荐使用JetPackCompose组件来定义界面。在本文中,将介绍在JetPackCompose定义的界面中ActivityResult
- Android笔记(七)Android JetPack Compose组件搭建Scaffold脚手架
灯前目力虽非昔,犹课蝇头二万言。
androidjetpackandroidScaffoldandroidcompose
在去年2022年曾发布一篇关于脚手架的文章:“AndroidJetPackCompose组件中Scaffold的应用”。但是Android的版本从12变更到13及以上版本,导致一些细节的实现存在不同。在本文中,将从头开始介绍整个脚手架的搭建过程。一、新建项目模块在AndroidStudio(版本是Graffie)中新建模块,选择“EmptyActivity",如图1所示。图1二、定义脚手架Scaf
- Android笔记(九):Compose组件的状态(一)
灯前目力虽非昔,犹课蝇头二万言。
android笔记Compose界面状态状态提升状态的保存和恢复
在使用Compose定义UI界面时,可以发现界面的变换往往与Compose组件内部的状态相关,当状态值发生变化时,Compose构成的可组合的界面也会刷新发生相应的变化。将在本笔记中将对可组合项的状态的定义、状态提升、状态丢失和状态的保存进行简单介绍。。一、什么是可组合项的状态Compose采用了单向数据流设计思想。定义界面的可组合函数本身没有任何返回值,也没有像类一样封装内部的私有状态。因此通过
- Android笔记(八):基于CameraX库结合Compose和传统视图组件PreviewView实现照相机画面预览和照相功能
灯前目力虽非昔,犹课蝇头二万言。
android笔记CameraXComposePreviewView
CameraX是JetPack库之一,通过CameraX可以向应用增加相机的功能。在下列内容中,将介绍一个结合CameraX实现一个简单的拍照应用。本应用必须采用AndroidSDK34。并通过该简单示例,了解传统View层次组件的UI组件如何与Compose组件结合实现移动应用界面的定制。首先,新建一个项目,选择EmptyActivity。一、增加依赖使用CameraX在新建项目的模块build
- Android重要知识文档记录
麦田里的守望者-Jiang
Androidpnandroid技术文档
1.Android笔记:常用的开发资源和技术博客2.面向贡献者的代码样式指南:谷歌官方代码规范以下代码样式都是应严格遵守的规则(而非指南或建议)。如果所贡献的Android代码没有遵守以下规则,我们通常不会接受此类代码。我们知道,并非所有的现有代码都遵守了这些规则,但我们希望所有新代码都能遵守这些规则。3.支持多种屏幕Android可在各种具有不同屏幕尺寸和密度的设备上运行。对于应用,Androi
- 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