- 【Linux】Makefile项目管理工具(第八篇)
爱编程的小猴
Linuxlinux运维服务器
目录makefile1.0makefile2.0makefile3.0Makefile可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了哪些文件需要编译,哪些文件不需要编译,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重建等等。编译整个工程需要涉及到的,在Makefile中都可以进行描述。换句话说,Makefile可以使得我们的项目工程的编译变得自动化,不
- 连接Redis报错:connect timed out
不会起名啊
redis
连接Redis报错:connecttimedout1、将redis.conf配置文件中的bind127.0.0.1注释掉,此处限制可以链接redis的ip2、如果上一个方法不行,就应该是Linux的防火墙的问题了我这里用的是CentOS7,在CentOS7中默认使用firewall做为防火墙,下面是启动&关闭防火墙的命令://启动firewallsystemctlstartfirewalld.se
- 【Linux+Docker】修改Docker容器中的hosts文件
iku!!
Linuxlinuxdocker运维
1、进入容器bashdockerexec-itbash2、安装编辑器2.1、安装vimapt-getupdateapt-getinstallvim2.2、安装nanoapt-getinstallnano3、编辑hosts文件3.1、使用vim编辑vi/etc/hosts3.2、使用nano编辑nano/etc/hosts4、安装pingapt-getinstalliputils-ping
- 【Linux命令】进程、端口查询命令
iku!!
Linuxlinux服务器运维
1、根据进程ID查询占用的端口号netstat-nlp|grep[进程ID]2、根据端口号查询占用它的进程IDlsof-i:[端口号]或者netstat-nlp|grep[端口号]
- 火狐linux ubuntu16.04,在Ubuntu16.04系统上更新FireFox浏览器(即火狐浏览器)到最新版本...
憋人的故事
火狐linuxubuntu16.04
前言难点在于我下载的是一个压缩包firefox-61.0.2.tar.bz2,没法按照正常流程安装,所以才写这篇博客记录一下。一、找到FireFox的更新版本并下载1)我之前的版本是Firefox54,按照浏览器的提示是:alreadyoutofdate;而且旧版本的真心不好用,所以我打算更新一下。点击右侧的菜单栏,里面有个help->AboutFirefox,点进去:AboutMozillaFi
- linux 火狐源码,Ubuntu 16.04下源码编译Firefox
黑田光
linux火狐源码
因为出于工作项目需要,得完成在Ubuntu下的Firefox源码编译网上的教程多是在windows环境下的,而且也没有正经的教程有的也只是讲道理,它因为要考虑照顾到所有可能用户的需求,所以把教程写的很啰嗦,繁琐,真的不是很想看下。然后我就将其步骤简化了一下,略去各种乱七八糟的情况,整理下无脑版Ubuntu16.04下源码编译Firefox当然主要参考的还是上述的官方教程。0.Ubuntu16.04
- 菜鸟的ai进阶之路(持续更新中...)
夸父的天空
AI进阶linux基础操作python基础语法计算机视觉基础docker基础操作
Day1:1、linux基础指令:Pwd:查看当前所在路径;cat/proc/cpuinfo:查看cpuLs:当前所在路径下有哪些内容;ls-l:以长格式显示(long);Ls-a:显示所有(包含隐藏)all;La-al/ls-la:以长格式显示所有文件;2、路径:绝对路径:以/开始的路径/home/tarena相对路径:不以/开始的路径…:上一级目录~:主目录/home/gary3、cd:切换目
- 【Go语言成长之路】使用 Go 和 Gin 开发 RESTful API
风华同学
Go语言成长之路golangginrestful
文章目录使用Go和Gin开发RESTfulAPI一、前提二、设计API端点三、创建项目四、运行项目4.1编写代码4.2运行代码使用Go和Gin开发RESTfulAPI本教程使用Go和GinWebFramework(Go语言中优秀的第三方Web框架)编写一个RESTfulWeb服务API,实现路由请求、检索请求详细信息、JSON编码响应。一、前提Go1.16以及之后的版本curl工具,在Linux和
- 在VScode中使用Git将本地已有文件夹提交到Github仓库以便于使用版本控制进行项目开发
一路破防的Java选手
vscodegitgithub后端remoteorigin版本控制
前置软件VScode、Git。Linux系统中安装Git工具请自行百度。可以通过git--version查看对应Git版本号。Github创建空白仓库一定要注意创建空白仓库,不要包含任何文件,包括Readme.md文件也不能有。上面的仓库名(Repositoryname)一定要和本地即将上传到Github上的文件名一致,其他任何选项都不要点击,直接点击绿色【CreteRepository】选项。(
- 2018-10-08
may1051
Archlinux+xfce4安装笔记(grub+mbr)分区#fdisk-l找到/dev,此时,可以清晰地看到分区列表,对应于自己要操作的硬盘,使用命令:#fdisk/dev/sdXn:新建分区w:写入硬盘信息格式化分区:#mkfs.ext4/dev/sdaY挂载分区:#mount/dev/sdaY/mnt...(如mount/dev/sda1/mntmount/dev/sda2/mnt/boo
- Windows系统下安装WSL使用Redis
缘_妙不可言o
一、起源 最近毕业设计需要用到Redis,我的电脑又是Windows系统,不太想加Linux搞双系统,也不太想用虚拟机。本着学习的原则上网搜了下Redis的下载安装,发现大部分都是去官网或者去github下载安装。但是发现官网的Windows下载链接和github都进不去,开VPN也进不去。这就难受了! 后来在官网发现一个地方支持Windows下安装Redis,那就是安装WSL2。下面是Red
- 在Ubuntu/Debian Linux系统上检查已经安装软件包的版本
welson_ll
linux
如果要在Ubuntu/DebianLinux操作系统上检查已经安装软件包的版本(知道Ubuntu/Debian系统上可用的软件包版本),可使用apt、apt-cache、aptitude和apt-show-versions命令。前言在Linux中,所有应用程序均以程序包的形式分发,无非就是与程序包管理系统关联的文件。本文将向您展示一些命令,这些命令可用于检查Ubuntu/DebianLinux机器
- 实习的一点回顾Gradle
BigOrangeSama
javajava
1项目目录下执行./gradlewbuild,用.gradlew自动构建首先有一个gradlew(linux)或者gradlew.bat(win)是用来检查java配置,环境配置之类的东西然后去启动gradle/wrapper/gradle-wrapper.jar去检测本地gradle版本是否和配置文件gradle/wrapper/gradle-wrapper.properties中的一样,不一样
- Linux配置NTP时间同步
思静语
Linux&运维安装linux运维服务器
在Linux系统中,配置NTP服务器(服务端)和NTP客户端(客户端)以确保系统时间的准确性涉及不同的步骤。下面是如何配置NTP服务端和客户端的详细说明。NTP服务端配置安装NTP服务在NTP服务器上安装NTP服务包。Debian/Ubuntu系列:sudoaptupdatesudoaptinstallntpRHEL/CentOS系列:sudoyuminstallntpFedora:sudodnf
- 网络基础Linux 常用Ping命令详解
思静语
Linux&运维安装网络通信网络linux
文章目录Linux常用ping命令详解ping用法1.在Windows操作系统下:2.在Unix/Linux和macOS操作系统下:ping命令参数ping的原理是什么ping和ICMP的关系网络基础Ping命令详解(使用Ping这命令来测试网络连通)Linux常用ping命令详解概述不管在windows平台,还是在linux平台,ping都是非常常用的网络命令;ping命令通过ICMP(Inte
- PyCharm新手指南:快速创建虚拟环境venv的步骤解析
漏刻有时
AIGCPythonpycharmidepython
在PyCharm中创建虚拟环境(特别是使用venv或virtualenv)的步骤相对直接,下面是一个详细的步骤指南:一、打开PyCharm并选择项目启动PyCharm:首先,启动PyCharm集成开发环境。打开或创建项目:如果你要在一个新项目中创建虚拟环境,可以选择创建一个新项目。如果已经有现有项目,可以直接打开它。二、进入设置界面打开设置:在Windows/Linux上,点击菜单栏中的“File
- Linux的基本命令简略
饮水_102f
cd/进入文件夹ls-a显示隐藏文件夹ls-l显示文件具体信息ls-lh与ls-l显示的文件大小单位不一样pwd显示当前所在位置目录cd..退回上一级目录cd-撤销一步touch新建文件mkdir新建文件夹cat查看,打开文件clear清屏history已输录命令历史gedit编辑文件打开文件-p循环创建sudiaptinstalltree显示树形结构>重定向(>单个符号重定向将覆盖原文件内容,>
- 物联网架构之HBase
Linux运维老纪
一蹴而就揭秘物联网“点石成金”的魔法架构hbase运维开发linux云计算
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老导航剑指大厂系列:全面总结运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。常用运维工具系列:常用的运维开发工具,zab
- CentOS8-Stream Yum下载报错
企鹅郁金香
笔记linuxCentOS-Stream8yum安装
CentOS8-StreamYum下载报错报错信息如下CentOSLinux8-AppStream0.0B/s|0BErrorsduringdownloadingmetadataforrepository'appstream':-Curlerror(6):Couldn'tresolvehostnameforhttp://mirrorlist.centos.org/?release=8&arch=x
- 浅谈Yum 安装和 源码安装
企鹅郁金香
linux
浅谈Yum安装和源码安装本文所叙述的Linux系统是基于RedHat发行版的CentOS7yum安装1.前言我们知道在Windows上下载的安装包后缀是.exe,与之对应的在Linux下的安装包的后缀是.rpmrpm(RedHatPackageManager)是红帽软件包管理器我们在Windows电脑上下载完.exe安装包后,双击打开即可安装,完全不用操心其内部配置和代码的联系方式。但是,在Lin
- Linux基础2
Lfei5120
linux
文章目录RHCSA课程回顾注:自动化的前提是标准化、规范化。1.网卡命令的步骤:2.ifconfig命令操作3.IP命令及操作4.ss命令操作5.网卡的配置6.硬盘命令7.fdisk命令及操作8.格式化9挂载10.永久挂载11.计划任务12.日志服务与管理13.httpd编译安装apr-util安装http安装http安装RHCSA课程回顾注:自动化的前提是标准化、规范化。网卡回归传统命名一般是:
- arm linux gcc 6.1,安装gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi交叉编译器
Maple丿锋
armlinuxgcc6.1
TheLinaroToolchainWorkingGroupispleasedtoannouncethisquarter’sreleaseoftheLinaroToolchainBinaries,apre-builtversionofLinaroGCCandLinaroGDBthatrunsongenericLinuxorWindowsandtargetstheglibcLinaroEnginee
- ubuntu下 arm-linux-gcc-4.5.1安装v1.0(未经整理版本)
南棱笑笑生
全志
http://astute11.blog.51cto.com/4404646/1048756ubuntu下arm-linux-gcc-4.5.1安装0、rootroot@rootroot-virtual-machine:~$arm-linux-gccarm-linux-gcc:commandnotfoundrootroot@rootroot-virtual-machine:~$gccgcc:fat
- Shell - timeout命令
夜流冰
GNU/Linuxlinux
timeout是一个命令行工具,它运行一个指定的命令,如果在给定的时间后仍在运行,则终止该命令。换句话说,timeout命令允许你运行一个有时间限制的命令。timeout命令是GNU核心实用程序包的一部分(GNUcoreutilitiespackage),几乎所有的Linux发行版都安装了该包。当你想运行一个没有内置超时选项的命令时,它就很方便。在这篇文章中,我们将解释如何使用Linux超时命令。
- aarch64-linux-gnu 交叉编译 libpcap
苍蝇小黑
嵌入式libpcap
文章目录aarch64-linux-gnu交叉编译libpcap1.交叉编译工具下载2.交叉编译工具安装3.配置交叉编译工具环境变量4.libpcap源码下载和编译5.libpcap测试aarch64-linux-gnu交叉编译libpcap1.交叉编译工具下载首先确认交叉编译工具的版本,不同的开发板自带的GLIBC版本可能不同,因此可能出现最新的交叉编译工具编译出的软件不能运行的问题,例如编译后
- Linux - 如何根据名字杀掉一个进程
夜流冰
GNU/Linuxlinux
Linux提供了许多工具来管理系统中的进程。你可以用它们来创建、克隆、甚至销毁进程(create,clone,destroy)。有时你可能需要在Linux中按名称杀死所有进程。在Linux中,有多种方法可以做到这一点。你可以使用pkill、pgrep、pidof和killall中的任何一个函数。在这篇文章中,我们将详细介绍它们。现在的例子都是在Ubuntu中运行的。1,使用pkill命令pkill
- 一、交叉编译工具链-宿主机linux ubuntu 64位-目标机ARMv8 aarch64/系统ubuntu64位
Star__dust
交叉编译交叉编译ARMV8aarch64
交叉编译使用别人做好的交叉编译工具准备工作:安装ubuntu(我是虚拟机),写一个helloword,并gcc成可执行程序运行成功确认你的目标机类型,一定要别弄错了,我的架构是armv8aarch64,怎么确认的?我问同学的去下载一个交叉编译工具链参考链接:link下载链接:linaro我下载的是gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.t
- Ubuntu安装交叉编译工具链(gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu)
不会创建对象
日常生活小难题linuxubuntu运维aarch
1:首先把压缩包解压出来2:我是把文件名字进行了修改,这个看个人需求。终端输入:sudovim.bashrc在文件最末尾输入:exportPATH=$PATH:/home/the/aarch64-linux-gnu/binexportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/the/aarch64-linux-gnu/lib这里解释一下:“/home/the/a
- Linux内核编程(十四)IIC总线驱动FT5X06触摸屏
小仇学长
LinuxlinuxIIC驱动FT5X06
本文目录前述:一、IIC子系统框架二、I2C设备驱动层1.i2c_client编写(C语言版-旧内核)2.i2c_client编写(设备树版-新内核) 前述:对于IIC的基础知识,这里不做过多的介绍,详细情况查看下面的两篇文章。文章一:超详细!新手必看!STM32基础-IIC串行通信协议-IO口模拟IIC操作BMP180。文章二:Linux应用编程(四)IIC(获取BMP180温度/气压数据)。
- Linux基础
奋斗的小花生
linux
目录Linux基础知识:Linux基础指令:问题:重启虚拟机后共享文件丢失编辑配置文件:sudovi/etc/fstab末尾添加新代码:.host://mnt/hgfsfuse.vmhgfs-fuseallow_other00重启虚拟机:rebootLinux快捷键:ctrl+alt+t:打开Linux终端ctrl+shift++:终端显示文本放大ctrl+-:终端显示文本缩小ctrl+L==cl
- 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