- 移动端iOS网页收起键盘底部有空白、软键盘弹起遮挡输入框等问题
漂移的电子
iOS/AndroidiOS软键盘移动端
1、移动端iOS网页收起键盘底部有空白:失焦的时候把窗口滚动位置设置到(0,0)就行了2、iOShtml5移动端软键盘弹起遮挡输入框:2.1、Element.scrollIntoViewIfNeeded()方法用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域。constinput=document.getElementsByTagName('input')[0];setTimeou
- xcode请求日志在哪里看_iOS如何实时查看App运行日志
刘克遵
xcode请求日志在哪里看
前言可能大数人看到这个标题觉得DEBUG时在Xcode里就能看到App运行时的打印在控制台里的日志,这还需要专门写篇文章介绍下吗?其实不然,有些场景下我们还是需要实时查看App运行时的日志的,比如测试人员拿着测试机发现问题了过来找你,这时候要看运行时日志,又不能重新DEBUG安装版本,怎么办?再比如,收到并点击推送的通知后启动App,这时候要查看我们打印的日志,怎么办?还有,弄过VoIP推送同学的
- android 仿ios悬浮窗,iOS仿微信悬浮窗
新littleant
android仿ios悬浮窗
仿微信悬浮窗,可直接协议加入悬浮窗或者直接调用方法注册,可自定义转场动画演示myFloat.gif用法1在Appdelegate中注册传入对应控制器的className//只带控制器的className[[WMZFloatManageshareInstance]registerControllers:@[@"ViewController"]];//带其他配置(标题和图片)[[WMZFloatMan
- 《C++ Primer Plus》学习笔记 2.1.3 C++预处理器和iostream文件
weixin_33859844
c/c++
程序清单2-1myfirst.cpp//myfirst.cpp--displaysamessage#include//aPREPROCESSORdirectiveintmain()//functionheader{//startoffunctionbodyusingnamespacestd;//makedefinitionsvisiblecoutusingnamespacestd;可使用其他代码替
- 记录微信小程序中的遇到的问题,ios不支持gif,ios下语音播放
kay三石
工具的使用微信小程序ios
最近是在做一些微信小程序的工作,在后台中的代码没有什么问题的时候然而在小程序中我去一次次的踩了很多的坑,就比如这gif图片不支持在ios端播放,ios中的语音的播放的问题{{isactive==item_id?audiotime:''}}-->{{note.voiceTime!=null?note.voiceTime:'0'}}s-->{{domain.abbreviation}}:{{domai
- C和C++的区别大赏
csuzhucong
待更新c语言c++java
背景:我在大学学过C++,没有学C。到了公司,直接用C从事开发,虽然感觉C++应该都包含C语言的东西了,不过慢慢的还是发现了一些差异,所以,开启本系列博客,记录C和C++的差异。一,语法差异1,C语言独有语法C++的语法几乎兼容了所有C语言的语法,唯一的例外就是C++没有变长数组。参考C和C++的区别2,C++独有语法(1)面向对象参考如下的系列博客:面向对象程序设计(1)this指针、构造函数、
- C++预处理器和iostream文件
liluzhiwhs
C++面对对象编程c++开发语言
C++预处理器是一个特殊的程序,它可以在编译代码之前对源代码进行处理。预处理器的作用是将源代码中的所有预处理指令进行处理,例如#include和#define等指令。其中#include指令是用来包含其他文件的指令,而iostream文件则是C++标准库中的文件,它包含了用于输入和输出的标准流对象,例如cin、cout和cerr等。在C++中,我们通常使用#include指令来包含iostream
- H5 ios软键盘弹起遮挡输入框
陈陈小白
ios前端html5
在使用Vue3和TypeScript开发H5页面时,输入框固定在底部,遇到iOS软键盘弹起遮挡输入框的问题。以下为几种解决方案:1.使用viewport元素调整页面视图iOS在弹出软键盘时,可能会导致页面内容被遮挡。通过调整meta标签中的viewport来确保页面可以适应不同的屏幕尺寸和键盘显示。maximum-scale=1.0可以防止页面缩放。user-scalable=no禁用缩放功能。结
- 深入理解 Promise 和 Async/Await,并结合 Axios 实践
黑风风
前端Vue学习前端javascript开发语言
深入理解Promise和Async/Await,并结合Axios实践JavaScript是一门单线程的语言,这意味着它无法同时处理多个任务。然而,在实际开发中,我们经常需要处理异步操作,比如网络请求、定时器、文件读取等。为了解决这些异步操作带来的复杂性,JavaScript提供了多种方式,从最早的回调函数到现代的Promise和Async/Await,逐步让异步代码更加优雅和易于维护。本文将围绕P
- 使用嗅探大师抓取和分析苹果手机IOS系统网络数据包
鹅肝手握高V五色
智能手机ios网络
使用嗅探大师抓取IOS网络数据包嗅探大师抓取IOS网络数据不需要越狱、设置代理,无论软件如何设置保护,都能够正常抓包。iOS数据流包括iOS设备的所有网络请求,例如HTTPS、Socket通信、TCP、UDP等,还包括各种DNS协议等数据包。嗅探大师支持字符串,hex,二进制等多种格式查看数据,可以分析其网络请求链路,也可以保存为pcap文件格式供其他软件进一步分析使用。准备iOS设备连接设备:通
- iOS 将GIF图分享至微信
一粒沙-
前端ios
dispatch_async(dispatch_get_global_queue(0,0),^{NSData*emoticonData=[NSDatadataWithContentsOfURL:[NSURLURLWithString:self.model.videoVo.url]];dispatch_async(dispatch_get_main_queue(),^{WXMediaMessage*
- 面试问题(一)
重岳
面试面试职场和发展
所有东西都不是一蹴而就的,我们往往要不断向别人学习,才能更好走出自己的道路。我大概想要整理一个有关面试遇到的问题的系列,这些问题往往是真实提问过的,所以后续问题可能出现重复的情况,我也不做删除,毕竟出现越多,越说明面试官重视。一、Java的特点在听到这个问题的时候,我第一时间想到的就是面向对象,但是对其他的印象就不深了,现在系统整理一下。平台无关性:Java的“编写一次,运行无处不在”。Java编
- uni-app实现用接口编写新闻
2021级计算机应用技术1班-童秀萍
uni-app前端
一、uni-app是一个使用vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。二、uni-app官网上(官网)有各种可以学习组件包括内置组件、常用的有:视图容器组件里的,view,scroll-view,swiper等,还有表单组件,如button、f
- iOS VIPER架构实践(一):从MVC到MVVM到VIPER
黑超熊猫zuik
iOSiOSVIPER架构
简介最近半年在写app的时候,研究了一下各种iOS代码架构,最后选择了VIPER进行实践,在此对实践中遇到的各种设计问题做一番总结,并分享造出的轮子。VIPER演示demo:ZIKViper,模块路由工具地址:ZIKRouter。对代码风格和架构有兴趣的同学,肯定都已经在很多地方见过各种架构的介绍。MVC、MVP、MVVM、VIPER,细分程度逐渐上升。这些架构设计大部分都是来自MVC,只是各自用
- 戴尔服务器bios修改风扇,BIOS风扇调整
已退乎
戴尔服务器bios修改风扇
BIOS风扇调整的选项:第一种情况:HardwareHealthConfigurationCPUFanModeSetting(CPU风扇设置)可选1:FullOnmode2:PWMManuallymode3:Automaticmode选择1,CPU风扇将全速运转,风扇声音最大选择2,将有CPUFanPWMControl项,此项可更改数值0-127,对应风扇转速的128个等级,数值越大,风扇转速越高
- iOS Viper架构实战教程:基于caojunhua/iOS_Viper
郑眉允Well-Born
iOSViper架构实战教程:基于caojunhua/iOS_ViperiOS_Viper项目地址:https://gitcode.com/gh_mirrors/io/iOS_Viper本教程将引导您深入了解并实践一个典型的iOSViper架构项目,该项目托管在GitHub,旨在教授您如何理解和运用Viper模式在您的iOS开发中。1.目录结构及介绍iOS_Viper项目采用了精心设计的目录结构来
- iOS VIPER 架构:构建高效、可维护的iOS应用
牧宁李
iOSVIPER架构:构建高效、可维护的iOS应用ios-viper-xcode-templatesUsedforgeneratingtemplatefilesfortheVIPERarchitecture,whichsolvesthecommonMassiveViewControllerissuesiniOSapps.项目地址:https://gitcode.com/gh_mirrors/io/
- iOS UICollectionViewCell 点击事件自动化埋点
刘小哈哈哈
ios自动化cocoa
iOS中经常要进行埋点,我们这里支持UICollectionViewCell.进行自动化埋点,思路:通过hookUICollectionViewCell的setSelected:方法,则新的方法中执行埋点逻辑,并调用原来的方法直接上代码@implementationUICollectionViewCell(LB)+(void)load{instanceMethodExchangeImplement
- adb的安装
依旧很淡定
adbadb
1、概念(1)adb(androiddebugbridge)安卓调试桥,用于完成电脑和手机之间的通信控制。(2)xcode来完成对于ios设备的操控,前提是有个mac电脑。2、adb的安装(1)adb是androidSDK其中自带的工具,用于完成电脑和手机之间的通信控制。(2)下载adb(3)解压之后,将sdk的platform-tools配置到环境变量path里。(4)adbversion用于查
- python 统计库_《统计学习方法》 Python 库
weixin_39756540
python统计库
新建GitHub仓库仓库名为slmethod,统计学习方法(StatisticalLearningMethod)的简写Public公开仓库勾选InitializethisrepositorywithaREADME.gitignore选择Python添加MITLicensenew下载代码到本地,使用ssh协议。gitclonegit@github.com:iOSDevLog/slmethod.git
- iOS 将PCM格式转换为WAV格式 播放wav音频或者直接播放pcm文件
薇谙
iOSiOSpcm文件转waviOS播放pcm文件iOS播放pcmwav音频iOS播放pcm数据流
记录两种播放pcm音频方法单例.h文件#importNS_ASSUME_NONNULL_BEGIN@interfaceWYAudioPlayer:NSObject+(instancetype)sharedInstance;-(void)playMusicWithPath:(NSURL*)fileURL;//结束播放-(void)stopPlay;//播放后台传来的声音流-(void)playWit
- 10个常见的Java面试问题及其答案
m0_74823983
面试学习路线阿里巴巴java面试开发语言
**问题:**Java的主要特性是什么?**答案:**Java的主要特性包括面向对象、平台无关、自动内存管理、安全性、多线程支持、丰富的API和强大的社区支持。**问题:**什么是Java的垃圾回收机制?**答案:**Java的垃圾回收机制是自动管理不再使用的对象的内存的过程。它帮助程序员避免内存泄漏和手动管理内存的复杂性。**问题:**能否解释一下Java中的访问修饰符?**答案:**Java中
- 面向对象进阶(下)(JAVA笔记第二十五期)
不会聊天真君647
java笔记
p.s.这是萌新自己自学总结的笔记,如果想学习得更透彻的话还是请去看大佬的讲解目录抽象方法和抽象类抽象方法定义格式抽象类定义格式抽象方法和抽象类注意事项接口接口的定义接口中成员变量的特点接口中没有构造方法接口中成员方法的特点在接口中定义具有方法体的方法在接口中新增默认方法(解决接口升级的问题)在接口中新增静态方法(不能被重写)在接口中新增私有方法接口与类之间的关系类与类之间的关系类与接口之间的关系
- 混合开发框架的对比,Flutter更胜一筹?
2401_84123357
程序员flutter
2、同一份代码开发iOS和Android3、用更少的代码做更多的事情4、轻松迭代5、在应用程序运行时更改代码并重新加载(通过热重载)6、修复崩溃并继续从应用程序停止的地方进行调试7、创建美观,高度定制的用户体验9、受益于使用Flutter框架提供的丰富的MaterialDesign和Cupertino(iOS风格)的widget10、实现定制、美观、品牌驱动的设计,而不受原生控件的限制跨平台技术简
- iOS for...in 循环
豪冷啊
iOSios
0x00循环遍历一输出结果是什么?NSMutableArray*marr=@[@1,@2,@3].mutableCopy;for(NSNumber*numberinmarr){NSLog(@"%@",number);marr=@[@4,@5,@6].mutableCopy;}NSLog(@"%@",marr);0x01循环遍历二输出结果是什么?NSMutableArray*marr=@[@1,@2
- 神策分析 iOS SDK 全埋点解析之元素点击与页面浏览
神策技术社区
大数据前端后端
一、前言本文是继《神策分析iOSSDK全埋点解析之启动与退出》之后,全埋点解析系列博客的第二篇,主要介绍元素点击与页面浏览的全埋点采集方案。在介绍具体的方案之前,我们需要先了解下相关的背景知识。二、背景知识2.1Target-ActionTarget-Action,也叫“目标-动作”模式,即当某个事件发生的时候,调用特定对象的特定方法。“特定对象”就是Target,“特定方法”就是Action。例
- macOS Sequoia 15.3 M3 Pro芯片 iOS 开发环境配置记录(最新)
MissYasiky
开发环境配置macos
进行如下工作之前首先确保终端已,在ClashX选择“复制终端代理命令”,在终端进行粘附并执行。安装homebrewHomebrew是Mac平台的一个包管理工具,提供了许多Mac下没有的Linux工具等。/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"设置环境变量ec
- ios swift摄像头画中画技术的探索与突破
taopi2024
iOSiosswift开发语言AI编程
继前一篇:iosswift画中画技术尝试_swift画中画功能开发-CSDN博客甲方催促我继续实现该功能,并邮寄了一款iPhone12手机。1、重蹈滑铁卢mac连接iPhone12,直接跑xxx程序,结果现象和iphone8一样。打印输出:cameranotsuppmultitask。app从前台退出时,自动开启画中画窗口,但是视频图像马上就停止了。换了新设备,原本以为就可以直接支持了,看来还是没
- 有货iOS数据非侵入式自动采集探索实践
糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖糖
随着有货APP的不断迭代开发,数据和业务部门对于客户端用户行为数据的需求越来越多;为了更好的监控APP使用的状况,客户端团队对于APP自身的运行的数据需求也愈发迫切。迫切地需要一套客户端数据采集的工具,自动、全量采集用户行为数据,满足各个部门对于数据的需求。\\有货APP团队为此开发一套数据采集的SDK,主要的功能如下:\\页面访问流。用户在使用APP期间浏览了哪些页面。\\t浏览数据曝光。用户在
- iOS UIGestureRecgonizer自动化点击埋点
刘小哈哈哈
ios自动化cocoa
项目中很多情况下视图的点击点是通过UITapGestureRecognizer来实现的,这个时候我们就也是可以支持自动化埋点的思路如下:通过运行时hookUITapgestureRecognizer的addTarget:action:方法和initWithTarget:action:方法,在交换的方法中添加埋点的响应方法,并保留原始的响应方法,在埋点响应方法中执行埋点方法,然后调用原来的响应直接上
- 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