- Apollo部署及整合SpringBoot实战
It_BeeCoder
SpringBoot
前言:最近在完成毕业设计,题目是《基于微服务的B2C网上商城系统的设计与实现》,整个项目最早是我在看黑马的培训视频时学习JavaWeb做的一个项目,第一次做完大约在去年过年的时候,这个项目前前后后自己改了差不多5、6次了,使用技术不断更新(还有一些小细节的修改比如最早购物车用Session后来用Redis存储),从最早的Servlet+Filter到SSM+Redis到SpringBoot+Thy
- Visual Studio Code(VS Code)支持的编程语言
计算机辅助工程
vscode
JavaScript:VSCode原生支持JavaScript,提供语法高亮、代码折叠、自动补全等功能。推荐使用ESLint和Prettier进行代码格式化和错误检查。TypeScript:作为JavaScript的超集,TypeScript在VSCode中也得到原生支持,提供类似的编辑功能。Python:通过安装Python扩展,VSCode支持Python编程,提供调试、Int
- 记一次多线程导入问题排查过程
程序辕日记
javaMySqljavaspringboot
记一次多线程导入问题排查过程1.需求2.遇到问题3.排查解决问题1.需求大数据量的核对:现在有1000个excel文件,每个excel文件内有21个sheet页,现在要对这些数据进行核对,需要先将这些数据导入到库中,再进行核对。2.遇到问题库使用的是MySql,程序是Java,springcloud生态,在串行导入的时候,导入一次大概需要60分钟,现在对其进行改造,使用多线程导入,其思路为:创建线
- 报表控件stimulsoft操作:使用 Angular 应用程序的报告查看器组件
CodeCraft Studio
控件angular.js前端javascript
StimulsoftUltimate(原StimulsoftReports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NETCore、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,StimulsoftUltimate包含了所有内容!StimulsoftReports最新版下载介绍报告和仪表板查看
- 我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:如何看待Java上层技术与JVM?
李阿昀
只要你有心人人都是JVM精通者javajvm
「JVM与Java体系架构」章节的整体目录从现在开始我们就要正式步入第一章——JVM和Java体系结构的学习中了,首先我们看一下这一章要讲授的主要内容都有哪些。前言面向人群及参考书目Java及JVM简介Java发展的重大事件虚拟机与Java虚拟机JVM的整体结构Java代码执行流程JVM的架构模型JVM的生命周期JVM的发展历程从上面可以看到,这一章节的内容分量还是比较充足的,而且也比较详细,因为
- Java集成InfluxDB
动亦定
物联网数据库java数据库
1.添加InfluxDB依赖首先,在项目中添加InfluxDB的Java客户端依赖。如果使用Maven,可以在pom.xml中添加以下依赖:com.influxdbinfluxdb-client-java6.3.02.创建InfluxDB客户端接下来,创建InfluxDB客户端实例,用于连接InfluxDB服务器。importcom.influxdb.client.InfluxDBClient;i
- Java直通车系列28【Spring Boot】(数据访问Spring Data JPA)
浪九天
Java直通车javaspringspringboot开发语言后端
目录SpringDataJPA概述核心概念1.仓库接口(Repository)2.实体类(Entity)3.方法命名查询4.@Query注解场景示例步骤1:添加依赖步骤2:配置数据库连接步骤3:创建实体类步骤4:创建仓库接口步骤5:创建服务类步骤6:创建控制器类测试示例SpringDataJPA概述SpringDataJPA是Spring提供的一个用于简化JPA(JavaPersistenceAP
- Java直通车系列27【Spring Boot】(配置文件使用)
浪九天
Java直通车javaspringbootspring后端开发语言
目录配置文件的作用与格式配置文件的类型配置文件的加载顺序场景示例SpringBoot中配置文件的使用非常灵活和重要,主要有.properties和.yml(.yaml)两种格式:配置文件的作用与格式作用:用于配置SpringBoot应用程序的各种属性,如数据库连接信息、服务器端口、日志级别、自定义属性等,实现对应用行为的定制化。.properties格式:以键值对形式存储配置信息,每行一个键值对,
- Java直通车系列19【Spring MVC】(国际化支持)
浪九天
Java直通车javaspringmvc开发语言
目录国际化支持机制概述1.资源束(ResourceBundle)2.MessageSource3.LocaleResolver4.LocaleChangeInterceptor场景示例1.创建资源束文件2.配置MessageSource3.配置LocaleResolver4.配置LocaleChangeInterceptor5.创建控制器和视图解释国际化支持机制概述SpringMVC的国际化支持主
- JSON对象处理工具类
波波有料
JAVAjsonjava开发语言
目录1.工具类的功能设计2.工具类的实现依赖配置工具类代码3.工具类的使用示例示例1:美化JSON打印示例2:从JSON中提取数据示例3:修改JSON数据示例4:合并JSON对象4.总结在现代软件开发中,JSON(JavaScriptObjectNotation)是一种广泛使用的轻量级数据交换格式。由于其简洁性和易读性,JSON被广泛应用于API通信、配置文件、数据存储等场景。然而,在处理JSON
- 深入理解正则表达式及基本使用教程
波波有料
JAVA正则表达式
目录摘要一、正则表达式是什么?二、正则表达式的基本语法1.元字符2.字符集与范围3.常用预定义字符集4.分组与反向引用捕获分组:非捕获分组:三、Java中正则表达式的实现1.Java基础示例2.替换字符串3.验证输入格式4.提取信息5.拆分字符串四、常见正则表达式应用场景1.手机号验证2.提取HTML标签内容3.替换多余空格五、总结摘要正则表达式(RegularExpression,简称Regex
- Apache Commons Lang3 和 Commons Net 详解
波波有料
apache
目录1.ApacheCommonsLang31.1什么是ApacheCommonsLang3?1.2主要功能1.3示例代码2.CommonsNet2.1什么是CommonsNet?2.2主要功能2.3示例代码3.总结3.1ApacheCommonsLang33.2CommonsNet3.3使用建议4.参考资料前言在Java开发中,ApacheCommons项目提供了许多实用的工具库,帮助开发者更高
- JavaScript 性能优化实战案例与解决方案
Real Man★
javascript性能优化开发语言
JavaScript性能优化是提升Web应用流畅度和用户体验的核心环节。以下是针对常见性能问题的实战案例与优化方案,涵盖代码优化、渲染优化、内存管理等多个方面:一、高频事件处理优化案例1:滚动事件卡顿问题:页面监听scroll事件实现动态效果,但频繁触发导致卡顿。优化方案:javascript复制//1.节流(Throttle):固定时间间隔执行functionthrottle(fn,delay)
- Java统计代码的执行时间的6种方法
码叔义
java基础java开发语言
Java统计代码的执行时间的6种方法前言:在日前开发中我们会遇到需要统计运行的时间但是又不想运用JMH测试框架,所以本文就汇总了一些比较常用的统计时间的测试方法,总共有6种,我做了一个大概的思维导图:方法一,这个方法System.currentTimeMillis()和System.nanoTime()都是java内置的方法。packagecom.qfedu.first;publicclasste
- Nginx实现接口复制
m0_74823094
面试学习路线阿里巴巴nginxjunit运维
目录1、前言2、接口流复制2.1、方式一:使用mirror指令2.1.1、nginx配置2.1.2、配置说明2.1.3、测试结果2.1.4、注意事项2.2、方式二:使用Lua2.2.1、安装Openresty2.2.2、nginx配置2.2.3、配置说明2.2.4、测试结果3、小结1、前言项目中,通常会遇到一个中转服务需要往多个不同的系统推送同一份数据,传统做法是需要在Java代码侧中调用多个AP
- Java Spring 中构造函数注入和setter注入的优缺点
编程小弟
springjavaspring开发语言
JavaSpring构造函数注入和Setter注入是两种常见的依赖注入方式,它们各有优缺点,适用于不同的场景。构造函数注入优点:强制依赖:构造函数注入在对象创建时就要求所有必需的依赖项都已提供,这有助于确保对象在初始化时就是完整和可用的。如果缺少任何依赖项,对象将无法创建,这有助于在开发早期发现潜在问题。不可变性:一旦对象通过构造函数初始化,其依赖项就被固定下来,无法更改。这有助于确保对象的内部状
- SpringBoot 外化配置及加载顺序
ashane1314
springbootpython后端
SpringBoot的外化配置加载顺序遵循特定的优先级规则,高优先级的配置会覆盖低优先级的。以下是详细的配置源加载顺序及规则:一、配置源的优先级(从高到低)命令行参数通过--key=value传递的参数,如java-jarapp.jar--server.port=8081。SPRING_APPLICATION_JSON属性通过环境变量或系统属性传递的JSON格式配置,如SPRING_APPLICA
- IOC 篇
ashane1314
java开发语言
一、概念SpringIOC(InversionofControl,控制反转)是Spring框架的核心特性之一,它是一种设计理念,用于实现对象的创建和依赖关系的管理。以下为你详细介绍:核心概念传统的对象创建方式:在传统的Java开发中,对象的创建和管理通常由程序员在代码中手动完成。例如,当一个类需要依赖另一个类的对象时,通常会在该类中使用new关键字来创建依赖对象。这种方式会导致类与类之间的耦合度较
- Python, Java 开发全国性仕农工商学急切诉求反映APP (惠民版)
Geeker-2025
pythonjava
开发一个全国性的“仕农工商学急切诉求APP”(以下简称“诉求APP”)是一个复杂且多层次的项目,旨在为不同社会群体(如公务员、农民、工人、商人、学生等)提供一个平台,方便他们提交和查看各自的紧急诉求。该项目需要综合运用多种技术和工具,以确保应用的稳定性、安全性和高效性。以下是使用Python、Java和C++分别开发该应用的关键模块和基本思路。##一、功能需求概述1.**用户管理**:-注册、登录
- 今日学习之 Java TCP通信技术与群聊程序开发
java修仙传
学习javatcp/ip经验分享
在今天的Java学习中,我深入探索了TCP通信技术,并将其应用于群聊程序的开发,同时了解了TCP通信的BS架构。以下是我的学习总结与技术分享。一、TCP通信技术基础TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它的主要特点包括:面向连接:在通信开始之前,需要建立连接(三次握手),通信结束后需要释放连接(四次挥手)。可靠交付:通过确认、重传和排序机制,确保数据准确无误地
- Spring Boot 3 中集成 Swagger 问题:Type javax.servlet.http.HttpServletRequest not present
我命由我12345
后端-问题清单springbootservlet后端javahttpspringjava-ee
问题与处理策略问题描述io.springfoxspringfox-swagger23.0.0io.springfoxspringfox-swagger-ui3.0.0在SpringBoot3中集成Swagger时,报如下错误java.lang.TypeNotPresentException:Typejavax.servlet.http.HttpServletRequestnotpresent#翻译
- Java每日一讲讲什么好_撩课-Java每天10道面试题第1天
Robeon Lee
Java每日一讲讲什么好
1.简述JDK、JRE、JVM?一、JDKJDK(JavaDevelopmentKit)是整个JAVA的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即JavaAPI包括rt.jar)。JDK是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?在目录下面
- 每日学Java之一万个为什么
~Yogi
修炼java开发语言
文章目录RESTFUL风格设计JSON数据中的返回工具类R浏览器跨域问题及其前后端解决办法SpringMVC基于AOP的功能有哪些SpringMVC声明式异常处理SpringMVC拦截器区别filter不能放行RESTFUL风格设计url:尽量使用名词,如果实在重复使用动词method:GETDELET(区别路径传参:唯一标识,和接受查询字符串:范围查询)POSTPUTparam:response
- Spring Boot整合Redis详解
光阴不负卿
redisredis
Redis的Java客户端有很多,例如Jedis、JRedis、SpringDataRedis等,SpringBoot借助于SpringDataRedis为Redis提供了开箱即用的自动化配置,开发者只需要添加相关依赖并配置Redis连接信息即可,具体步骤如下:创建SpringBoot项目:首先创建SpringBoot项目,添加如下依赖:org.springframework.bootspring
- 学习Java的一些技术心得
袖风染云
学习java
简介作为一名Java学习之旅的同行者,我在这里分享我的学习心得和实战经验。无论您是初学者还是希望提高技能的开发者,我都希望这些内容能为您带来价值。如有任何疑问或建议,请随时留言交流介绍Java我们在学习Java的时候,肯定是先来认识一下什么叫Java,它是干什么用的Java,自1995年由SunMicrosystems推出以来,已成为全球最受欢迎的编程语言之一。其’一次编写,到处运行’的理念,使得
- 0310-冒泡排序、选择排序的Java实现
春生野草
数据结构笔记排序算法算法java数据结构
Java基本//定义使用变量//定义使用函数//基本类型//整数byteshortintlong//小数floatdouble//字符char''//布尔boolean//引用类型//StringArrayListLinkedList自定义冒泡排序两两比较交换冒泡排序Java实现package排序;importjava.util.Arrays;publicclassTest{publicstati
- javase集合框架List篇
2301_76231794
面试专题listjava
一、Vector和ArrayList、LinkedList联系和区别,分别的使用场景ArrayList:底层是数组实现,线程不安全,查询和修改非常快,但是增加和删除慢LinkedList:底层是双向链表,线程不安全,查询和修改速度慢,但是增加和删除速度快Vector:底层是数组实现,线程安全的,操作的时候使用synchronized进行加锁使用场景:Vector已经很少用了增加和删除场景多则用Li
- 每日学习Java之一万个为什么
~Yogi
修炼学习java开发语言
文章目录Spring声明式事务配置事务接口PlatformTransactionManagerSpring基于AOP的事务具体实现流程@Transactional细节事务传播行为SpringMVC所需依赖SpringMVC五个组成部分功能及其原理SpringMVCHandler方法注解RequestMappingHandlerAdapter工作原理Handler需要处理的数据格式,以及用于简化参数
- Stream 流 【学习笔记】Java 基础
燕赵韩魏555
Java基础学习#javajava学习
若文章内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系博主删除。写这篇博客旨在制作笔记,方便个人在线阅览,巩固知识,无其他用途。学习视频【黑马Java基础教程】Stream流从入门到精通】【黑马程序员Java零基础视频教程】(上部)【黑马程序员Java零基础视频教程】(下部)Java基础(查缺补漏)Java集合【学习笔记】Java基础:https://blog.csdn
- Stream.of()用法示例
爆米花9958
Java8新特性java
Stream.of用于为给定元素创建顺序流。我们可以传递单个元素或多个元素。查看java文档中的Stream.of方法声明。staticStreamof(Tt)参数:传递单个元素。返回值:该方法返回一个包含一个元素的流。staticStreamof(T...values)参数:传递多个元素。返回值:该方法返回包含给定元素的流。Stream.of创建有限元素流。为了创建一个无限元素流,我们可以使用S
- 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