- linux centos7 安装nginx
追逐路上的小人物
linuxnginx服务器
1、下载nginx安装包wget-chttp://nginx.org/download/nginx-1.24.0.tar.gz2、安装nginx所需要的依赖包yuminstall-ygcc-c++zlibzlib-developensslopenssl-develpcrepcre-devel3、解压安装包tar-zxvfnginx-1.24.0.tar.gz4、#执行配置脚本--prefix是指定
- Linux下的HTTP服务介绍与初步配置
敲个代码怎么这么难啊
linux运维apache
一、介绍1.1、介绍ApacheHTTP服务器项目致力于为包括UNIX和Windows在内的现代操作系统开发和维护一个开源HTTP服务器。该项目的目标是提供一个安全、高效和可扩展的服务器,该服务器提供与当前HTTP标准同步的HTTP服务。ApacheHTTP服务器(“httpd”)于1995年推出,自1996年4月以来,它一直是互联网上最流行的web服务器。它在2020年2月作为一个项目庆祝了它的
- 在 CLion 中使用 Google Test 进行单元测试
獨梟
单元测试单元测试c++
介绍GoogleTest(GTest)是Google开源的C++单元测试框架,提供了丰富的断言、测试夹具(Fixtures)和测试管理功能,使C++开发者能够编写高效的单元测试。本博客将介绍如何在不同平台(Windows、macOS、Linux)上,使用CLion配置GoogleTest进行C++单元测试,包括安装GoogleTest、配置CMakeLists.txt、编写和运行测试代码,以及如何
- Linux网络编程(HTTP协议)
花落已飘
Linux网络编程实战网络linuxhttp
文章目录前言一、HTTP协议概述二、HTTP服务器和客户端三、Linux环境下使用C语言创建http客户端和服务器使用libcurl实现HTTP客户端使用libmicrohttpd实现HTTP服务器代码解析HTTP客户端(libcurl)HTTP服务器(libmicrohttpd)总结前言本篇文章带大家学习Linux网络编程中的HTTP协议,并且后面使用HTTP协议来实现一个完整的实战项目。一、H
- Linux下视频采集及其显示
wesleyluo
Linux学习C/C++编程学习linuxbuffervideostructemacsnull
说明:1、本文所提及的摄像头不是zc0301p,使用的API不是V4L,显示所使用的上位机不是QT,特此说明。2、UVC只是一个驱动,如果它能成功驱动摄像头,会在/dev目录下出现video(或video0、video1等等)。这样,就可以使用Linux提供(准确说不是Linux提供,具体的百度吧)的一套API,即V4L2来访问摄像头了。“使用”是指我们写的采集数据的程序,而不是指“摄像头驱动程序
- 一款便捷操作移动设备的PC工具
说明该项目基于【Tinyui】框架开发。为电脑端(Windows/MacOS/Linux)操作移动设备提供便捷操作的工具。项目代码已开源:☞Github☜☞Gitee☜功能运行由于采用Python语言开发,因此需要安装Python运行环境,Python2.x(建议使用最后一个版本:2.7.18),Python3.x(推荐3.9以上版本)命令行运行$pythontools.pyWindows系统,直
- imx6ull,从uboot到linux启动
只慢半拍
linuxubuntu运维
很久没搞嵌入式了,为了学习,买了正点的arm板子,芯片是Freescale的imx6ull。为了更好的学习,决定放弃正点官网的资料,一切都从原网下载。原料准备imx6ull手册官网下载正点imx6ull的板子TB买的一张小SD卡JD买的交叉编译工具https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux
- Linux 安装软件--RPM 包管理
XMYX-0
linux运维服务器
文章目录Linux安装软件注:默认Linux不支持安装`.exe`软件包,但可以通过`wine`来运行Windows应用。RPM包管理查询操作安装操作卸载操作强制安装和忽略依赖RPM命令参数详解总结Linux安装软件在Linux中,安装软件有多种方式,不同的发行版和安装包格式有所不同。常见的安装包类型如下:Windows:*.exeWindows软件一般使用.exe格式,但Linux默认不支持该格
- Linux内核笔记(驱动篇)之 【u-boot移植--基于正点原子iMX6ull开发板】
哆哆jarvis
Linux内核与驱动进阶之路嵌入式
博主珍藏笔记干货在这里!Linux内核笔记汇总【持续更新】更好的阅读体验请见:u-boot移植–基于正点原子iMX6ull开发板文章目录添加自己的开发板添加开发板对应的头文件添加开发板对应的板级文件夹编译测试烧写屏幕&网络驱动移植软件层面的修改修改*`include/configs/mx6ull_jarvis_emmc.h`*修改*`board/freescale/mx6ull_jarvis_em
- pycharm2018
qq_35581867
安装指南
因公司的需求,需要做一个爬取最近上映的电影、列车号、航班号、机场、车站等信息,所以需要我做一个爬虫项目,当然java也可以做爬虫,但是还是没有python这样方便,所以也开始学习Python啦!!!欲善其事,必先利其器。这里我为大家提供了三种激活方式:授权服务器激活:适合小白,一步到位,但服务器容易被封激活码激活:适合小白,Windows、Mac、Linux都适用且无其他副作用,推荐~破解补丁激活
- 信息安全之构建FTP服务器证书
云纳星辰怀自在
信息安全概念sslhttpsFTP服务器CA证书
以下是完整的文章,包含所有步骤和最后一节的参考文章部分:在Ubuntu中安装和配置FTPS服务器的详细指南1.安装vsftpd首先,确保你的系统是最新的,然后安装vsftpd:sudoaptupdatesudoaptinstallvsftpd•解释:vsftpd是一个轻量级且安全的FTP服务器软件,适用于大多数Linux发行版。2.检查并安装openssl检查openssl是否已安装:whicho
- 剖析内核态和用户态的内存分配方式
Linux加油站
java网络缓存
【推荐阅读】浅析linux内核网络协议栈--linuxbridge深入linux内核架构--进程&线程浅谈linux内核网络sk_buff之克隆与复制1.使用buddy系统管理ZONE我的这两篇文章buddy系统和slab分配器已经分析过buddy和slab的原理和源码,因此一些细节不再赘述。所有zone都是通过buddy系统管理的,buddysystem由HarryMarkowitz在1963年
- 使用嵌入式Linux在ARM平台上使用MIPI CSI接口
WangWEel
linuxarm开发运维嵌入式
使用嵌入式Linux在ARM平台上使用MIPICSI接口MIPICSI(MobileIndustryProcessorInterfaceCameraSerialInterface)是一种广泛应用于移动设备和嵌入式系统中的摄像头接口标准。在ARM平台上,我们可以使用嵌入式Linux操作系统来实现MIPICSI接口的功能。本文将介绍如何在ARM平台上使用嵌入式Linux来配置和操作MIPICSI接口,
- 正点原子imx6ull-mini-Linux驱动之Linux I2C 驱动实验(21)
NEWEVA__zzera22
imx6ulllinux驱动编写2024年linux
I2C是很常用的一个串行通信接口,用于连接各种外设、传感器等器件,在裸机篇已经对I.MX6U的I2C接口做了详细的讲解。本章我们来学习一下如何在Linux下开发I2C接口器件驱动,重点是学习Linux下的I2C驱动框架,按照指定的框架去编写I2C设备驱动。本章同样以I.MX6U-ALPHA开发板上的AP3216C这个三合一环境光传感器为例,通过AP3216C讲解一下如何编写Linux下的I2C设备
- Linux利用PROMPT_COMMAND实现审计功能
yes_is_ok
linuxlinuxhistory记录
Linux利用PROMPT_COMMAND实现审计功能这个系统审计,记录什么用户,在什么时间,做了什么操作。然后将查到的信息记录到一个文件里。一.配置1.在/etc/profile文件的最后,添加如下2行代码:exportHISTORY_FILE=/var/log/history/`date'+%Y%m'`.logexportPROMPT_COMMAND='{date"+%Y-%m-%d%T###
- Linux开启命令审计功能记录用户的每一步操作
自由鬼
安全运维技术IT应用探讨linux运维服务器
默认情况下,Linux不记录用户的每一步操作到系统级别的日志文件中。但是,Linux确实记录了一些与用户操作相关的信息,并且提供了多种方法来开启更详细的用户操作记录,以满足安全审计或故障排除的需求。一、Linux默认记录的信息:用户登录和退出信息:Linux会记录用户的登录(login)和退出(logout)事件。这些信息通常被记录在/var/log/wtmp和/var/log/btmp文件中。你
- 【学习笔记5】Linux下cuda、cudnn、pytorch版本对应关系
longii11
linuxpytorch运维
一、cuda和cudnnNVIDIACUDAToolkit(CUDA)为创建高性能GPU加速应用程序提供了一个开发环境。借助CUDA工具包,您可以在GPU加速的嵌入式系统、桌面工作站、企业数据中心、基于云的平台和HPC超级计算机上开发、优化和部署您的应用程序。该工具包包括GPU加速库、调试和优化工具、C/C++编译器以及用于部署应用程序的运行时库。全球的深度学习研究人员和框架开发人员都依赖cuDN
- springboot整合rabbitMQ
twx95
java-rabbitmqspringbootrabbitmq
安装rabbitMQ虚拟机或者服务器上安装我这里使用的是vm虚拟机做演示第一步:安装docker参考linux安装docker-CSDN博客第二步:拉取rabbitMQ镜像3-management(镜像版本)dockerpullrabbitmq:3-management查看镜像是否拉取成功dockerimages第三步:运行rabbitMQdockerrun\-eRABBITMQ_DEFAULT_
- Linux服务器配合Frp实现内网穿透使用windows远程桌面
sangAsang
Linuxlinux
前言:我们在公司时,可以根据内网进行远程桌面连接,但由于公司网络一般都是分配内网ip,当我们在家的时候,想进行连接公司电脑,一般会使用1.teamviewer2.向日葵,但是teamviewer用一段时间会提示商业用途无法使用,向日葵因免费版限制网速使用较差,如果有一台不错的国内服务器,可以试试Frpfrp是什么frp是一个可用于内网穿透的高性能的反向代理应用,支持tcp,udp协议,为http和
- linux 设置tomcat开机启动
m0_74824002
面试学习路线阿里巴巴linuxtomcat运维
在Linux系统中,要配置Tomcat开机自启动,可以创建一个名为tomcat.service的systemd服务文件,并将其放置在/etc/systemd/system/目录下。以下是一个基本的服务文件示例,假设Tomcat安装在/usr/local/tomcat路径下:1创建服务文件:sudonano/etc/systemd/system/tomcat.service添加以下内容到文件中:[U
- 【Linux】FRP:内网穿透
T0uken
linux运维服务器
FRP(FastReverseProxy)是一种高性能的反向代理应用,主要用于穿透内网和实现端口映射。它允许你将局域网中的服务暴露到公网,从而能够在公网中访问这些服务。FRP主要由两部分组成:FRPC客户端:运行在公司内网机器上,接收来自公网的访问请求,并将请求转发给内网服务。FRPS服务端:部署在具有公网IP的机器上,暴露服务的公网入口,接收公网访问请求,通过加密隧道转发到FRPC。服务端(fr
- Linux | 学习笔记
Fomalhaut α PsA
Linux知识库
Linux|学习笔记用户管理用户和组管理#查看用户身份[admin@CentOS8~]$idadminuid=1000(admin)gid=1000(admin)组=1000(admin),10(wheel)#切换用户,省略username则切换为root[admin@CentOS8~]$su-username#从命令行创建用户[admin@CentOS8~]$sudouseradduser01#
- Installing Anaconda on Raspberry Pi 4 with Ubuntu 20.04
pertain99
UbuntuLinux
RaspberryPi4runson32-bit.Usethe32-bitversionsandyoushouldbeokay!I’verecentlyinstalledminicondaonmyRaspberryPi4.Ididitusingthefollowingcommands:#Updatelinuxsudoaptupdate-y#Installpython3sudoaptinstall-
- 使用conda将python环境打包pack,移植到另一个linux服务器项目中
adczsw
condapython环境打包移植环境管理
一:conda-pcak在什么情况下使用:二:conda常见的使用指令:1:查看自己conda管理有几种python环境:2:创建一个新的python环境:3:对已经存在的python环境进行复制:4:切换到对应的python环境:三:打包某个python环境1:进行python环境打包:2:传输这个压缩文件py3666.tar.gz到你所需要的服务器上:3:解压缩py366.tar.gz:4:激
- Visual Studio Code (VSCode) 安装与使用教程
w(゚Д゚)w吓洗宝宝了
vscodeide编辑器
一、VisualStudioCode简介VisualStudioCode(简称VSCode)是一款由微软开发的轻量级源代码编辑器,支持多种编程语言,如C/C++、Python、JavaScript等。它具有丰富的功能,如代码高亮、智能感知、调试支持等,非常适合各种开发者使用。二、系统要求操作系统:Windows、macOS、Linux处理器:至少1GHz内存:至少512MBRAM硬盘空间:至少20
- Visual Studio Code (VSCode) 使用 GDB 进行调试
Willliam_william
Linux服务器使用vscode
在VisualStudioCode(VSCode)中使用GDB进行调试,通常用于调试C/C++程序。以下是配置和使用GDB调试的步骤:1.安装必要工具确保已安装以下工具:GCC/G++:用于编译C/C++代码。GDB:GNU调试器。VSCode:代码编辑器。C/C++扩展:VSCode的C/C++扩展。安装GCC/G++和GDB在Linux上,可以通过包管理器安装:sudoapt-getupdat
- tcp常用网络接口 linux环境
gyc2727
tcp/iplinux网络
TCP(传输控制协议)网络通信是常见的网络应用形式,它提供了面向连接的、可靠的数据传输服务。TCP通信常用的接口主要包括以下几个方面:常用接口1.socket()intsocket(intdomain,inttype,intprotocol);功能:打开一个网络通讯端口,并返回一个文件描述符(socket描述符)。参数:domain:地址族,对于IPv4,指定为AF_INET。type:套接字类型
- 解决matplotlib错误:“findfont: Generic family ‘sans-serif‘ not found because none of the...”
培根芝士
Pythonmatplotlib
在Linux服务器上调用matplotlib库时报错:findfont:Genericfamily'sans-serif'notfoundbecausenoneofthefollowingfamilieswerefound:SimHeiUserWarning:Glyph19981(\N{CJKUNIFIEDIDEOGRAPH-4E0D})missingfromfont(s)DejaVuSans.解
- Linux报 “permission denied” 异常的原因以及解决办法
为了前进而后退,为了走直路而走弯路
记录一些踩过的坑linux服务器运维
Linux报“permissiondenied”异常的原因以及解决办法Linux报permissiondenied(权限被拒绝)错误通常是由于当前用户缺少执行该文件或文件夹的权限而导致的。这是Linux系统的安全机制之一,可以保证系统的安全性和稳定性。下面来详细介绍一下Linux报permissiondenied的原因和解决办法。原因文件或文件夹的权限不够:Linux系统中,每个文件都有不同的权限
- RuntimeWarning: Glyph 35745 missing from current font
jst100
python开发语言
出现该问题的在于在使用plt绘图时找不到合适字体来表示中文。解决方式对于Windows系统可以直接在原始文件中添加如下代码plt.rcParams['font.sans-serif']=['SimHei']对于MAC系统可以在python文件中添加如下代码plt.rcParams["font.family"]='ArialUnicodeMS'对于Linux系统则首先通过命令fc-list:la
- 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