- HTTP和HTTPS协议的区别,什么是TCP协议?什么是UDP协议?TCP协议的三次握手、四次挥手是什么?
淡漠爱清凉
node.js
一、HTTP与HTTPS的区别基本概念HTTP(HyperTextTransferProtocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。简单来说就是一种发布和接收HTML页面的方法,被用于在Web浏览器和网站服务器之间传递信息。HTTP默认工作在TCP协议80端口,用户访问网站http://打头的都是标准HTTP服务。HTTP协议以明文方式发送内容,不提供任何方式
- Nginx 正向代理互联网访问
hu_wenjie
NginxOpsDev运维开发nginx服务器运维
环境在一个网络环境中,只有一台服务器可以使用互联网,而其他内网服务器都可以访问到这台互联网服务器,于是,我们可以通过nginx的正向代理访问互联网地址此处举例:互联网服务器IP:192.168.1.100内网服务器IP:192.168.1.101部署安装包:nginx-1.20.2.tar.gzproxy_connect模块:https://gitee.com/hu_wj/ngx_http_pro
- java应用小程序画矩形和圆
文人sec
javajava小程序
java小程序矩形和椭圆哈罗,大家好,我是B站UP主(文哥动漫),那么今天我做了一小实验,用小程序画出,一个矩形和一个椭圆,并放在一个小应用程序的视图里。接下来请看代码:加详细讲解首先,我们要定义变量,设置图形在这个画板的中心位置(x轴、y轴坐标),然后通过带参构造方法传值,this关键字在这里可以看做本类的类名(就近原则),下面在定义两个方法,第一个方法是椭圆的,第二个方法四矩形的,两个方法里面
- java基础知识点输入与输出
宝耶
python开发语言
java的输出语句1.使用System.out.println()System.out.println("Hello,World!");2.使用System.out.print()与println()类似,但不会自动换行:System.out.print("Hello,");System.out.print("World!");3.使用System.out.printf()用于格式化输出,类似于C
- 软件测试(从练气境到陆地仙人)
趙橙曄
软件测试测试工具测试用例bug
软件测试(练气境)课前导读1.软件测试是干什么的? 软件质量检查工作(查找软件问题,保障软件质量)2.软件测试前景? 软件测试的缺口是Java开发的8倍, 薪资还凑合,是金融行业的1.3倍,是其他行业1.3倍 管理方向:测试组长测试主管测试经理测试负责人总监 技术方向:手工测试自动化测试测试开发测试架构测试专家3.谁适合学软件测
- 深入理解与优化 Java JVM
一叶飘零_sweeeet
jvm内存空间果酱紫javajavajvm
一、引言在Java开发中,Java虚拟机(JVM)起着至关重要的作用。它负责将Java字节码转换为机器码并执行,同时管理着内存分配、垃圾回收等关键任务。理解和优化JVM对于提高Java应用程序的性能、稳定性和可扩展性至关重要。本文将深入探讨JavaJVM的各个方面,包括其结构、内存管理、垃圾回收机制以及性能优化策略,并通过详细的示例帮助读者更好地掌握JVM的使用和优化方法。二、JVM的结构与组成(
- 《Java高并发与多线程:从原理“破壁”到实战“狂飙”的硬核攻略》
以恒1
java
Java必学,看一眼不吃亏,万一对你有用呢,本文万字解析进程与线程本质,讲解了多线程和高并发的原理,详解synchronized锁升级机制,剖析JUC工具库与线程池异步,结合实时监控,电力调控等高并发场景,提供线程池调优、分布式锁(Redis)等实战方案,贯通原理到工程的全链路知识。一、操作系统基础:理解并发编程的根基1.进程与线程的本质区别官方定义:进程是操作系统资源分配的基本单位,每个进程拥有
- 【如何优化 JavaScript 代码的性能?】
程序员远仔
前端面试高频问题宝典javascript开发语言ecmascript前端edge浏览器前端框架
如何优化JavaScript代码的性能?前言JavaScript是Web开发的核心语言,优化JavaScript代码的性能对于提升用户体验和应用的响应速度至关重要。本文将重点从理论角度探讨优化JavaScript代码性能的多种策略和最佳实践,减少代码示例,增加理论分析。关键词JavaScript、性能优化、事件循环、内存管理、DOM操作、异步编程、代码分割、懒加载、缓存、前端开发、前端面试、前端基
- 解决 Linux 下 tar 解压错误:文件损坏与不完整问题的全面指南
码农阿豪@新空间
包罗万象linux运维服务器
个人名片作者简介:java领域优质创作者个人主页:码农阿豪工作室:新空间代码工作室(提供各种软件服务)个人邮箱:[2435024119@qq.com]个人微信:15279484656个人导航网站:www.forff.top座右铭:总有人要赢。为什么不能是我呢?专栏导航:码农阿豪系列专栏导航面试专栏:收集了java相关高频面试题,面试实战总结️Spring5系列专栏:整理了Spring5重要知识点与
- Java多数据源的三种实现方式
黑尾土拨鼠
javaspring数据库java开发语言数据库
文章目录1、什么时候会用到多数据源(MultipleDataSources)1.1、多数据源具体含义1.2、为什么需要多数据源2、Java中实现多数据源的三种方式2.1基于Spring提供的AbstractRoutingDataSource2.1.1创建一个DynamicDataSource类2.1.2配置数据源2.1.3自定义注解,便于区别不同数据源2.1.4Service通过注解设置数据源2.
- docker-compose 搭建redis集群(三台服务器,每台服务器上一主一从)
黑尾土拨鼠
redisdockerdockerredis服务器docker-compose
文章目录1、前言2、准备工作2.1、Docker安装2.2、docker-compose安装2.3目录创建3、redis配置文件3.1生成redis.conf文件3.2shell文件无法执行问题解决3.3docker-compose.yml文件编写4、启动集群及初始化4.1启动Redis集群4.2Redis集群初始化5、总结1、前言 使用DockerCompose搭建Redis集群是一种便捷高效
- WPS携手DeepSeek:开启智能办公新时代
CodeJourney.
架构数据库算法人工智能
在数字化办公的浪潮中,效率与智能成为了人们追求的核心目标。近年来,人工智能技术的飞速发展为办公领域带来了前所未有的变革契机。DeepSeek作为一款备受瞩目的人工智能工具,以其强大的功能吸引了众多用户,然而在使用过程中,“服务器繁忙,请稍后再试”的提示却频繁出现,给用户体验带来极大的困扰。就在用户为此烦恼不已时,WPS官方宣布接入DeepSeekR1,这一举措犹如一场及时雨,为用户带来了全新的智能
- C++码农狂喜!DeepSeek代码生成器让祖传代码秒变赛博义肢!
yyyiwy
c++开发语言
听说上次的“服务器繁忙”整活代码被教授当反面教材了?这次咱们玩点真·黑科技——用DeepSeek自动生成高性能C++代码一、AI代码生成实测:5分钟搓一个联机贪吃蛇最近GitHub有个爆火项目——用DeepSeek生成C++游戏代码,实测效果离谱!比如输入这段Prompt:生成C++贪吃蛇游戏代码,要求:1.支持双人对战模式2.用OpenGL渲染3.集成DeepSeek智能碰撞预测算法DeepSe
- Transformer 在RxJava中的使用
xiaopangcame
rxjavarxjava
Transformer用途Transformer,顾名思义是转换器的意思。早在RxJava1.x版本就有了Observable.Transformer、Single.Transformer和Completable.Transformer,在2.x版本中变成了ObservableTransformer、SingleTransformer、CompletableTransformer、Flowable
- Java NIO使用案例和说明
诸葛小猿
网络协议niosocketjava
JavaNIO(NewInput/Output)和传统的JavaSocket编程提供了不同的方法来处理网络通信。JavaNIO引入了非阻塞I/O和多路复用的概念,这使得它在处理大量并发连接时比传统的阻塞式Socket更加高效。传统JavaSocket编程有几个特点:阻塞式I/O:传统的Socket类是阻塞式的,意味着当你调用accept(),read(),或write()方法时,线程会一直等待直到
- python 使用WinRM连接远程windows
Red丶哞
Python桌面运维pythonwindows开发语言
一、什么是WinRM服务WinRM是很早之前微软推出的一种新式的方便远程管理的服务WindowsRemoteManagement的简称,相比RDP远程桌面协议,WinRM这种服务更具备轻量、低宽带的特性,WinRM与WinRS(WindowsRemoteShell)的使用可以让远程连接的运维人员拥有CMDShell环境,通过命令执行对服务器与服务器数据进行管理。随着运维人员的任务量的增大,RDP的
- 如何在Java中实现多头注意力机制:从Transformer模型入手
省赚客app开发者
javatransformer开发语言
如何在Java中实现多头注意力机制:从Transformer模型入手大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!多头注意力机制(Multi-HeadAttention)是Transformer模型中的关键组件,广泛用于自然语言处理(NLP)任务中。它允许模型在不同的子空间中并行地关注输入序列的不同部分,从而提高了模型的表达能力。在本文中,我们将详细介绍如何在Jav
- transformers java_Transformer 在RxJava中的使用
欢小颜
transformersjava
Transformer.jpegTransformer用途Transformer,顾名思义是转换器的意思。早在RxJava1.x版本就有了Observable.Transformer、Single.Transformer和Completable.Transformer,在2.x版本中变成了ObservableTransformer、SingleTransformer、CompletableTran
- 信创信息系统安全实施案例分析
weixin_37579147
安全网络安全系统安全运维开发创业创新python
以下是一个信创(信息技术应用创新)信息系统安全实施的案例分析,结合国产化技术和安全防护体系建设的典型场景:案例名称:某省级政务云平台信创安全升级项目项目背景某省级政务云平台承载了全省80%的政务信息系统(如电子政务、社保、医疗等),原平台基于国外服务器、操作系统和数据库构建。为响应国家信创战略要求,提升系统安全可控能力,需对平台进行国产化改造,并构建符合等保2.0三级要求的安全防护体系。核心需求1
- Java NIO详解
大家都说我身材好
Java高级javaniojvm
JavaNIO(NewIO)是Java1.4版本中引入的一套全新的IO处理机制,与之前的传统IO相比,NIO具有更高的可扩展性和灵活性,特别是在网络编程和高并发场景下,表现得更为出色。NIO提供了四个核心组件:Channel、Buffer、Selector和SelectionKey,通过它们的协同配合,实现数据的读写和同步、非同步IO操作。本文将从基础概念、核心组件、使用方法等方面全面详细地介绍J
- prometheus+grafana 容器部署方式
背景新增两台物理机用于压测,为了查看资源使用情况,需要对服务器进行监控,所以安装prometheus+grafana来监控服务。准备机器:机器1机器2192.168.1.103192.168.1.102mock服务,压测脚本业务服务prometheus+grafana+node-exporter+cadvisornode-exporter+cadvisor说明:cadvisor:用于收集容器的信息
- 数据库学习笔记(黑马-Javaweb课程)
水涵幽树
oracle数据库
概述P80.课程介绍:数据库:存储和管理数据的仓库SQL:操纵做关系型数据库的编程语言数据库管理系统:DBMS,操纵和管理数据库的大型软件课程介绍:数据的的设计,数据库的操作,数据库的优化-索引P81.MySQL-概述-安装配置图文详述:MySQL的下载、安装、配置、使用_mysql下载-CSDN博客语法:mysql-u用户名-p密码[-h数据库服务器IP地址-p端口号]P82.数据模型&SQL简
- Java 拷贝文件内容
冰糖心书房
Java开发
说明:把d盘下a.txt中的内容复制到e盘下e.txt文件中privatestaticvoidcopyDataBase(){try{Filef1=newFile("d:/a.txt");Filef2=newFile("e:/e.txt");InputStreamin=newFileInputStream(f1);OutputStreamout=newFileOutputStream(f2);byt
- Java 中的构造方法与构造代码块的区别
冰糖心书房
Java开发
1.publicclassDev{static{System.out.println("静态代码块");}{System.out.println("构造代码块");}publicDev(){System.out.println("我是一个无参构造方法");}publicDev(Stringname){System.out.println("我是带有一个参数的构造方法");}}2.这段代码的执行顺序
- Java IO的特点
冰糖心书房
Java开发
1、只要是对文件流操作就一定会有异常。2、如果程序中使用到时了缓存区,就可以在缓存区中关闭流,而不须要要父类中去做这件事了。3、在FileReader这个类中有read()这个方法,它会返回一个整形值,而BufferReader这个缓存类有readLine()这个方法,会返回一个String。在开发中一般会选择这样的应用。4、在操作编码时,如果使用到了字符流,可以运用InputStreamRead
- Java 反射 (Reflection) 详解
冰糖心书房
Java开发java
一、什么是Java反射?Java反射(Reflection)是Java语言的一个强大特性,它允许在运行时检查和修改类、接口、字段和方法的信息,而不需要在编译时知道这些信息。换句话说,反射可以让你在程序运行过程中“动态”地获取类的信息并操作类的成员。核心概念:Class对象:每个Java类都有一个与之对应的Class对象。Class对象包含了该类的所有信息,例如类名、包名、父类、接口、字段、方法、构
- java 面向对象编程 (OOP)之 封装的概念
冰糖心书房
Java开发java
一、封装的定义(EncapsulationDefinition)封装是面向对象编程的四大基本特征之一(另外三个是继承、多态和抽象)。它指的是将数据(属性/字段)和操作数据的方法(行为)绑定在一起,形成一个独立的单元(类),并对外部隐藏对象的内部实现细节,只暴露必要的接口。核心思想:数据隐藏(InformationHiding):将对象的属性声明为私有(private),防止外部直接访问和修改,保护
- java 面向对象编程 (OOP)之 类的概念
冰糖心书房
Java开发java开发语言
一、类的定义(ClassDefinition)在Java中,类是创建对象的模板或蓝图。它定义了一类对象共有的属性(状态)和行为(方法)。类是一种抽象的数据类型,它封装了数据和操作数据的方法。1.类的语法结构:[修饰符]class类名[extends父类名][implements接口名列表]{//成员变量(Fields/Attributes)-描述对象的状态[修饰符]数据类型变量名[=初始值];//
- Redis集群:Sentinel哨兵模式讲解
太阳打伞
云服务redissentineljavalinux分布式
Sentinel:分布式系统的流量防卫兵Sentinel简介:随着微服务的流行,服务器和服务器之间的稳定性变得越来越重要。Sentinel是面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。Sentinel具有以下特征:丰富的应用场景:Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流
- 基于Spring Boot 2.0.2版本——Eureka的使用
huaseven0703
springbooteurekaspingboot2.0.2
Eureka简介在SpringCloud微服务中,Eureka作为服务注册中心,其作用在于对于各个微服务提供注册并发送心跳检测,每个客户端都可以在服务器上面做声明注册,调用……注:文中带有底色的文字部分为重点改动区域一.springboot中创建Eureka1.pom.xml4.0.0com.mazh.eurakamyeuraka0.0.1-SNAPSHOTjarmyeurakaDemoproje
- 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