- alpine linux构建jdk基础镜像
alpine能够如此小巧是因为它没有集成一些普通的Linux库,比如跑Java应用必须依赖的glibc相关的包,alpinelinux构建oraclejdk时,需要先安装一些依赖库,oracle官网下载jre即可,无需下载jdk,否则构建的基础镜像过大,以下为DockerfileFROMalpine:3.18.5ADDjdk.tar.gz/usr/local/jdk/COPYlocale.md/u
- docker部署springboot项目
Superherowang2
dockerspringboot容器
SpringBoot项目Docker部署操作流程准备工作确保已安装Docker环境准备好可运行的SpringBoot项目(已通过本地测试)项目使用Maven或Gradle构建详细部署步骤1.创建Dockerfile在SpringBoot项目根目录下创建Dockerfile文件(无扩展名),内容如下:#使用官方OpenJDK基础镜像FROMopenjdk:17-jdk-slim#设置工作目录WORK
- windows10安装Docker部署Jar包
Love_Erlc
springbootDockerspringbootjavadocker后端
windows10安装Docker部署Jar包文章目录windows10安装Docker部署Jar包步骤:一、拉取Jdk基础镜像二、创建文件夹存放Dockerfile文件和需要部署的Jar包,我创建在D盘,文件夹为/usr/local/webapps三、在刚才创建的/usr/local/webapps文件夹下创建Dockerfile文件并用记事本打开Dockerfile文件编辑需要填写的命令四、根
- idea docker 镜像生成太慢太大问题
Mr-Wanter
【docker容器】intellij-ideadockerjava
文章目录前言一、更小的jdk基础镜像二、服务瘦包(thinjar)2.1maven2.2修改dockerfile2.3containerrunoptions三、基础jdk镜像入手?总结前言ideadocker内网应用实践遗留问题ideadocker插件build服务镜像太慢服务镜像太大一、更小的jdk基础镜像精简的jdk镜像123MB,jdk17-alpine二、服务瘦包(thinjar)打包成瘦
- Tomcat服务器、Tomcat虚拟主机、添加日志功能、SSL加密网站、Maven应用案例
Mick方
服务器tomcatssl
1案例1:安装部署Tomcat服务器1.1问题本案例要求部署Tomcat服务器,具体要求如下:安装部署JDK基础环境安装部署Tomcat服务器创建JSP测试页面然后客户机访问此Web服务器验证效果:使用火狐浏览器访问Tomcat服务器的8080端口,浏览默认首页使用火狐浏览器访问Tomcat服务器的8080端口,浏览默认测试页面1.2方案使用2台虚拟机,其中一台作为Tomcat服务器(192.16
- 使用dockerfile构建java程序,使用Dockerfile构建最小JDK基础镜像
梅m
一、导读使用dockerJDK镜像时,一般如果从仓库直接拉取,那大小有600MB左右,想想windows里面的jdk也没那么大,简直不能忍啊,所以,今天就给大家讲讲如何瘦身JDK。二、制作镜像1、首先下载jre,下载地址是https://www.java.com/en/download/manual.jsp,大概是77M。2、解压jre包,删除根目录下文本文件,然后删除其他不必要文件。#解压tar
- Java&Jdk基础书籍推荐
Fitz_Lee
书籍学习外话:用书和文档镇楼,站在巨人的肩膀上,才能进步的更快,才能少踩坑,赶紧阅读吧少年们。JDK文档,最好的官方学习助手Oschina中文API在线文档Oracle官方文档下载OschinaAPI文档集,包含各种MybatisMina等API文档可以参考Java系列经典好书推荐编码风格阿里巴巴Java开发手册GoogleJava编程风格指南Java基础Effective_java中文版Thin
- 【面试记录】支付宝面试考察技术点
Vine955
面试面试散列表哈希算法
支付宝面试考察技术点1.JDK基础1.1HashMap源码1.2线程池原理1.3[Java8新特性](https://developer.51cto.com/article/647804.html)1.4[锁机制](https://tech.meituan.com/2018/11/15/java-lock.html)(CAS/AQS/重量级&轻量级/偏向锁/独占锁/具体实现/ConcurrentH
- #Java&Jdk基础书籍推荐
Fitz_Lee
书籍学习外话:用书和文档镇楼,站在巨人的肩膀上,才能进步的更快,才能少踩坑,赶紧阅读吧少年们。JDK文档,最好的官方学习助手Oschina中文API在线文档Oracle官方文档下载OschinaAPI文档集,包含各种MybatisMina等API文档可以参考Java系列经典好书推荐编码风格阿里巴巴Java开发手册GoogleJava编程风格指南Java基础Effective_java中文版Thin
- jdk基础知识
小新por
java开发语言
实体类:类能够表示数据库储存数据的结构junit用法:方法定义无参返回值,且测试类的字不能是test在方法上使用test这个注解光标放在后面然后使用test这个注解光标放在alt+enter进行自动导报包选择——aadjunlta:toclasspath这个方法不需要main方法就可以执行方法调用三要素:方法参数返回值/***JDBC连接数据库,需要配置四大参数,同时需要导入数据库对应的驱动包*/
- 构建 Tomcat 镜像,运行 war 项目(jenkins)
@土豆
tomcatjenkinsjavakubernetesdocker
目录一、概述二、编写Dockerfile1、Dockerfile内容2、docker-entrypoint.sh内容3、setenv.sh内容4、context.xml内容三、构建镜像四、验证构建结果一、概述基于openjdk基础镜像,使用非root用户安全构建tomcat镜像,并将自定义的项目导入到tomcat运行,这里使用jenkins项目作为例子,并将加入可自定义的JVM等优化参数,优化关于
- 基于centos、alpine制作Java JDK基础镜像
tag心动
Docker容器javajava基础镜像dockerjdk基础镜像运维
文章目录前言一、简介二、制作JDK/Java基础镜像1.准备事项2.制作Dockerfile脚本2.1.基于centos作为基础镜像2.2.基于alpine作为基础镜像3.构建镜像4.测试验证前言在日常开发中,但凡项目需要docker容器化部署,制作项目镜像前都需要在Dockerfile中配置Java基础镜像。为什么不直接拉取使用dockerhub中别人上传的镜像呢,因为在企业开发中,往往需要一些
- 高级Java工程师面试必备
Watson_ljf
JDK基础Java集合类数据库结构,HashMapConcurrentHashMapHashMap扩容的实现方式。熟悉并发包工具的使用,和实现原理。CountDownLatch、Semaphore和CyclicBarrierAtomicStampedReferencehttps://www.jianshu.com/p/bb5105303d85volatile关键字的作用。线程安全的条件。乐观锁悲观
- Nginx 学习(五)Tomcat 服务器
.久一
Nginx运维学习服务器学习linuxtomcat运维
1案例1:安装部署Tomcat服务器1.1问题本案例要求部署Tomcat服务器,具体要求如下:安装部署JDK基础环境安装部署Tomcat服务器创建JSP测试页面然后客户机访问此Web服务器验证效果:使用火狐浏览器访问Tomcat服务器的8080端口,浏览默认首页使用火狐浏览器访问Tomcat服务器的8080端口,浏览默认测试页面1.2方案使用2台虚拟机,其中一台作为Tomcat服务器(192.16
- jdk的理解
echo_huangshi
java基础
很多时候我们在不停的学习新技术,却忽略了java最初的定义。总结了一下,温故知新。JDK基础概念及目录结构我们通常所说的JDK,其实是指Java开发包,里面包含Java开发用到的工具集。JDK(JavaDevelopmentToolKit),包含了Java运行环境(JRE)和开发工具(编译器,调试器,javadoc等)。我们就是依靠JDK来开发和运行Java程序的。JDK的编译器Javac[.ex
- docker学习笔记(五)单个服务镜像部署
xueshanfeitian
docker后端服务器docker学习java
引言当前微服务项目已经大面积普及,对于新需求迭代上线有许多疑惑的部分,比如线上的某些功能不能重启,在这种情况下我们需要部署和启动项目就不能搞大范围重启或干脆重新制作镜像,这种方式都是不可取的,这时候就需要我们自己手动搭建镜像并部署,笔者开始模拟这次上线过程并做记录。部署准备工作step1:安装依赖镜像step2:安装镜像基础镜像很多docker容器都会依赖于jdk基础镜像,我们首先需要制作jdk基
- 4-5 构建Nginx与Java镜像服务并实现NAS动静分离
来自南半球的大伟
云原生nginxjavatomcat
文章目录前言nginx镜像Java镜像jdk基础镜像tomcat程序镜像app业务镜像查看镜像创建NFS共享目录部署Java部署Nginx检查动静分离故障排错前言在4-4章节已经部署好构建镜像的环境,现在可以根据生产实际需求部署web应用。具体为使用nginx做网站服务,java的tomcat解析动态页面,最后使用NAS实现动静分离。构建Nginx与Java镜像服务并实现NAS动静分离nginx镜
- docker中构建rocketmq4.7.1全套镜像,及快速交付脚本
anjianshangren0505
运维rocketmqdocker
docker中构建rocketmq4.7.1全套镜像,及快速交付脚本日常工作中常用的脚本,构建rocketmq4.7.1及其控制台镜像,适用于研发测试环境快速交付多套rocketmq1、构建jdk镜像构建一个jdk基础镜像,提前下载好oraclejdk1.8即可FROMdaocloud.io/centos:7#创建者MAINTAINERmkpid#复制jdk到镜像COPYjdk1.8/usr/lo
- 超详细的mysql5.7数据库rpm安装部署教程--安装部署jdk和mysql
金光闪闪耶
概述之前分享的应该是编译安装mysql的方式,其实还可以用rpm包来安装部署mysql,刚好生产环境上用到了,所以顺便整理了这方面内容。这里我分成三个部分来做介绍,第一部分是jdk基础环境配置的,第二部分是安装部署mysql,第三部分是mysql数据库的配置部分。下面先介绍第一和第二部分内容。一、安装jdk1、解压jdkmkdir–p/usr/local/jdktarzxvfjdk-8u191-l
- docker jdk基础镜像精简(带jps命令) 第一弹
@吕树
dockerdockerlinux运维
打dockerjdk最小镜像包,考虑到小体积,使用jre包,但需要带jps命令,则将jdk中的jps、tools.jar拷贝进jre包。1、到官网找jdk、jre对应的下载地址,用wget进行下载注意官网找的url中otn需要加-pubwget--no-cookies--no-check-certificate--header"Cookie:oraclelicense=accept-secureb
- docker jdk基础镜像精简(x86和arm架构)踩坑 第二弹
@吕树
dockerdockerarm架构linuxjava
通过上一篇dockerjdk基础镜像精简(带jps命令)第一弹的打包研究,用于x86的架构是没有问题的,但是由于公司的架构既有x86,又有arm,因此需要打两个架构的包;以下为我的打包过程遇到的几个问题(包含试错过程),如不想看可直接跳到结尾获取jdk镜像。问题一:打arm架构的包,而我手头上外网只有x86的环境服务器?解决方案:如何在x86架构下进行ARM镜像的构建与运行和[用友技术中台]使用x
- 关于macOS 使用M1芯片,使用JDK链接数据库错误问题的解决方案(全平台,linux,windows,macOS【intel,M1】)。
Luck_sheng
Error集结javamacos数据库
JDK的区别首先,我目前使用的是1.8的JDK,之前一直使用的是Oracle官网的1.8,解决M1芯片的思路是,不再使用Oracle的JDK。oracle:各个jdk版本的下载地址azul:azul官网azulJDK在oracleJDK基础之上,支持M1芯片。报错问题TheserverselectedprotocolversionTLS10isnotacceptedbyclientpreferen
- Spark单机环境搭建
陪你一起debug
1.版本system:centos6.5jdk:1.8.0_141spark:spark-2.0.2-bin-hadoop2.62.下载安装Sparkjdk基础环境省略下载地址:http://spark.apache.org/downloads.htmlwgethttps://archive.apache.org/dist/spark/spark-2.0.2/spark-2.0.2-bin-had
- JVM诊断命令jcmd介绍
jvm
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。简介从JDK7开始,jdk提供了一个方便扩展的诊断命令jcmd,用来取代之前比较分散的jdk基础命令,如jps、jstack、jmap、jinfo等,并且jdk添加新的诊断功能,也会通过jcmd提供,所以还是有必要将这个命令熟悉起来的。列出java进程jps提供了列出本机java进程的功能,jcmd与之类似,直接输入jc
- 两年JAVA后端研发路线
知春路SpideMan
方法论算法leetcodejavajvm中间件
序言今天有同事问,两年的Java后端开发应达到什么水平?讨论一番,趁着余热,简要记录一下,技术栈JAVA,鉴于博主水平有限,如有不周之处,欢迎各位读者拍砖算法能力JDK基础数据结构JVM内存模型分析多线程并发常用中间件数据库设计、架构思维心态一、算法能力算法能力为什么要摆在第一位?第一,这是后端开发能力的根基。作为初级软件开发人员,你的本职工作就是玩内存,使用最小的时间复杂度、空间复杂度实现系统功
- 【计理01组04号】JDK基础入门
yyyyfly
java.lang包java.lang包装类我们都知道java是一门面向对象的语言,类将方法和属性封装起来,这样就可以创建和处理相同方法和属性的对象了。但是java中的基本数据类型却不是面向对象的,不能定义基本类型的对象。那如果我们想像处理对象的方式处理基本类型的数据,调用一些方法怎么办呢?其实java为每个基本类型都提供了包装类:原始数据类型包装类byte(字节)Bytechar(字符)Char
- JDK基础概念及目录结构
mr_franklin
JDK,JRE,JVM等基础概念我们通常所说的JDK,其实是指Java开发包,里面包含Java开发用到的工具集。JDK(JavaDevelopmentToolKit),包含了Java运行环境(JRE)和开发工具(编译器,调试器,javadoc等)。我们就是依靠JDK来开发和运行Java程序的。JDK的编译器Javac[.exe],会将Java代码编译成字节码(.class文件)。编译出的字节码在任
- java的jdk基础知识点总结
在java开发中,有一个核心的组成部分,我们在进行java安装时,首先下载的就是这个软件,它就是JDK工具包。可以说在范围上是包括了java的其它组成部分,不过还需要我们对这个工具包的使用有深入的了解。下面我们就JDK的概念、组成部分、三种类型、与其他构件区别带来详解。1.概念JDK(JavaDevelopmentKit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用
- JDK基础类之GZIPInputStream/GZIPOutputStream
zmld666
java基础
GZIPInputStream/GZIPOutputStream是JDK用来压缩/解压缩的工具。下面是一个压缩字符串的例子:压缩之后的大小为原来的64%左右。importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.util.zip.GZIP
- linux 下docker 推送镜像到私服仓库,遇到报错及解决方法 http: server gave HTTP response to HTTPS
星梦天河
docker
注意:前提是已经安装好本地私服(本地用的是nexus管理docker私服)#拉取jdk基础镜像,并推送到私服仓库dockerpullregistry.cn-shanghai.aliyuncs.com/starxin/docker-jib:1.0dockertag[ImageId]192.168.0.150:5000/docker-jib:1.0dockerpush192.168.0.150:500
- 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