- 【Spring AI】 1接入 Ollama实践
占星安啦
springaijavaspringaiollama
SpringAI接入Ollama实践学习笔记Ollama官方文档SpringAI快速开始SpringAIOllama集成文档1.pom.xml依赖配置前置条件:请确保你已安装好Java17+、Maven、Ollama,并已下载好所需大模型。在pom.xml中添加SpringAI及Ollama相关依赖:org.springframework.bootspring-boot-starter-webor
- Spring Boot属性配置方式
a_Dragon1
SpringBoot学习记录springbootjava后端intellij-idea
一、SpringBoot属性配置方式。在编写完成后端程序之前,可以通过yml配置文件键值对的方式修改配置环境,一旦打包完成,再次修改yml配置文件较为麻烦,此时,可以使用以下配置方式:1.命令行参数方式--键=值--server.port=10010在JAR运行命令的后面添加此命令即可。java-jarXXX.jar--server.port=端口号2.操作下的环境变量方式3.外部配置文件方式在J
- java+vue+SpringBoo智慧旅游系统(程序+数据库+报告+部署教程+答辩指导)
源代码+数据库+LW文档(1万字以上)+开题报告+答辩稿ppt+部署教程+代码讲解+代码时间修改工具技术实现开发语言:后端:Java前端:vue框架:springboot数据库:mysql开发工具JDK版本:JDK1.8数据库:mysql数据库工具:Navicat开发软件:idea主要角色及功能介绍本次系统的用例图做出了十分明确的功能划分,在设计时可以有很好的设计思路进行设计和延展。(1)管理员用
- Spring Security 鉴权与授权详解(前后端分离项目)
前言在现代Web开发中,前后端分离架构已经成为主流。后端专注于提供RESTfulAPI,而前端通过AJAX请求与后端交互。在这种架构下,如何对用户进行认证(Authentication)和授权(Authorization)成为了系统设计中的核心问题。SpringSecurity是Spring框架中用于构建安全系统的模块,它不仅提供了强大的安全机制,还支持灵活的自定义配置。本文将围绕鉴权失败和成功时
- 手把手教你入门vue+springboot开发(十三)--无感token前端实现
段鸿潭
java前端vue.jsspringboot
文章目录前言一、前端代码实现1.登录处理2.刷新token请求增加3.请求拦截器修改4.响应拦截器修改5.测试结果二、代码逻辑优化前言上一篇我们研究了无感token刷新的实现方案以及后端代码实现,本篇我们将详细研究一下前端代码实现,前端代码实现过程中也有很多细节的地方需要注意,重点要关注前端代码编码过程中的业务逻辑处理。一、前端代码实现1.登录处理Login.vue文件中://调用接口,完成登录l
- SpringMVC实战:从配置到JSON处理全解析
Cyanto
SpringMVCspringjava
目录项目概述核心配置文件解析web.xml配置springmvc.xml配置控制器详解基本控制器示例请求处理方式获取请求参数返回JSON数据请求转发重定向视图解析与页面跳转项目结构说明关键知识点总结项目概述这是一个基于SpringMVC的Web应用示例,展示了如何配置SpringMVC环境、创建控制器以及处理不同类型的请求和响应。项目包含了以下核心功能:基本页面跳转请求参数处理JSON数据返回请求
- Spring Cloud入门-Config分布式配置中心(Hoxton版本)
2501_90225587
springcloud分布式spring
修改config-client的配置config-sever集群搭建使用到的模块项目源码地址项目使用的SpringCloud为Hoxton版本,SpringBoot为2.2.2.RELEASE版本SpringCloud入门系列汇总|序号|内容|链接地址||—|—|—||1|SpringCloud入门-十分钟了解SpringCloud|https://blog.csdn.net/ThinkWon/a
- 开源项目收集
叶虽
开源项目mongodb数据库mysqlspringbootvue
全网各类开源项目收集1、SpringBoot+Vue完整的外卖系统,手机端和后台管理,附源码!2、JEECG-BOOT适合SAAS项目、企业信息管理系统,办公统计管理3、J-IM即时通讯系统1、SpringBoot+Vue完整的外卖系统,手机端和后台管理,附源码!flash-waimai一个完整的外卖系统,包括手机端,后台管理,api基于springboot和vue的前后端分离的外卖系统包含完整的
- Java后端面试必备:高频知识点与实战解析(Git/Maven/MySQL/SpringBoot全攻略)
陈遇巧
学习javamavenspringspringboot
1.面试ToC面向个人,B2B2C(第1个B是指商品或服务的供应商,第2个B是指从事电子商务的企业,C是消费者。例子:腾讯课堂,第1个B是腾讯公司,第2个B是入驻授课的企业,C是用户学习课程)1.详细说说你的项目吧从以下几个方面进行项目介绍:1.项目的背景,包括:是自研还是外包,什么业务,服务的客户群是谁,谁去运营等问题。2.项目的业务流程3.项目的功能模块4.项目的技术架构5.个人工作职责6.个
- SpringBoot项目接口集中测试方法及实现
sclibingqing
springboot后端java
为了实现在每次修改后自动测试所有接口的需求,你可以使用SpringBootTest框架结合JUnit5编写集成测试。以下是完整的实现方案:实现策略使用SpringBootTest进行集成测试-启动完整Spring上下文统一管理测试用例-集中配置所有接口的测试参数自动遍历测试-循环执行所有接口测试异常捕获与报告-精确报告失败接口的详细信息支持多种HTTP方法-处理GET/POST/PUT/DELET
- spring event(spring事件)
喝可乐的希饭a
Springspringjava数据库
背景在Spring框架中,事件处理是一个强大的功能,允许在应用程序中发布和监听事件。这对于解耦组件、实现异步处理以及增强应用的反应性非常有效。以下是使用Spring事件的一般步骤:定义事件类:首先,需要定义一个事件类,该类通常继承自ApplicationEvent。不过,从Spring4.2开始,你可以使用任何对象作为事件。publicclassMyCustomEventextendsApplic
- 基于SpringBoot文件管理系统中的分片上传实现
分片上传一、引言现代Web应用中,大文件上传是一个常见需求。传统单文件上传方式在网络不稳定或文件过大时存在诸多问题。分片上传技术通过将大文件分割为小块进行传输,完美解决了大文件上传的痛点。本文将深入探讨分片上传的核心实现方案。二、功能概述分片上传功能用于处理大文件上传,支持断点续传、MD5校验秒传和并发上传,核心特点包括:断点续传:通过记录已上传分片,支持中断后继续上传秒传功能:基于文件MD5值实
- JVM核心技术解析
MoneyHacksPro
Java场景面试宝典JavaJVMClassLoading
我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、Spri
- Spring Cloud Feign 整合 Sentinel 实现服务降级与熔断保护
述雾学java
SpringCloudspringcloudsentineljava
SpringCloudFeign整合Sentinel实现服务降级与熔断保护在微服务架构中,服务之间的调用往往依赖Feign,而服务调用的稳定性又至关重要。本文将介绍如何将Feign与Sentinel结合使用,实现服务的容错保护(如降级与熔断),提升系统的健壮性与可用性。一、引入依赖我们创建一个新的微服务,作为Feign调用方。pom.xml中添加如下依赖:org.springframework.b
- MyBatis注解开发增删改查基础篇
1加1等于
#SpringBootspringboot
本文是MyBatis注解开发的基础篇,将通过实际场景,详细介绍MyBatis注解式开发的使用,这是MyBatis很强大的一个特性,可以直接在接口方法上定义SQL语句,从而实现数据库的增删改查操作。本文目录一、环境依赖二、创建对应实体类三、映射接口四、复杂查询与动态SQL一、环境依赖在开发之前,需要确保环境pom.xml中添加了MyBatis相关依赖。org.mybatis.spring.bootm
- Springboot整合Elasticsearch及常用方法大全
水木石画室
springbootelasticsearchjenkins
SpringBoot整合Elasticsearch是企业级开发中常见的需求,用于实现高效的全文检索、日志分析等功能。以下是整合的核心步骤和常用方法大全,涵盖从基础配置到高级操作的完整流程。一、环境准备与依赖配置1.环境要求Elasticsearch:需先安装并启动(建议7.10+或8.x版本,与SpringDataElasticsearch兼容)。SpringBoot:推荐2.7.x或3.x版本(
- Flowable02表结构--------------持续更新中
鱼见千寻
flowablejava前端servletspringbootflowable
那么根据上文我们已经将flowable引入springboot项目中去了,而flowable这个框架本质上来说就是对这60张表操作的封装。那么明白这60张表是干啥的对我们理解使用这个框架非常的有帮助。如下是这60多张表的具体解释,当然不需要全部记住,最下边会有比较重要表的总结,若是追求速成可直接看最后的核心关系。Flowable的表都以ACT_开头,这是沿用了其前身Activiti的命名习惯。表名
- SpringBoot RabbitMQ 配置参数
闲走天涯
mqjava-rabbitmqspringbootrabbitmq
SpringBootRabbitMQ配置参数参数值表示spring.rabbitmq.addresses以逗号分隔的客户端应连接的地址列表。spring.rabbitmq.cache.channel.checkout-timeout如果已达到缓存大小,则等待获取通道的毫秒数。spring.rabbitmq.cache.channel.size要保留在缓存中的通道数。spring.rabbitmq.
- rabbitmq配置参数解析在springboot中
天然玩家
架构设计#Spring配置解析RabbitMQSpringBootJava
1缘起我是一个菜鸟。如何才能在群体中飞得更高?期望是,大家不会用的,我会;大家都会用的,我精。当然了,大家不会用的我也不会。大家会用的,我也可能不会用。勤补拙。我在使用RabbitMQ组件的过程中,一些配置参数,如RabbitMQ连接、发布者、监听者,这些参数均是抄过来的,并不知道真生的含义,现打算弄清楚每个参数的含义,为后续的线上遇到问题,调参做准备。成为调参架构师2入口如何找到RabbitMQ
- Spring Boot秒杀系统崩溃?一招解决高并发难题
国际云
大数据数据库架构
想象一下:精心策划的秒杀活动终于上线,瞬间涌入百万用户,你的系统却不堪重负,页面卡死、库存错乱、订单丢失…这种噩梦场景,正是众多开发者面对高并发时的真实困境。以SpringBoot为核心的秒杀系统,如何突破性能瓶颈?本文将揭示核心解决方案,助你轻松应对流量洪峰。一、秒杀系统崩溃?高并发下的致命痛点流量洪峰:瞬时并发量(QPS/TPS)远超日常数十甚至数百倍,服务器资源(CPU、内存、网络、数据库连
- SpringBoot项目使用Redis作为数据缓存
sclibingqing
缓存springbootredis
一、基础配置步骤1.添加依赖在pom.xml中引入Redis和Cache依赖:org.springframework.bootspring-boot-starter-data-redisorg.springframework.bootspring-boot-starter-cache2.配置Redis连接,YAML格式配置文件中配置如下:spring:redis:host:127.0.0.1#Re
- spring boot 注解@Component
yu15050186065
springbootannotationspirngspringioc
@Component。Spring提供进一步典型的注解:@Component,@Service,和@Controller。@Component是任何Spring托管组件的通用注解。而@Repository,@Service和@Controller是@Component针对更特定用例的专业化(分别在持久性,服务和表示层)。因此可以用他们来注解你的组件类与@Component具有同样作用,通过与注解它
- Gateway实现对接口参数加密
kerolalala
java前端网络
知识点SrpingCloudGateway过滤器讲解一、概述在微服务架构中,API网关(Gateway)是系统对外的统一入口,它不仅负责请求的路由分发,还承担着安全控制、流量控制等重要职责。参数加密是保障数据传输安全的重要手段之一,我们可以让客户端负责加密参数,网关负责在请求到达各服务端之前进行解密,然后将明文参数请求分发给对应服务。此文将介绍一个基于SpringCloudGateway实现的参数
- Spring boot 注解实现幂等性
夏壹分享
微服务技术体系java数据库spring
1.添加SpringAOP依赖在pom.xml中添加如下依赖:2.创建自定义幂等性注解创建一个新的Java注解类,通过@interface关键字来定义,并可以添加元注解以及属性。/***《像乌鸦一样思考》让孩子学会观察和独立思考!*https://www.sanzhiwa.top/6718.html*/@Retention(RetentionPolicy.RUNTIME)//程序运行时有效@Tar
- MyBatis-Spring 优化 Mapper 接口使用的实践与原理
coderzpw
MybatisSpring系列mybatisspringjava
MyBatis-Spring优化Mapper接口使用的实践与原理一、纯MyBatis项目Mapper接口使用的核心痛点1.1配置与调用流程繁琐1.2代码规范难以统一1.3依赖管理不清晰二、MyBatis-Spring实现Mapper接口自动化注册的原理与优势2.1MapperScannerConfigurer2.2ClassPathMapperScanner2.3MapperFactoryBean
- Java 中 DataSource-数据源 的基础介绍
Java中DataSource-数据源的基础介绍一、核心概念解析1.1数据源(DataSource)1.2数据库连接池(ConnectionPool)1.3二者关系1.4DataSource接口二、DataSource解决的问题与优势2.1DataSource的作用2.2传统方式的局限性2.3使用连接池DataSource的改进三、SpringBoot中DataSource的配置与使用3.1自动配
- SpringBoot + MyBatis 事务管理全解析:从 @Transactional 到 JDBC Connection 的旅程
coderzpw
MybatisSpring系列springbootmybatisjava
SpringBoot+MyBatis事务管理全解析:从@Transactional到JDBCConnection的旅程一、JDBCConnection:事务操作的真正执行者1.1数据库事务的本质1.2Spring与Connection的协作流程二、从@Transactional到JDBCConnection的完整链路2.1Spring中TransactionInterceptor的核心逻辑2.2T
- springboot中@Transactional注解的使用
风也温柔1
springbootspringboot后端java
1、引入依赖首先,确保你的SpringBoot项目中包含了对事务支持的依赖。对于大多数应用场景,SpringBoot会自动引入事务管理相关的依赖。但如果你需要手动添加,可以检查spring-boot-starter-data-jpa(针对JPA)或spring-boot-starter-jdbc(针对JDBC)等起步依赖是否已经存在于你的pom.xml或build.gradle文件中。2、使用@T
- Java--SpringBoot使用@Transactional注解添加事务
m0_54883970
面试学习路线阿里巴巴android前端后端
一、Java事务1、通常的观念认为,事务仅与数据库相关。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、**隔离性(isolation)和持久性(durability)**的缩写。事务的原子性:表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。事务的一致性:表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事
- springboot使用@Transactional失效问题排查
1、排查数据库引擎是不是InnoDB2、启动类是否开启@EnableTransactionManagement3、重点在使用@Transactional(rollbackFor=Exception.class)这个注解的类或者方法中是否有trycatch如果有,要在catch中设置手动回滚//设置手动回滚TransactionAspectSupport.currentTransactionStat
- 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