- 使用flv.js + websokect播放rtsp格式视频流
音视频开发老马
流媒体服务器Android音视频开发音视频开发ffmpeg开发语言flv流媒体服务器音视频开发
1.问题背景在最近的项目中,涉及到海康接入的视频播放的问题,海康这边获取到的视频流是rtsp格式,web端目前没有直接可以播放的组件,于是最开始是后端处理了视频流,返回hls格式的m3u8地址,这样用videojs插件就可以播放了,但是问题就是处理了的m3u8地址播放效果非常差,第一次加载时间较长,且播放过程中很卡,尤其是项目的界面做的是视频监控墙,不止一个视频,导致没办法看了。想着最好的方式还是
- 前端播放RTSP视频流,使用FLV请求RTSP视频流播放(Vue项目,在Vue中使用插件flv.js请求RTSP视频流播放)
北城笑笑
JavaScriptVueJSjavascriptvue.js
简述:在浏览器中请求RTSP视频流并进行播放时,直接使用原生的浏览器API是行不通的,因为它们不支持RTSP协议。为了解决这个问题,开发者通常会选择使用像flv.js这样的库,它专为在浏览器中播放FLV和其他流媒体格式设计。然而,flv.js本身并不直接支持RTSP,这意味着我们需要一个额外的步骤来桥接RTSP和flv.js。这里来记录一下详细介绍:在Vue中使用flv.js插件播放RTSP视频流
- 颜色拾取器 jscolor.js插件中工作中遇到的问题
乱来丶Fack
jscolor.js在动态加载的弹出层上面,点击选择颜色,会有弹不出来的情况的.1.bootstrap中只需要把弹出层的zIndex:层级改高,应该就没问题了。2.还有就是动态加载的弹框的问题,因为jscolor是个方法,他在js加载的时候,就只走一遍,那个时候弹框还没加载进来,所以,他是找不到这个class的,所以就会造成点击input,jscolor弹不出来的情况。解决方案:动态加载jscol
- js 预览excel/csv
stpzhf
前端javascript
git地址:https://gitee.com/nulicainiao/analyzing-excel-csv.git一、直接上代码1.下载引入使用xlsx.js插件及cptable.js文件importXLSXfrom'./xlsx'importcptablefrom'./cptable.full'functionfixdata(data){//文件流转BinaryStringvaro="",l
- redux 简单实现各组件状态管理
暴躁程序员
一、redux特点1.redux是集中管理共享状态的JS插件库2.store用于存储状态的容器,唯一状态树,即:store的state是一个对象,且是唯一的3.action组件改变store状态时,发布的动作4.reducer纯函数,在不改变store状态的情况下返回最新state状态二、redux主要方法createStore(reducer)创建storestore.getState()获取s
- BootStrap学习笔记JS插件(一)--模态弹出框
ok060
javascriptbootstrap学习
一、弹出框基础×Close模态弹出窗标题模态弹出窗主体内容关闭保存Bootstrap框架中的模态弹出框,分别运用了“modal”、“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-content”中,其主要又包括三个部分:☑弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮☑弹出框主体,一般使用“modal-body
- 使用jquery的imagecropper插件做用户头像上传 兼容移动端
虫虫教父
Jquery小东西用户自定义头像上传jqueryimagecropp
相信大多的用户系统里都有用户自定义头像上传这个功能,我这今天也在写这块,我将代码贴出来,方便以后大家借鉴。实现方案:使用jquery的imagecropper.js插件中裁剪功能来实现imagecropper.js这个源码我找了很久才找到http://pan.baidu.com/s/1oDqRO代码量很少就没有写注释了cssbody{padding:0;margin:0;height:100%;b
- 使用webstorm调试vue 2 项目
Future_By_Now
vuewebstormvue.jside
学习目标:使用webstorm调试vue2项目笔者环境:npm6.14.12webstorm2023.1vue2学习内容:例如:正常启动npm项目配置javaScruotdubug配置你的项目地址就好使用dubug运行你配置的调式页问题如果进入了js页无法进入vue页1.查看settting的vue.js插件是否安装2.查看webpack.conf.js文件是否配置了devtool:“eval-s
- doc文件在线预览 vue_vue实现在线预览pdf文件和下载(pdf.js)
Monsterchen Xu
doc文件在线预览vue
最近做项目遇到在线预览和下载pdf文件,试了多种pdf插件,例如jquery.media.js(ie无法直接浏览)最后选择了pdf.js插件(兼容ie10及以上、谷歌、安卓,苹果)强烈推荐改插件,以下介绍用法(1)下载插件(2)将下载构建后的插件放到文件中public(vue/cli3.0)(3)在vue文件中直接使用,贴上完整代码exportdefault{name:"pdf",data(){r
- JavaScript - 基础+WebAPI(笔记)
禁止摆烂-才浅
前端-笔记JavaScriptES6javascript笔记前端
前言:求关注本篇文章主要记录以下几部分:基础:输入输出语法;数据类型;运算符;流程控制-分支语句;流程控制-循环语句;数组-基础;函数-基础;对象-基础;WebAPI:DOM;DOM事件基础(事件监听、常用事件、事件对象);DOM事件进阶(事件流、事件委托);日期对象;节点操作;M端事件;JS插件;window对象;本地存储;正则表达式;以下部分请移步JavaScript-进阶+高级(笔记):进阶
- vue前端使用pdf.js 实现pdf网页预览效果
刘能能能
前端vuejshtml
vue前端使用pdf.js实现pdf网页预览效果前言最近,在vue项目中需要用到在线预览pdf功能,首先想到了pdf.js插件。pdf.js是一个技术原型主要用于在HTML5平台上展示PDF文档,无需任何本地技术支持。不需要本地浏览器额外支持。准备下载pdfjs—免积分下载注意:只能在服务器使用本地在不能预览。服务器centos很多人在用pdfjs的时候会发现网上的教程都用不了,因为一点击就会弹出
- cool框架 node.js 实现 腾讯云短信
一只小阿乐
node.js腾讯云云计算
1.现在想实现node后端实现腾讯云验证码的功能去腾讯云上下载了node.jssdk下载了以后发现不能使用问了问客服说是sdk有问题2.qcloudsms_js插件的使用腾讯短信(1).安装npmiqcloudsms_js-save(2)主题代码使用import{Config,Provide}from'@midwayjs/decorator';import{BaseService}from'@co
- Vue3使用dayjs以及dayjs日期工具类
谁不想飞舞青春
前端vuejavascript前端vue.js
Vue3使用dayjs全局使用以及将dayjs封装为自己需要的日期工具类说明安装dayjs命令在main.js里面全局导入在vue模版中使用dayjs语法如下dayjs日期工具类说明这里记录下在Vue3里面使用dayjs插件,以及将它在全局使用,并且将dayjs封装成自己需要的日期工具类。留待以后需要时直接使用。安装dayjs命令npminstalldayjs--save在main.js里面全局导
- FadstAdmin的city-picker插件实现地区多选
withoutfear
fastadminPHPfastadmincity-picker
下面是效果图:在public\assets\libs\fastadmin-citypicker目录下原有的基础上复制一份,重命名city-picker-multi.min.js,在这个基础上更改。参考文章如何在FastAdmin中加载第三方JS插件或自己编写插件?-FastAdmin问答社区在public\assets\js\backend-init.js中新增一下内容:define(['back
- Swiper轮播插件的使用与二次封装
听书先生
1、Swiper官方文档链接:Swiper中文网-轮播图幻灯片js插件,H5页面前端开发Swiper是一个非常强大的轮播插件,Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端。并且Swiper不依赖于任何框架,意味着单纯的html+css也可以去引用,jquery或是Vue等等,都可以去使用。2、Vue中使用Swiper建议不要直接依据官方文档的npm安装,np
- JS-swiper插件
小沐°
JSjavascript前端开发语言
插件:就是别人写好的一些代码,我们只需要复制对应的代码,就可以直接实现对应的效果官网:Swiper中文网-轮播图幻灯片js插件,H5页面前端开发
- vue使用video.js播放m3u8格式视频
奶昔不会射手
javascriptvue.js音视频
//安装video.js插件npminstallvideo.js-S//页面引入importVideojsfrom"video.js";import"video.js/dist/video-js.css";props:{src:{type:String,default:"https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8",//可以用这个流来测试},
- webpack tree shaking 摇树原理
我有一棵树
webpack前端node.js
Tree-shaking是指在打包过程中通过静态分析,识别并删除未使用的代码,以减小最终输出文件的大小。Webpack通过内置的UglifyJS插件或者Terser插件来实现Tree-shaking。下面是简要的webpackTree-shaking的原理:标记未使用的代码:在编译过程中,Webpack会通过静态分析模块之间的依赖关系,识别出哪些代码是未使用的。基于ES6模块系统:Tree-sha
- 使用VueCli创建vue2项目
许七安687
vue.js前端npm
适看人群:后端开发、编程初学者等首先有个问题:Vue和Vue-Cli是什么关系?有什么区别?做个类比:VueCLI=Vue+一堆的js插件。SpringCloud=SpringBoot+一堆第三方组件。使用方式:VueCLI是一个脚手架,通俗点说就是代码生成器,可以快速生成一套基于Vue完整的前端框架,单独编译,单独部署。可以再集成各种第三方插件,扩展出更多的功能。Vue是渐近式框架,你可以用它一
- 【dayjs】类型“Dayjs”上不存在属性“isSameOrAfter”
白桃与猫
踩坑日记前端javascript
dayjs中有一些方法是需要使用插件后才能使用,默认情况下,Day.js只提供核心代码,没有安装插件。解决方法:importdayjsfrom'dayjs';importisSameOrAfterfrom'dayjs/plugin/isSameOrAfter';dayjs.extend(isSameOrAfter);再次使用就不报错了:✨相关网址:dayjs插件列表dayjs中文网dayjs官网
- vue高级用法
Ms.Wang.
vue.jsjavascript前端
Vue插件plugin1,Vue插件plugin安装Vue.js插件。如果插件是一个对象,必须提供install方法。如果插件是一个函数,它会被作为install方法。install方法调用时,会将Vue作为参数传入。该方法需要在调用newVue()之前被调用。当install方法被同一个插件多次调用,插件将只会被安装一次。使用插件通过全局方法Vue.use()使用插件。它需要在你调用newVue
- html转换成canvas文字空白,html2canvas.js——HTML转Canvas工具
weixin_39623411
我们经常会遇上动态生成海报的需求,而在Web前端中,生成图片非Canvas莫属。但是在实际工作当中,为了追求效率,我们会不可避免地去使用一些JS插件,而html2canvas.js就是一款优秀的插件,它可以轻松地帮你将HTML代码转换成Canvas,进而生成可保存分享的图片。具体如何使用这款插件呢?接下来请让我用一个简单的示例来为大家讲解。现在假设要生成如下图片,而所有图片和文字都是动态获取的。按
- 最优的JS甘特图插件【转载】
陨石猎人
javascriptjavascript甘特图前端插件
甘特图(ant-gantt)在项目管理中,甘特图的可视化操作界面,可以让项目规划与风险把控更便捷与清晰,同时该插件是一款基于HTML5、javasrcipt的一款js插件,支持在当前主流的前端框架中接入。效果图:如何使用1、下载插件官网地址:https://www.aim.link/h5/KA.html2、导入项目将下载到的sdk拷贝至项目工程目录,如拷贝至:externalSdk/ant-gan
- vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地
坚书直实i
vue.jsjavascript前端
①首先下载FileSaver.js插件npminstallfile-saver--save②在需要的.vue页面引入import{saveAs}from'file-saver'在HTML中引入//FileSaver.js只有一个函数就是saveAs,它有三个参数,//第一个是:Blob、File、Url可以是二进制流、文件、URL的地址。//第二个是:文件的名字//第三个是:可选的object对象
- FixedDataTable-无性能消耗百万级table
这个超人不会飞阿
给你个眼神写这篇文章的原因是,自己在遇到FixedDataTable时候,上网搜了一些文章,总没有尽人意的,或者都是英文版本,对阅读能力有要求.因此我做了对FDT的总结.很多人可能还没有听过这个js插件,简单点,它就是一个table.那么它的强大之处在哪里?我们先看看官网的解释:AReacttablecomponentdesignedtoallowpresentingmillionsofrowso
- Eclipse上安装angularjs插件
微笑偷走我的魂
angularjs插件
安装地址:http://oss.opensagres.fr/angularjs-eclipse/0.5.0/全选,下一步,接受,安装。安装完成之后需要将项目转换为angularjs项目:项目右键,选中configure
- input输入框清除插件,极好用!
herogus丶
共同进步插件html
不BB别的了,直接上干货,很容易看懂,自己上手测试吧clearInput.js插件代码:(function(){document.addEventListener('DOMContentLoaded',function(){varautoClearFiled=document.querySelectorAll('.am-input-autoclear');//重点,与“HTML中重点1”对应,获取
- 360*180度全景图预览插件Photo Sphere Viewer
MC桥默
插件描述PhotoSphereViewer是一款基于Three.js的360X180度全景图预览js插件。该js插件可以360度旋转查看全景图,也可以上下180度查看图片。使用该插件的唯一要求是浏览器支持canvas或WebGL。(demo不再服务器里面演示的话请使用火狐浏览器)demo下载链接:https://pan.baidu.com/s/1QS-ieA7pqUDosNRhgL26Cw提取码:
- 手写一个表单设计器 -- activiti工作流养成计划(八)
唐田震
目标:手写表单设计器开源的表单设计器有很多,但是我还是手写一个,原因如下: 1、开源的样式与若依框架不配套,如果自己再改样式的话难度与工作量太大。 2、与自己想要的总是有些出入。 3、造轮子的快乐。大致思路:基于若依框架本身提供的js插件和layui样式制作,效果与框架本身配套。使用HTML5提供的拖拽api,可以是代码编写更简单。利用thymeleaf的技术特点,将各种表单元素组件化,方便插拔与
- Sublime Text3配置nodejs运行环境
light_fish
sublimetext3配置nodejs运行环境最近几日也是在学习nodejs,一般我都是在用vi来进行简单的编写。但是编写复杂点到的就会可能因为不当心的代码输入错误而报错,所以我就来尝试一下用SublimeText3来进行编写。所以这篇博客也是记录下sublime下的nodejs运行环境的配置。安装nodejs首先当然是安装nodejs咯,由于这个过于简单就略过了~~下载nodejs插件并安装1
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen