- Flink访问Kerberos环境下的Hive
我若成风zhb
flinkflinkkerberoshivehadoop
目录测试环境工程搭建示例代码及运行总结本文主要介绍如何使用Flink访问Kerberos环境下的Hive。测试环境1.hive版本为2.1.12.flink版本为1.10.0工程搭建使用IDE工具通过Maven创建一个Java工程,具体创建过程就不详细描述了。1.在工程的pom.xml文件中增加如下依赖org.apache.flinkflink-java${flink.version}provid
- ubuntu中PHP xdebug 断点调试
knight11112
1.php.ini添加xdebug模块1.1安装xdebugsudoapt-getinstallphp5.6-xdebug1.2.查询扩展路径find/etc/-name"xdebug.ini"一开始不带*精确查找不到,结果如下:/etc/php/5.6/cli/conf.d/20-xdebug.ini/etc/php/5.6/mods-available/xdebug.ini/etc/php/5
- Diffusion中guidance_scale 的理解
不当菜鸡的程序媛
Diffusion人工智能stablediffusion
guidance_scale是一个控制生成图像引导程度的参数。它的含义和使用与论文Imagen:PhotorealisticText-to-ImageDiffusionModelswithComposableConditions中的公式(2)的引导权重类似。1.Classifier-FreeGuidance的背景Classifier-FreeGuidance是一种在扩散模型中提高生成样本质量的方法
- 【spark床头书系列】如何在YARN上启动Spark官网权威详解说明
BigDataMLApplication
sparkspark大数据分布式
【spark床头书系列】如何在YARN上启动Spark官网权威详解说明点击这里看全文文章目录添加其他JAR文件准备工作配置调试应用程序Spark属性重要说明KerberosYARN特定的Kerberos配置Kerberos故障排除配置外部Shuffle服务使用ApacheOozie启动应用程序使用Spark历史服务器替代SparkWebUI官网链接确保HADOOP_CONF_DIR或者YARN_C
- 安装 zsh Bash
ambition_forever
LNGX
//安装oh-my-zsh之前需要安装zshshell切换bashchsh-s/bin/bash切换zshchsh-s/bin/zsh1、查看系统当前的shellecho$SHELL返回结果如下:/bin/bashPS.默认的shell一般都是bash2、查看bin下是否有zsh包cat/etc/shells返回结果如下:/bin/sh/bin/bash/sbin/nologin/bin/dash
- 正则表达式
小米人er
我的博客正则表达式
正则表达式,又称正规表示法、常规表示法(RegularExpression,在代码中常简写为regex、regexp或RE),是一种用于匹配和处理文本的强大工具,它使用特定的字符和符号组合来描述文本模式。以下是关于正则表达式的基本介绍和使用方法:基本概念字符类:用方括号[]表示,用于匹配方括号内的任意一个字符。例如,[abc]可以匹配a、b或c中的任意一个字符。元字符:具有特殊含义的字符。例如^表
- Android开发倒计时工具类
893151960
android开发日记androidAndroid教程Android案例Android倒计时Android开发倒计时
Android开发倒计时工具类倒计时功能很常见,分享个倒计时工具类,用的是RxJava3。直接上代码:/***@paramsecond*@paramnextObserverdesc:倒计时*createbycongon2018/5/2511:46*/publicstaticDisposabledealCountDownS(longsecond,ConsumernextObserver,Consum
- 代码随想录算法训练营第三十七天-动态规划-完全背包-理论基础
taoyong001
算法动态规划c++leetcode
完全背包与01背包根本区别就是物品的数量完全背包,物品的数量是无限的,可以任意取多个01背包物品的数量则只有一个遍历顺序01背包的一维滚动数组必须要从后向前遍历,这是防止一个物品被多次加入背包中而完全背包就是要多次加入物品,所以遍历自然而然就变成正序遍历了for(intj=weight[i];j<=capacityOfCurrentBag;++j)因为是二层遍历,且这两层遍历可以交换可以交换的本质
- 【游戏设计原理】85 - 菲兹定律
tealcwu
#游戏设计的100个原理游戏游戏策划
1.什么是菲兹定律菲兹定律描述了目标大小、目标距离与到达目标所需时间之间的关系。目标越大、离起始点越近,人们越容易快速而精确地点击它。相反,目标越小或距离越远,操作的难度就越高。2.适用场景菲兹定律适用于以下场景:游戏设计战斗与瞄准:决定目标的大小和移动速度,平衡挑战与玩家体验。操控设计:控制器(如鼠标、手柄)精度与速度的优化。用户界面设计(UI/UX)按钮布局:将常用的功能按钮设计得更大,放置在
- 0163__linux动态链接库导出函数控制
*_潇_*
0016__C/C++笔记
linux动态链接库导出函数控制-bitbit-博客园Linux下GCC编译共享库控制导出函数的方法-小侠猫猫球-博客园-fvisibility=default|internal|hidden|protected是GCC编译器的一个选项,用于控制符号(函数、变量等)的可见性,不同的参数取值有着不同的作用,以下为你详细介绍:-fvisibility=default:含义:这是默认的符号可见性设置。使
- 老大说了,即使你是女程序员,这性能调优你也得拿下!
码炫课堂-码哥
性能调优数据库程序人生javaredis分布式队列数据库
【悟思维】项目架构决定性能?优秀的架构胜过一万次的调优这个问题很容易理解,一个单节点(一台应用服务器+一台数据库服务器)的系统架构,任凭你使出浑身解数来调优也不可能让系统达到百万级并发,别说百万级了,上万并发都不可能。不说其他的,在一个性能相对不错的物理机上,mysql最多也就能承载3500-4500的QPS,你说你能调优调到上万并发??在目前来看如果不借助于其他组件或者其他技术手段是不太可能的。
- xgboost在spark集群使用指南
一颗小草333
算法mapreducespark数据挖掘
简介XGBoost是一个优化的分布式梯度增强库,具有高效、灵活和可移植性。在梯度增强框架下实现了机器学习算法。XGBoost提供了一种并行树增强(也称为GBDT、GBM),可以快速、准确地解决许多数据科学问题。相同的代码在主要的分布式环境(Hadoop、SGE、MPI)上运行,可以解决数十亿个示例的训练问题。xgb相对于gbt所做的改进:1.2.3.XGBoost可以使用R、python、java
- RTMP|RTSP播放器只解码视频关键帧功能探讨
音视频牛哥
RTSP播放器RTMP播放器大牛直播SDK实时音视频音视频rtsp播放器rtmp播放器rtspplayerrtmpplayer大牛直播SDK
技术背景我们在做RTMP|RTSP直播播放器的时候,遇到过这样的技术诉求,在一些特定的应用场景中,可能只需要关键帧的信息,例如视频内容分析系统,可能只对关键帧进行分析,以提取特征、检测对象或场景变化。鉴于关键帧包含完整的图像信息,解码时不需要依赖其他帧,可以独立解码。相比之下,预测帧(P帧)和双向预测帧(B帧)需要参考其他帧的信息进行解码,在这种情况下,仅解码关键帧可以满足需求,同时避免不必要的解
- 6-scala特质
qwy715229258163
scalascala开发语言后端
特质(Traits)用于在类(Class)之间共享程序接口(Interface)和字段(Fields)。它们类似于Java8的接口。类和对象(Objects)可以扩展特质,但是特质不能被实例化,因此特质没有参数。定义一个特质最简化的特质就是关键字trait+标识符:traitHairColor特征作为泛型类型和抽象方法非常有用。traitIterator[A]{defhasNext:Boolean
- 【安装cudnn】
Eternal-Student
linuxlinux
官网下载并安装如果打算使用深度学习框架,如TensorFlow或PyTorch,并且需要GPU加速,可能还需要安装NVIDIA的cuDNN库,它是一个GPU加速的深度神经网络库。officialweb:https://developer.nvidia.com/cudnn下载具体:cuDNN9.5.0Downloads历史版本下载:https://developer.nvidia.com/rdp/c
- 使用ndoe实现自动化完成增删改查接口
光头程序员
自动化运维
使用ndoe实现自动化完成增删改查接口最近工作内容比较繁琐,手里需要开发的项目需求比较多,常常在多个项目之间来回切换,有时候某些分支都不知道自己开发了什么、做了哪些需求,使用手写笔记的方式去记录分支到头来也是眼花缭乱,作为前端工作3年的弟弟想着为啥不能自己直接将这些数据存在数据库里,实现一个增删改查的日常工作记录管理呢?说干就开始搞!!!1、首先我们先安装mysql数据库1.1、这个就直接搜一个教
- webpack 学习从零到亿过程
光头程序员
webpack学习前端
webpack学习从零到亿过程适合小白从零到一搭建一个项目,虽然没有效果的截图但是知道跟随这个步骤流程走下去,你就会成功掌握打包的原理!我们先初始化一个node项目npminit安装webpack包npminstallwebpackwebpack-cli--save-dev写webpack配置文件config/webpack.dev.config.js安装了pathnpmipath-s-d并新建了
- JAVA中contains函数的用法(字符)
艾诺_Aynor
学习笔记JAVAJAVAJAVA基础contains
booleancontains(CharSequences):判断指定内容中是否包含括号中的内容;一般推荐把常量字符串写在前面,变量写在后面.
- 从bash 换到 zsh
卜夋
Debian/Linuxshellzsh
看见zsh漂亮的主题和强大的功能,准备了解一波zsh。使用zsh首先的安装zsh,本文所说只针对debian系,其它的可作为参考。查看系统当前安装的shellcat/etc/shells可以看出我的shell变量是上面那些,我已经安装了zsh,如果没有安装的话,执行sudoaptinstallzsh切换zshsudousermod-s/bin/zshusername//chsh-s/usr/bin
- Scala 默认参数值、命名参数
小黑王HK
大数据Scala默认参数值命名参数
默认参数值Scala提供了给参数设置默认值的机制,这样,便可以令调用者在调用方法时省略这些参数。#定义具有默认参数的方法deflog(kkk:String,iii:String="GG")=println(s"$kkk$iii")#忽略具有默认值的参数log("hhhhhhh")如果调用者省略了某一参数,那么此参数之后的参数需要指定名称。deflll(kkk:String="GG",ggg:Str
- 【Linux】ubuntu解决github无法拉取代码问题
奈何不吃鱼
Linux问题解决linuxgithubgit
使用git拉取代码时,有时会出现如下的问题fatal:unabletoaccess'https://github.com/FISCO-BCOS/java-sdk-demo/':Couldnotresolvehost:github.com那么如何解决呢?我们可以在/etc/hosts里添加如下内容,对github.com进行解析即可140.82.112.3github.com199.232.69.1
- 【FISCO BCOS】二十三、部署WeBASE-Node-Manager
奈何不吃鱼
FISCOBCOS区块链FISCOBCOSLinux运维WeBASE
WeBASE-Node-Manager是WeBASE的子组件之一,可以处理前端页面所有web请求,管理各个节点的状态,管理链上所有智能合约,对区块链的数据进行统计、分析,对异常交易的审计,私钥管理等,今天我们来部署WeBASE-Node-Manager。环境:ubuntu22、已搭建单机四节点(节点已启动)、安装并配置java环境、安装并配置mysql环境、已部署节点前置服务(服务已启动)关于以上
- SpringBoot使用 easy-captcha 实现验证码登录功能
八月五
实战项目springboot后端java
文章目录一、环境准备1.解决思路2.接口文档3.redis下载二、后端实现1.引入依赖2.添加配置3.后端代码实现4.前端代码实现在前后端分离的项目中,登录功能是必不可少的。为了提高安全性,通常会加入验证码验证。easy-captcha是一个简单易用的验证码生成库,支持多种类型的验证码(如字符、中文、算术等)。本文将介绍如何在SpringBoot后端和Vue.js前端中集成easy-captcha
- python实战项目27:boss直聘招聘数据可视化分析
wp_tao
Python副业接单实战项目信息可视化python数据分析
boss直聘招聘数据可视化分析一、数据预处理二、数据可视化三、完整代码一、数据预处理在上一篇博客中,笔者已经详细介绍了使用selenium爬取南昌市web前端工程师的招聘岗位数据,数据格式如下:这里主要对薪水列进行处理,为方便处理,将日薪和周薪的数据删除,将带有13薪和14薪的数据也删除,计算出最低薪资、最高薪资和平均薪资三列。数据预处理代码如下:importpandasaspddf=pd.rea
- Pytorch深度学习指南 卷I --编程基础(A Beginner‘s Guide) 第1章 一个简单的回归
liuhui244
深度强化学习深度学习pytorch回归
本章正式开始使用pytorch的接口来实现对应的numpy的学习的过程,来学习模型的实现,我们会介绍numpy是如何学习的,以及我们如何一步步的通过torch的接口来实现简单化的过程,优雅的展示我们的代码,已经我们的代码完成的事情numpy的线性回归在此之前,先看看现在的numpy实现的学习的过程是什么样的#引入计算模块importnumpyasnpfromsklearn.linear_model
- Playwright 跟踪查看器:深入探索与高级用法
三带俩王
pythonplaywright
在现代Web开发和自动化测试中,Playwright已经成为了一个强大的工具。而Playwright的跟踪查看器(TraceViewer)更是为开发者和测试人员提供了深入了解和分析测试过程的强大功能。本文将深入探讨Playwright跟踪查看器的高级用法,帮助你更好地利用这个工具来优化你的Web开发和测试流程。一、Playwright跟踪查看器简介Playwright跟踪查看器是一个用于查看和分析
- Playwright 与 WebView2:高级用法探索
三带俩王
pythonplaywright
在现代Web自动化和测试领域,Playwright以其强大的功能和易用性脱颖而出。而当与WebView2结合时,更是开启了一系列令人兴奋的高级应用场景。本文将深入探讨Playwright与WebView2的结合使用,展示其高级用法,帮助你在Web开发和测试中发挥更大的作用。一、Playwright与WebView2简介1.PlaywrightPlaywright是一个由微软开发的强大的Web自动化
- Python 3 中使用 SMTP 发送邮件:高级技巧与应用
三带俩王
python网络服务器
在现代的软件开发和自动化流程中,发送电子邮件是一项常见的任务。Python3提供了强大的工具来实现这一功能,特别是通过使用SMTP(SimpleMailTransferProtocol)协议。本文将深入探讨Python3中使用SMTP发送邮件的高级用法,展示其在不同场景下的灵活性和强大功能。一、SMTP简介SMTP是一种用于发送电子邮件的协议。它允许客户端(如Python程序)与邮件服务器进行通信
- Python 在股票分析中的高级应用:挖掘金融数据的深度洞察
三带俩王
python金融开发语言
在当今的金融世界中,股票分析是投资者和金融从业者必备的技能。Python作为一种强大且灵活的编程语言,为股票分析提供了丰富的工具和技术。本文将深入探讨使用Python进行股票分析的高级用法,涵盖从数据获取与清洗、高级分析指标计算到机器学习和深度学习在股票分析中的应用等多个方面。一、数据获取与预处理:构建坚实的分析基础1.数据来源与获取直接从证券交易所获取数据:许多证券交易所提供了数据接口,例如,上
- Python 中的complex(real[, imag])函数:高级用法与强大功能
三带俩王
python开发语言算法
在Python中,complex(real[,imag])函数是一个用于创建复数的强大工具。复数在数学、物理学、工程学等领域中有着广泛的应用,而Python的complex类型为我们提供了便捷的方式来处理复数。本文将深入探讨complex(real[,imag])函数的高级用法,展示其在不同场景下的强大功能。一、复数的基本概念复数是由实数和虚数组成的数,通常表示为a+bj的形式,其中a和b是实数,
- 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