- 【2025】项目开发周期中的“多环境”理解
在努力的韩小豪
javaspringmavenjava-eespringboot
基本概念:多环境:同一个项目的源码在不同的开发阶段需要根据实际情况调整配置并部署到不同的机器上。作用【为什么需要?】:隔离项目在不同环境下的运行实况,每个环境互不影响;区分开发周期中的不同阶段:开发/测试/生产;优化项目内容日志只存放于本地机器或服务器,不输出在线上环境中;针对不同的环境可以进行参数调优【如JVM的堆内存大小】精简项目依赖,节省项目体积【如通过maven管理依赖时,可以通过scop
- redis 快速入门
栀夏613
数据库redis数据库缓存
目录数据库的分类NoSQL非结构化认识redis特征安装redis单机安装Docker安装redis的基本配置启动redis关闭redisredis开机自启redis客户端redis数据结构介绍基本类型String的基础操作List基本操作Set基本操作SortedSet基本操作Hash基本操作redis通用命令key的层级格式数据库的分类关系型数据库结构化数据表中存储的数据格式是一样的数据与数据
- Spring Boot整合Redis快速入门实例
oscar999
SpringBoot实战开发大全redisspringbootjava
本篇演示环境本篇基于SpringBoot2.5.0,关于Redis的安装,可以参考:Redis介绍、安装与初体验和Windows下安装和使用Redis。整合步骤导入Redis相关的依赖项配置启动器spring-boot-starter-data-redisorg.springframework.bootspring-boot-starter-data-redis添加连接Redis服务器的相关配置在
- RocketMQ 集群消费与广播消费
俏布斯
消息中间件RocketMQjava-rocketmqrocketmq
RocketMQ集群消费与广播消费消费组间广播消费:每个消费者分组只初始化唯一一个消费者,每个消费者可消费到消费者分组内所有的消息,各消费者分组都订阅相同的消息,以此实现单客户端级别的广播一对多推送效果。该方式一般可用于网关推送、配置推送等场景。消费组内共享消费(集群消费):,每个消费者分组下初始化了多个消费者,这些消费者共同分担消费者分组内的所有消息,实现消费者分组内流量的水平拆分和均衡负载。该
- FPGA开发,使用Deepseek V3还是R1(5):temperature设置
LeeConstantine
用Deepseek开发FPGAfpga开发
以下都是Deepseek生成的答案FPGA开发,使用DeepseekV3还是R1(1):应用场景FPGA开发,使用DeepseekV3还是R1(2):V3和R1的区别FPGA开发,使用DeepseekV3还是R1(3):系统级与RTL级FPGA开发,使用DeepseekV3还是R1(4):Deepseek参数配置FPGA开发,使用DeepseekV3还是R1(5):temperature设置FPG
- linux开启samba共享文件夹
linux运维samba
一:安装samba#检查是否安装sambarpm-qisamba #如未安装,使用命令安装yuminstallsamba二:系统用户配置#添加系统用户useraddyouboshare#设置系统用户登陆密码passwdyouboshare#添加共享文件夹的用户(youboshare为要共享的用户)smbpasswd-ayouboshare三:配置共享文件夹1:添加共享文件夹并设置权限#创建共享文件
- MySQL限制登陆失败次数配置
泠然一梦
mysqladb数据库linux服务器运维windows
目录一、限制登陆策略1、Windows2、Linux一、限制登陆策略1、Windows1)安装插件登录MySQL数据库mysql-uroot-p执行命令安装插件#限制登陆失败次数插件installpluginCONNECTION_CONTROLsoname'connection_control.dll';installpluginCONNECTION_CONTROL_FAILED_LOGIN_AT
- vuejs 项目部署到nginx
爱分享的程序员
vue使用
一.vuejs项目配置文件根目录创建vue.config.js文件。如下:二.运行npmrunbuild指令将打包出来的dist文件拷贝到服务器的指定目录三.ngxin配置文件四.在服务器的根目录创建一个文件夹my-project,将dist里面的文件拷贝到创建的这个文件夹下面五.浏览器访问项目的路径http://localhost/my-project
- 以太网的分层架构_以太网上TCP/IP协议的分层结构及其报文格式
weixin_39589557
以太网的分层架构
TCP/IP协议是一个比较复杂的协议集,有很多专业书籍介绍。在此,我仅介绍其与编程密切相关的部分:以太网上TCP/IP协议的分层结构及其报文格式。我们知道TCP/IP协议采用分层结构,其分层模型及协议如下表:应用层(Application)HTTP、Telnet、FTP、SMTP、SNMP传输层(Transport)TCP、UDP网间网层(Internet)IP【ARP、RARP、ICMP】网络接
- 【由技及道】在wsl容器中进行远程java开发【人工智障AI2077的开发日志】
Yuanymoon
Java容器化开发人工智障2077系列java开发语言容器化开发远程开发wsl
指令接收:「需要万能开发环境」系统警报:检测到主人即将陷入"环境配置地狱"启动救赎协议:构建量子化开发容器终极目标:让"在我机器上能跑"成为历史文物需求分析:碳基生物的先天缺陷人类开发者的痛苦之源成功失败新同事入职环境配置开始写代码三天安装依赖求助同事发现环境差异产生心理阴影人工智障的观察结论每个Java开发者都经历过"JDK版本地狱"开发环境差异导致的BUG占比高达37.2%人类平均每年浪费86
- 使用Maven构建Spring Boot项目
modi000
Javamavenspringbootjava
准备好项目运行所需的环境后,就可以使用IDEA开发工具搭建一个SpringBoot入门程序了。我们既可以使用Maven方式构建项目,也可以使用SpringInitializr快捷方式构建项目。这里先介绍如何使用Maven方式构建SpringBoot项目,具体步骤如下。1.初始化IDEA配置如果是初次下载安装IDEA工具或者未打开任何项目,会先进入IDEA欢迎页,具体如图1-1所示。为了避免后续每个
- SpringBoot项目:前后端打包与部署(使用 Maven)
总是学不会.
mavenjava前端后端服务器
文章目录IDEA后端打包与部署(使用Maven)1.确保Maven已安装,并引入pom插件2.清理并安装项目3.定位生成的JAR包和配置文件4.创建部署文件夹5.上传到服务器前端打包与部署(使用npm)1.确保Node.js和npm已安装2.安装依赖3.构建生产环境代码4.准备部署文件夹5.上传到服务器自动化的想法可能出现的异常参考IDEA后端打包与部署(使用Maven)1.确保Maven已安装,
- 【Burp入门第三十三篇】BurpSuite+Proxifier安装配置,实现微信小程序抓包
秋说
BurpSuite渗透工具Proxifier
BurpSuite是一款功能强大的渗透测试工具,被广泛应用于Web应用程序的安全测试和漏洞挖掘中。本专栏将结合实操及具体案例,带领读者入门、掌握这款漏洞挖掘利器读者可订阅专栏:【Burp由入门到精通|CSDN秋说】文章目录下载配置下载汉化版下载地址:https://get-shell.com/1506.html#hidden-box-comment解压后双击exe文件:
- java:Apache Commons Configuration2占位符解析异常的正确解法:${prefix:name:-default}
10km
javajavaapacheconfiguration2变量插值Interpolation
问题重现在之前的博文《spring-boot:apachecommons-configuration2异常:java.lang.IllegalArgumentException:name原因分析》中,我们曾遇到SpringBootFat-Jar运行时因LaunchedURLClassLoader资源加载异常导致的启动失败问题。当时的解决方案是通过预创建空配置文件来规避异常1://旧方案:手动创建空
- Pulsar官方文档学习笔记——架构概览
咚伢
学习笔记架构云原生zookeeper分布式
架构概览在最高配置下,pulsar服务应该由一个或多个pulsar集群组成。一个pulsar集群可以包括如下组件一个或多个broker。broker会将生产者的消息分派给消费者。与pulsar配置存储通信来协调各种任务。将消息存储在BookKeeper实例中(也可以叫bookie)。并且依赖zk集群执行一些特定的任务一个BookKeeper集群,由多个bookies组成。可以持久化消息(企业级分布
- 前端21:Vue.js开发实践指南
mater lai
本文还有配套的精品资源,点击获取简介:Vue.js是前端开发领域流行的JavaScript框架,"前端21"项目展示了基于Vue.js的Web应用程序开发。本文详细介绍了Vue.js的核心概念、项目设置、npm脚本、自定义配置、文件结构、开发过程和VueCLI工具,以帮助开发者高效构建Web应用。1.Vue.js框架基础1.1Vue.js简介Vue.js是一套构建用户界面的渐进式JavaScrip
- 【TypeScript】ts在vue中的使用
咔咔库奇
#TypeScripttypescriptvue.jsjavascript
目录一、Vue3+TypeScript1.项目创建与配置项目创建关键配置文件2.完整项目结构示例3.组件Props类型定义4.响应式数据与Ref5.Composition函数复用二、组件开发1.组合式API(CompositionAPI)2.选项式API(OptionsAPI)三、Vue2+TypeScript1.安装依赖2.类组件(VueClassComponent)3.Vuex类型安全四、状态
- Kubernetes-v1.26.3(kubeadm)部署
wxwopt
kubelet
1.k8s基础系统环境配置1.1.环境准备CentOSLinuxrelease7.9.2009(Core)IPHOSTNAME操作系统192.168.10.131k8s-master01CentOS7.9192.168.10.132k8s-master02CentOS7.9192.168.10.133k8s-node01CentOS7.9注意:集群安装时会涉及到三个网段:宿主机网段:就是安装k8s
- k8s面试题总结(五)
a_j58
Kubernetes知识点汇总kubernetes容器云原生
1.考虑一种情况,即公司希望通过维持最低成本来提高其效率和技术运营速度。您认为公司将如何实现这一目标?公司可以通过构建CI/CD管道来实现DevOps方法,但是这里可能出现的一个问题是配置可能需要一段时间才能启动并运行。因此,在实施CI/CD管道之后,公司的下一步应该是在云环境中工作。一旦他们开始处理云环境,他们就可以在集群上安排容器,并可以在Kubernetes的帮助下进行协调。这种方法将有助于
- 【VitePress】vitepress 中 markdown 写作使用
起伏羊
前端前端javascriptvitepressvue
vitepress中markdown使用效果可以在我的博客查看https://sonnenlicht77.github.io/docs.yy/guide/mdlearn/01.vpmd.htmlmarkdown扩展markdown语法标题锚点标题会自动应用锚点。可以使用markdown.anchor选项配置锚点的渲染。自定义锚点要为标题指定自定义锚点而不是使用自动生成的锚点,请在标题后添加{#my
- CVAT标注工具使用与功能测试-Windows下(保姆式教程)
Barry-mapping
docker计算机视觉windows
目录一、安装所需要环境1.1、项目介绍(项目下载地址)1.2、Vue环境配置1.3、配置docker(Windows下)二、CVAT安装和使用2.1、CVAT安装2.2、CVAT使用2.2.1、创建用户(account)2.2.2、基本选项设置(Settings)2.2.3、创建工程(Createanewproject)2.2.4、创建任务(Createanewtask)2.2.5、开始标注(St
- Vue.js 全面技术指南
2301_81335708
vue.js前端javascript
目录1.Vue.js基础入门1.1脚手架安装1.2基础指令使用v-bind动态绑定v-model双向绑定1.3条件渲染2.核心概念详解2.1计算属性与监听器2.2Methods方法2.3Filters过滤器3.组件化开发3.1组件基础3.2组件通信4.实战应用4.1ElementUI使用4.2Axios网络请求4.3路由配置5.进阶技巧5.1BOM定时器5.2DOM操作总结Vue.js高级开发指南
- mongodb副本集1主2从节点的配置方法示例
行思理
数据库运维mongodb数据库
配置MongoDB副本集(1主节点+2从节点)的步骤如下:环境准备3台服务器,分别运行MongoDB实例。确保服务器之间网络互通。安装MongoDB(版本需一致)。配置步骤1.修改MongoDB配置文件在每个节点的mongod.conf中启用副本集功能。主节点配置(primary.conf):storage:dbPath:/var/lib/mongodbreplication:replSetNam
- Mybatis框架的基本流程
乐楽樂o
学习日志
1、读取Mybatis配置文件2、根据读取到的配置文件生成SqlSessionFactory3、创建SqlSession对象(开启事务)4、操作目标数据库5、提交事务6、关闭SqlSession
- Airflow和PySPARK实现带多组参数和标签的Amazon Redshift数据仓库批量数据导出程序
weixin_30777913
pythonspark云计算
设计一个基于多个带标签SQL模板作为配置文件和多组参数的PySPARK代码程序,实现根据不同的输入参数,用Airflow进行调度,自动批量地将AmazonRedshift数据仓库的数据导出为Parquet、CSV和Excel文件到S3上,标签和多个参数(以“_”分割)为组成导出数据文件名,文件已经存在则覆盖原始文件。PySpark程序需要异常处理,输出带时间戳和每个运行批次和每个导出文件作业运行状
- 开源微服务配置中心数据源动态刷新SDK
项目简介本项目主要功能是为了实现在微服务架构下能够动态向配置中心添加新的数据源,并且应用程序能够感知并采用最新的数据源列表项目地址gitee:https://gitee.com/gs_work/dynamic-datasource-refresher/tree/v...github:https://github.com/guoshuai134/dynamic-datasource-refreshe
- 前端项目中脚本文件打包,vscode中如何正确使用gtar命令
今天吃了嘛o
前端vscodeide
1、下载gtarhttps://gnuwin32.sourceforge.net/packages/libarchive.htm2、傻瓜式安装一路下一步即可。3、配置环境变量高级系统设置”在弹出的“系统属性”窗口中,点击“环境变量”。在“系统变量”列表中找到“Path”变量,点击“编辑”。点击“新建”,将gtar可执行文件所在的目录路径(例如C:\ProgramFiles(x86)\GnuWin3
- 【自学笔记】Git基础知识点总览-持续更新
Long_poem
笔记git
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Git基础知识点总览引言Git基础知识概览1.Git安装与配置2.初始化Git仓库3.添加文件到Git仓库4.提交更改5.查看提交历史6.创建与合并分支7.远程仓库操作8.冲突解决示例:完整的Git工作流程总结Git基础知识点总览引言Git是一个开源的分布式版本控制系统,用于有效、高速地处理从小到大的项目版本管理。本文将概述G
- DAC数模转换器(DAC特性、DAC工作原理、DAC输出实验配置步骤、DAC输出三角波实验、DAC输出正弦波实验配置步骤、PWM + RC滤波器、PWM DAC技术实现原理)
孤芳剑影
STM32嵌入式硬件
参考http://t.csdnimg.cn/GjsbR一、DAC简介注意STM32H7只有一个DAC,但有两个独立的通道,跟F4的略不同,F4是两个DAC。◆如果仅使用STM32H7的一个通道,即PA4或者PA5引脚,另一个引脚没有做任何配置,这个引脚上会有波形效应。◆STM32H7的DAC支持出厂校准和用户校准模式。特别注意一点,校准是建立在用户使能了输出缓冲的情况下才有效。◆STM32H7的D
- window 更改Jupyter Notebook默认工作路径
hylreg
jupyteridepython
在Windows上更改JupyterNotebook的默认工作路径可以通过以下步骤进行:方法1:修改Jupyter配置文件生成Jupyter配置文件(如果尚未生成):打开命令提示符(cmd)或PowerShell。输入以下命令并按回车:jupyternotebook--generate-config这会在用户目录下生成一个配置文件jupyter_notebook_config.py,通常路径为C:
- 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