- Spring Boot & MyBatis Plus 版本兼容问题(记录)
michael.csdn
springbootmybatisplus后端
SpringBoot&MyBatisPlus版本兼容问题(Invalidvaluetypeforattribute'factoryBeanObjectType':java.lang.String)问题描述问题排查1.检查`@MapperScan`的路径2.项目中没有配置`FactoryBean`3.检查`Spring`和`MyBatisPlus`版本兼容性解决方法问题描述当使用spring-boo
- MySQL-分库分表
飘飘渺渺渺红尘
JavaWebServicemysqljava数据库
目录一、shardingsphere1、官方文档2、入门环境搭建2.1、引入依赖2.2、创建数据库2.3、sharding-jdbc分片策略配置2.4、事务2.5、mybatis-plus配置3、分片策略3.1、行表达式分片策略3.2、标准分片策略(1)精准分片算法精准分库算法精准分表算法(2)范围分片算法范围分库算法范围分表算法3.3、复合分片策略复合分片算法4、事务4.1、背景4.2、挑战4.
- elementui树状菜单tree_Java + Element-UI 实现简单的树形菜单
weixin_39682301
一、简单入门级树形菜单实现(纯后台逻辑)1、简介(1)开发环境IDEA+JDK1.8+mysql1.8SpringBoot2.2.6+mybatis-plus此处仅后台开发(返回json数据),前台页面展示后续会讲解。(2)数据表如下,仅供参考,可以添加修改时间、创建时间、逻辑删除等字段。DROPDATABASEIFEXISTStest;CREATEDATABASEtest;USEtest;/*用
- SpringBoot+Netty+WebSocket 如何实现消息推送
技术琐事
rxjavajavajava-ee架构后端
Netty是一个利用Java的高级网络的能力,隐藏底层的复杂性而提供一个易于使用/使用其服务器的API的客户端框架。基于SpringBoot+MyBatisPlus+Vue&Element实现的后台管理系统+用户小程序,支持RBAC动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能项目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro
- Mybatis-Plus基本使用:从入门到精通
DTcode7
sql数据库相关数据库mysqlSQL数据库开发sql
Mybatis-Plus基本使用:从入门到精通一、Mybatis-Plus简介1.1核心特点1.2快速启动二、基本使用详解示例一:CRUD操作示例二:条件查询示例三:分页查询示例四:自动填充示例五:代码生成器三、高级技巧与实战经验3.1多表关联查询3.2性能优化3.3错误排查与调试四、最佳实践与建议五、结语在当今快速发展的软件工程领域,数据库操作的便捷性与效率成为了众多开发者关注的焦点。Mybat
- mybatis 动态传入表名 注解_MyBatis构建sql时动态传入表名以及字段名
理柴德波浪技术
mybatis动态传入表名注解
一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能。今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到。这种情况下,就需要构建sql来动态传入表名、字段名了。现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助。动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会
- mybatis学习(14/134)
一缕叶
mybatismybatis学习
packagecom.power.mybatsi.test;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessi
- mybatis学习(7/134)
一缕叶
学习
简单了解了一下maven,https://chatgpt.com/share/678bb629-bb4c-800c-8f3b-a41d298e5467,xml还是比较方便的,对于部署或者打包之类的,只需要配置对应的代码,idea会自动到对应的中央库中下载,还可以从国内的镜像去下载,mybatis需要配置对应的mysql-connetion-java,但是版本不要需要与sql的版本相同,我今天以为需
- RuoYi(若依)框架的介绍与基本使用(超详细分析)
涔溪
前端框架ruoyi
**RuoYi(若依)**是一个基于SpringBoot和SpringCloud的企业级快速开发平台。它集成了多种常用的技术栈和中间件,旨在帮助企业快速构建稳定、高效的应用系统。以下是关于RuoYi框架的详细介绍和基本使用教程,涵盖了从环境搭建到核心功能的使用。RuoYi框架简介1.技术栈后端技术:SpringBoot,MyBatis,Druid,Redis,Shiro/SpringSecurit
- Mybatis配置文件中mapper标签中package子标签的注意事项!
松醪
mybatisjavaspring
Java目录下的文件和Resources目录下的文件要在同一个目录下,在Java中创建目录时使用com.xxx.dao的方式,则会自动创建com文件夹xxx文件夹bean文件夹。而在Resource目录下不能像Java创建包一样的方式使用com.xxx.dao来创建文件夹,必须用com/xxx/dao的方式来创建。如下:Mybatis核心配置文件中,mappers标签中package子标签的值需要
- Mybatis总结(一)(简单介绍)
weixin_34326429
java数据库
1.1MyBatis介绍MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创
- mybatis架构原理
章绍龙
java基础
1、mybatis配置SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。SqlMapConfig.xml是mybatis的核心文件。mybatis将dao层与sql语句分离开来,虽然写的时候分离开来了,但是执
- Mybatis框架
蓝眸少年CY
#SSM框架mybatis
目录一、三层架构二、使用JDBC的缺陷三、快速入门1、概述2、解决的主要问题3、入门案例添加Maven坐标加入Maven插件编写Student实体类编写Dao接口StudentDao编写Dao接口Mapper映射文件StudentDao.xml创建MyBatis主配置文件创建测试类MyBatisTest配置日志功能insert操作(1)StudentDao接口中增加方法(2)StudentDao.
- MyBatis框架
TuSi_Cat
框架mybatis开发语言javaspringmaventomcat
目录框架技术持久化与ORMMyBatis简介搭建MyBatis开发环境MyBatis框架优缺点MyBatis基本要素核心接口和类的结构核心对象SqlSessionFactoryBuilderSqlSessionFactorySqlSession系统核心配置文件配置properties元素配置properties元素的两种方式settings元素typeAliases元素environments元素
- 最新面试题【mybatis】
牛马baby
1024程序员节java
1,#{},${}区别?#{}是占位符,可以避免SQL注入,~在执行时会将SQL中的#{}替换为?号。${}是拼接符2,实体类中的字段和表中不一致该如何处理?第一种通过起别名的方式。第二种使用resultmap进行一一对应3,动态SQL执行原理,有哪些?执行原理是使用OGNL从SQL参数对象中计算表达式的值,根据表达式的值完成逻辑判断并动态拼接SQL,有if,foreach,where,trim,
- JAVA:MyBatis 缓存机制详解的技术指南
拾荒的小海螺
JAVAjavamybatis缓存
1、简述MyBatis是Java开发中常用的持久层框架之一,通过面向对象的方式操作数据库。为了提高系统性能,MyBatis提供了两级缓存机制:一级缓存(本地缓存)和二级缓存(全局缓存)。本文将详细讲解MyBatis缓存机制的使用原理、配置方法,并通过示例展示如何合理地使用缓存优化数据访问效率。2、基础原理2.1一级缓存作用范围:一级缓存是基于SqlSession级别的缓存,即在同一个SqlSess
- 【SpringBoot3】Spring Boot 3.0 集成 Mybatis Plus
m0_74824517
面试学习路线阿里巴巴springbootmybatis后端
文章目录一、什么是MybatisPlus特性二、SpringBoot3.0集成MybatisPlus三、MybatisPlus查询示例1、普通查询2、分页查询参考一、什么是MybatisPlusMyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
- mybatis-plus: 多租户隔离机制
玉成226
【MyBatis-plus】mybatis
文章目录一、TenantLineHandler1、介绍2、包含的方法二、简单实例三、实践1、实现TenantLineHandler接口一、TenantLineHandler1、介绍TenantLineHandler是Mybatis-Plus中用于处理多租户的接口,用于实现多租户数据隔离的具体逻辑。通过实现这个接口,我们可以自定义多租户的处理方式,例如根据不同的租户信息动态拼装SQL条件,实现数据的
- Mybatis-plus 实现多租户业务实战
Java技术攻略
mybatis
前言今天来了解下如何使用mybatis-plus实现我们的多租户实战,从多租户概念引入到SpringBoot项目中的实际应用。这块也之前已经在项目中应用,将这部分功能摘取出来进行demo演示。一、多租户概念1.1云服务模式要想了解下多租户的概念,我们需要了解下几种云服务模式,常见的有IAAS、PAAS、SAAS等服务。而我们的多租户是SAAS服务特有的产物。SAAS服务是部署在云端,客户可以同时使
- 基于mybatis-plus实现的多租户架构
叔叔很忙
javaspring
整体概述多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下(多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。多租户在数据存储上主要存在三种方案,独立数据库、共享数据库,独立Schema、共享数据库,共享Schema,共享数据表。独立数据库即一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本较高。优点:为不同
- 后端学习1.4: Mybatis-plus配置多租户
Congee_porridge
后端开发学习mybatisjavaspringboot后端
功能要求Mybatis-plus配置多租户。从header中的token获取租户信息;所有userController的数据库操作*不要*配置多租户,所有工作计划相关的数据库操作*需要*配置多租户,达成数据隔离。开发工具:IDEA技术:Springboot+MabtisPlus+Postman1、什么是多租户?多租户技术(多重租赁技术,简称saas),是一种软件架构技术;可以实现同一套程序下用户数
- 【MyBatis-Plus】实现多租户功能
会飞的猪ϵ( 'Θ' )϶
springcloud微服务mybatis数据库java
一、引言多租户是一种软件架构技术,在多用户的环境下,共有同一套系统,并且要注意数据之间的隔离性。举个实际例子:小编曾经开发过一套H5程序,这套程序应用在不同医院的APP上,当医院患者下载医院APP,并且进入相对应的H5页面,APP则会把用户相关数据传输到小编这里。在传输的时候需要带上医院标识(租户ID),以便小编将数据进行隔离。当不同的租户使用同一套程序,这里就需要考虑一个数据隔离的情况。数据隔离
- Mybatis-plus 多租户插件
YaYicho
mybatisjava
前言本篇主要分析Mybatis-plus多租户插件,然后根据多租户插件在延伸到其他场景案例Mybatis-plus官网对多租户插件已有详细讲解,这里就不在附上使用案例。源码分析MybatisPlus官方是由TenantLineInnerInterceptor这个拦截器进行多租户功能处理,所以,本篇章主要对TenantLineInnerInterceptor这个类的讲解。TenantLineInne
- springboot+mybatis的pageInfo分页的参数含义
媤纹琴獣
java
//当前页privateintpageNum;//每页的数量privateintpageSize;//当前页的数量privateintsize;//总页数privateintpages;//第一页privateintfirstPage;//上一页privateintprePage;//下一页privateintnextPage;//总记录数privatelongtotal;//由于startRow
- Mybatis源码-加载映射文件与动态代理
大家好,我是半夏之沫一名金融科技领域的JAVA系统研发我希望将自己工作和学习中的经验以最朴实,最严谨的方式分享给大家,共同进步写作不易,期待大家的关注和点赞关注微信公众号【技术探界】前言本篇文章将分析Mybatis在配置文件加载的过程中,如何解析映射文件中的SQL语句以及每条SQL语句如何与映射接口的方法进行关联。在看该部分源码之前,需要具备JDK动态代理的相关知识,如果该部分不是很了解,可以先看
- mybatis xml sql
媤纹琴獣
mybatisxmlsql
1.mybatis根据某一个字段根据以及集合中的列表进行模糊匹配mapperListselectByLinkList(@Param("userId")StringuserId,@Param("messageName")StringmessageName,@Param("anJinGoodsNameList")ListanJinGoodsNameList,@Param("sjDate")Datesj
- 中型项目中 MyBatis 的挑战与应对
计算机毕设定制辅导-无忧学长
#MyBatismybatis
一、引言在当今的Java企业级开发领域,MyBatis无疑是一款占据重要地位的持久层框架。它像是一座桥梁,优雅地连接着Java应用程序与数据库,让数据的交互变得高效且便捷。当我们聚焦于中型项目时,随着业务复杂度的提升以及数据量的增长,MyBatis在为我们带来便利的同时,也悄然面临着诸多挑战。这些挑战涵盖了从性能瓶颈到代码维护性,从数据库兼容性到事务管理等多个关键层面。深入探究这些问题并找寻有效的
- Springboot毕设项目动物园售票管理系统96zau(java+VUE+Mybatis+Maven+Mysql)
韩元计算机毕设
mybatisjavaspringboot
项目运行环境配置:Jdk1.8+Tomcat8.5+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也
- 【2023最新Java大厂面试题】——MyBatis面试题,看完拿捏面试官
Java凤梨
Java金三银四面试题mybatisjava面试
全套Java金三银四面试题持续更新可文末自取,建议关注收藏不然下次找不到哟~目录1、什么是Mybatis?2、Mybaits的优点:3、MyBatis框架的缺点:4、MyBatis框架适用场合:5、MyBatis与Hibernate有哪些不同?6、#{}和${}的区别是什么?7、当实体类中的属性名和表中的字段名不一样,怎么办?8、模糊查询like语句该怎么写?9、通常一个Xml映射文件,都会写一个
- URI 未注册(设置 语言和框架 架构和 DTD)
m0_74825260
架构java开发语言
一、问题描述:在springboot项目中的resources中新建mybatis-config.xml文件时,从mybatis文档中复制的代码报错:URI未注册(设置|语言和框架|架构和DTD)二、解决:在Springboot项目的设置->架构和DTD中添加红色的网址(http://mybatis.org/dtd/mybatis-3-config.dtd)
- 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