- Hybrid 混合竞价策略如何给开发者带来广告收益的提升?
AdSet聚合广告平台
本文将详解广告变现中常见的几种流量分发机制——Waterfall、Hybrid的工作原理及优劣,帮助开发者们从源头理解竞价,最大化广告收益!AdSet官网|聚合SDK广告变现平台-上海神蓍信息科技有限公司一、Waterfall(瀑布流)Waterfall顾名思义可理解为瀑布流,是一种常见的流量分发机制。即按照广告主CPM从高到低依次发起广告请求,广告未填充时,请求下一个广告源,这种请求策略被统称W
- css实现瀑布流布局
茶卡盐佑星_
css前端
瀑布流布局也可以通过纯CSS来实现,使用CSS的column属性可以实现多列布局。下面是一个使用纯CSS实现瀑布流布局的示例:瀑布流布局.waterfall{column-count:4;column-gap:10px;}.item{break-inside:avoid-column;margin-bottom:10px;}.itemimg{width:100%;display:block;}在这
- Vue瀑布流布局
薛文诚
vue.jscssjavascript
虽然会写js的瀑布流布局,但是在Vue框架下使用,还是要稍作修改,毕竟要减少DOM操作。原理依旧是绝对定位+left+top图片和文字还是有区别的,那就是渲染时间,所以我使用了onload,在图片渲染之后再进行瀑布流的布局Vue瀑布式布局body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,
- 瀑布流布局 vue
爱猪头的程序猿
vue.js前端javascript
一种是使用纯JavaScript来实现,另一种是使用第三方库Masonry.js方案一:使用纯JavaScript实现这种方法适用于想要完全控制瀑布流布局的情况。步骤1:HTML结构首先,在HTML中定义一个容器来存放瀑布流中的元素。步骤2:Vue组件接下来,创建一个Vue组件来处理瀑布流逻辑。exportdefault{data(){return{items:[//示例数据{src:'image
- DZ主题模板 Discuz迪恩淘宝客购物风格商业版模板
818源码资源站
源码下载00818.cn源码下载818资源站php前端
Discuz淘宝客网站模板,迪恩淘宝客购物风格商业版模板。版本支持:discuzx3.0版本,discuzx3.1版本,discuzx3.2版本。包括网站首页,论坛首页,论坛列表页,论坛内容页,论坛瀑布流,频道列表页,频道内容页(支持多个)。模板论坛首页,列表页,内容页,以及文章页面数据采用DIY数据读取,方便新手老手运营以及后期维护,时尚大气简洁。模板添加了不少处动画效果,增加用户体验和粘度。模
- v-masonry踩坑 数据不重绘问题
黎明寄波澜*
javascript前端vue.js
在一堆数据中数据发生改变但是页面没有发生重绘(nextTick)描述场景我的小组里边有很多数据但是当我退出小组回来之后瀑布流出现空白情况请看图通过查看文档发现$redrawVueMasonry可以实现重绘于是各种调用不生效,最后发现把他写在nextTick里边才生效有当数据发生改变之后!!!请求完毕之后再去调用方法才有用所以从watch里边进行监听getCurrentInstance是vue里边的
- Vue jquery.masonry 滑动自动加载 瀑布流
fanruitian
前端vue瀑布流滚动加载masonryajax
虽然masonry.pkgd.min.js最新版本是4.2.0,但是本文章中采用的是V2.1.04,这里面已经集成了imagesloaded,所以不需要引入2次div代码为{{x.title}}</
- feed流和瀑布流_产品PM必备的Feed流和瀑布流应用场景
安璃
feed流和瀑布流
什么是Feed流,顾名思义,Feed是喂养的意思,你想吃什么,就喂给你什么,典型的例子就是微博、知乎的首页,以及各个聚合类资讯app的订阅号。这些信息的共同点就是给你喂你想看的,而不是将所有的东西全部给你,不管你需要还是不需要,感兴趣还是感兴趣。那么瀑布流呢,这个就更形象了,就像瀑布一样,一直源源不断地给你东西,才不管你是不是需要,才不管你是不是饱了。典型的例子是简书app的首页,传统类新闻app
- vue3实现瀑布流布局组件
guizi0809
vue3vue.js前端javascript
先看效果图直接上代码utils.js//用于模拟接口请求exportconstgetRemoteData=(data='获取数据',time=2000)=>{returnnewPromise((resolve)=>{setTimeout(()=>{console.log(`模拟获取接口数据`,data)resolve(data)},time)})}//获取数组随机项exportconstgetRa
- APP开发者对接穿山甲广告联盟,有哪些特点?收益如何?
AdSet聚合广告平台
穿山甲平台作为巨量引擎旗下的第三方广告变现平台,在行业内始终处于领先地位,是不少开发者首选的对接平台。AdSet官网|聚合SDK广告变现平台-上海神蓍信息科技有限公司通过穿山甲广告GroMore的Bidding竞价能力,不断提升自身的变现效率,新手可直接上手,避免繁琐调优流程,并且针对瀑布流模式进行优化。#广告联盟#一些中小型APP或者流量主在商业化时很难接触到高质量的品牌广告主,吸引广告主进行投
- 开发者广告变现对接广告平台,广告瀑布流是什么?
AdSet聚合广告平台
开发者接入多家的广告源后问题来了,流量该怎么分配呢?同一个广告请求(adrequest)到底是该发给Facebook,还是google还是其他人呢?这时候就涉及到调解平台的算法逻辑了。通常,根据各广告平台的eCPM历史数据排个排序,这个排序就是——Waterfall。AdSet官网|聚合SDK广告变现平台-上海神蓍信息科技有限公司通常,开发者可根据平台的历史表现,使用估计的eCPM对广告网络进行排
- 大前端完整学习路线(详解)
强哥科技兴
第一阶段:HTML+CSS:HTML进阶、CSS进阶、div+css布局、HTML+css整站开发、JavaScript基础:Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。JS基本特效:常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。JS高级特征:正则表达式、排序算
- 妞妞(1)
无欲雁舒
狂风大作,电闪雷鸣,大雨点箭一般斜射向地上万物,风赶着云,雷震着雨,雨敲击着万物。我的毛皮很快就湿了,雨水带着一股阴冷直浸入我的身体里,冻得我瑟瑟发抖,我逃窜着,但是找半天也没找到避雨的地方,躲在树下,很快雨水连同树上的水一齐随风落下,我的身体更湿了,我夹着尾巴逃到了一个屋檐下,很快屋檐上的积水像瀑布流了下来,又使我无处可藏,我继续夹着尾巴寻找一个安身之处,这时一个树枝被刮断了,直直压在我的身子上
- 画画,武侠小说,心流,与空间想象能力
林青澜
图片发自App忘了什么时候开始,我喜欢上画画,先是临摹简笔画,后来喜欢上画仕女图,五六岁的我,常常一坐就是几个小时,想象这个女子的一颦一笑,一举一动,自己也去模仿脑海情节里的举动,身体,动作,一幅画画完,女子的千般风情已经在脑海勾勒出来。七八岁时跟比我大的邻居孩子一起玩,跟着他们开始迷上武侠小说,在武侠小说里,我最痴迷的是它的空间感,无尽的山川河岳,广阔天地,或瀑布流水,宛如仙境,总行侠仗义的侠士
- 小程序瀑布流组件:支持翻页与图片懒加载
老人羽海
电商小程序中,用到瀑布流的地方非常多,每次都写一个瀑布流,重复一次逻辑,作为程序员,肯定是非常不愿意的。瀑布流的形式都是大同小异,不同的是瀑布流中每个模块的内容,随业务而变化。所以,我们把瀑布流框架抽象成组件,瀑布流的内容由业务确定。这样即可实现组件化和自定义的最大平衡,微信小程序组件源码。首先,我们来看一下瀑布流组件在实际项目中的实际效果。1实际效果瀑布流组件实际效果如下图所示,左侧为用户交互效
- APP用户流量分组管理,挖掘更大广告变现收益
AdSet聚合广告平台
流量分组是指开发者根据一定的规则对用户群体进行分组,包括用户属性、用户行为、地理位置等,同时支持开发者自定义属性和规则。开发者可对不同分组配置不同的瀑布流,实现精细化运营。流量分组通常在2种情况下使用:①在APP稳定运营前,通过流量分组功能,对不同的用户进行分组测试,找到比较适配自身用户人群的广告变现策略。②在APP稳定运营后,针对用户画像调整或者产品变化(如新版本,新渠道等),做广告精细化调优使
- ListView与RecyclerView的区别
盐海里的鱼
布局管理方式:ListView:布局自己管理只能竖向滑动**RecyclerView:**布局有LayoutManager管理,LinearLayoutManager(线性),GridLayoutManager(网格)StaggeredGridLayoutManager(瀑布流)Adapter的使用:ListView:有默认的AdapterArrayAdapter、CursorAdapter和Si
- 微信小程序:背包商城(一) 首页 仿京东APP 非对称瀑布流和无限加载列表的实现
跟着Damon写代码
实现目标1.完成类京东商城的推荐列表,实现类似的非对称双列瀑布流效果2.下拉列表到底部后可以加载新的商品3.点击商品卡片右上角后,全局遮罩层且显示减少推荐对话框需要实现效果如下:非对称瀑布流列表实现效果实现瀑布流.jpg用到的额外拓展UI:Vant-Weapp具体实现思路非对称瀑布流双列列表实现思路主要使用absolute定位,根据数据列表元素的高度,计算每个元素绝对定位的top和left以及容器
- 推荐一个支持 PC 和移动端,支持 animate 的所有动画效果,支持图片懒加载的vue3 瀑布流插件
给钱,谢谢!
vue.js前端javascript
直接上链接https://www.npmjs.com/package/vue-waterfall-plugin-next
- JSON数据采集(采集JSON格式数据)
datascome
json经验分享爬虫大数据http
如果想要采集JSON格式数据的网页怎么办?Json数据格式的页面,常出现于以下场景:1.滚动加载页面采集(瀑布流加载采集);2.网址没有变化的页面采集;3.采集点击加载更多的页面;这些页面我们都可以尝试使用简数采集器来实现JSON数据采集。1.获取JSON数据页面网址使用浏览器的开发者工具尝试获取返回Json数据的网址,但注意并不是所有网站都可以获取到的。(以chrome浏览器为例)在浏览器访问要
- RecyclerView详解
秃秃秃秃秃秃秃头
Android学习android移动开发javaandroidstudio
RecyclerView详解1.简介2.效果展示3.使用4.设置适配器5.设置ListView、GridView和瀑布流效果6.设置分割线、自定义设置item的点击事件7.增加和删除数据并添加动画8.完整代码1.简介RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式。它被作为ListView和GridView控件的继承者,在support-v7中提供支持。Re
- 小程序自定义导航栏仿原生固定在顶部
搁浅的椰子
一、自定义导航栏组件导航栏组件动态获取导航栏高度二、设置导航栏固定样式:此时,页面主体内容头部会有一部分被导航栏遮住在底下,这是因为position定位不占瀑布流空间,为解决这个问题,可以给自定义导航栏加空一个高度等于导航栏的view,以此给导航栏在页面中占位,且高度等于导航栏高度topHeight=wx.db.statusBarHeight+wx.db.navBarHeight加空一个view完
- 今日份之瀑布流布局
意蜀
1.瀑布流的实现原理:通过计算出一排能够容纳几列元素,然后找到各列之中所有元素高度之和的最小者,并将新的元素添加到该列上,然后继续寻找所有列的各元素之和的最小者,继续添加至该列上,如此循环下去,直至所有元素均能够按要求排列为止2.效果图瀑布流.png3.基本思想使用flex布局,将container划分为等分的4列。对所有的img设置一个宽度100%,即就是保证这些图的宽度刚好充满整个列。为了美观
- 微信小程序实现吸顶、网格、瀑布流布局
aiguangyuan
MiniProgram前端开发微信小程序
微信小程序开发通常是在webview模式下编写,但是对小程序的渲染性能有一定的追求,就需要使用Skyline模式进行渲染,同时在这种模式下有也有一些特殊的组件,可以轻松的实现想要的效果,本文将介绍在Skyline模式下如何实现吸顶、网格、瀑布流布局。以下是具体的实现:1.修改渲染模式1.在app.json中添加如下配置:"renderer":"skyline",//声明渲染模式"lazyCodeL
- vue实现瀑布流
天使的同类
瀑布流vue.jshtmlvue.js前端
每个色块宽度一致,高度自适应VerticalLine.item-move{transition:all.5scubic-bezier(.55,0,.1,1);-webkit-transition:all.5scubic-bezier(.55,0,.1,1);}varapp=newVue({el:'#app',components:{'waterfall':Waterfall.waterfall,'
- 分享一个关于 Vue3+Pinia+Koa+Three.js 全栈电商的项目总结
前端达人
javascript开发语言ecmascript前端
前言前几天一个朋友去义乌旅游,带回来很多小商品,就是一整个物美价廉,但是为什么线下购物和网购有的时候差别这么大(网购经常要退换货啊),为此我萌生了一个想法,3D是不是就可以实现在线看商品的细节了,退换货这么麻烦是不是可以省省了一、项目概述这个项目是对义务购app的一个模仿,相对于其官方app,我新增的亮点如下:商品排列布局使用瀑布流布局实现3D看商品功能实现3D看义乌商贸城同时,基础功能如下:使用
- uniapp瀑布流实现
***&&***
uni-app前端javascript
1.图片瀑布流:不依赖任何插件,复制即可见效:exportdefault{data(){return{imageList:["https://img0.baidu.com/it/u=1345303087,1528317222&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=1082","https://img2.baidu.com/it/u=1893470775,41
- app流量变现流量分发策略——waterfall技术
AdSet聚合广告平台
waterfall,中文翻译为“瀑布流”,字面意思理解就是“从上往下流”,但“从上到下”这四个字该如何理解?在广告行业中,waterfall指的是“在无法实时评估每次流量的价值时,基于历史eCPM数据,从上到下请求DSP,分发流量”。这就是所说的广告串行请求。在进行广告变现时,若只集成一家广告平台,往往无法达到100%的广告填充,而且eCPM也不太稳定,因此一般建议集成5-8家广告平台,通过广告分
- Android 基础技术——RecyclerView
我不勤奋v
Android基础技术androidandroid基础
笔者希望做一个系列,整理Android基础技术,本章是关于RecyclerViewRecyclerView对比ListView的优点Adapter面向的是ViewHolder不是View,可以省略convertView.setTag和getTag这些步骤可以设置布局管理器:竖向、横向、瀑布流方式可以设置Item的间隔样式Recycleview去掉了一些api,比如setEmptyview,onIt
- Flutter 瀑布流效果
peroLuo
1.使用的包工具flutter_staggered_grid_view:cached_network_image:^1.1.12.示例代碼import'package:flutter/material.dart';import'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';import'package:c
- 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