oscar999
毕业于中国科学技术大学,数据库四级、通过系统设计师、系统分析师、信息系统项目管理师资格认证。国际项目管理(IPMP)C级认证。超过15年软件项目开发和管理经验,精通Java Web相关技术(包括Spring系列、Ext JS等),对PHP、Python、C#、Vue等有涉猎。
展开
-
一篇学通Axios
基本概念Axios(全称 ajax I/O system)不是一种新技术,本质上是对原生 XHR(XMLHttpRequest)的封装,但它是基于 Promise 的实现版本,符合最新的 ES 规范。Axios 提供了简单而直观的 API,使得在前端应用程序中进行 HTTP 通信变得更加容易。Axios 可以与现代前端框架(如 React、Vue.js 和 Angular)以及后端服务器(如 Node.js)配合使用。主要特性从浏览器中创建 XMLHttpRequests。原创 2024-07-13 22:10:15 · 732 阅读 · 0 评论 -
npm一篇通
包发布:npm允许开发者将自己编写的JavaScript模块发布到npm的注册表中,以便其他人可以方便地安装和使用。npm(Node Package Manager)的全局安装路径和缓存位置是npm的两个重要配置选项,它们分别决定了全局安装的npm包存储在哪里以及npm缓存数据的位置。全局安装的包通常可以被系统中的任何Node.js项目所使用,而不仅仅是安装它们的那个项目。由于npm是Node.js的一部分,因此安装Node.js时,npm通常也会被自动安装。可以通过npm的配置命令来设置全局安装路径。原创 2024-05-02 21:33:31 · 1288 阅读 · 0 评论 -
React 的入门介绍
当应用的状态发生变化时,React会创建一个新的虚拟DOM树,并与之前的虚拟DOM树进行比较,找出发生变化的部分,然后只更新这些部分的真实DOM,从而避免了不必要的DOM操作,提高了性能。多页应用(Multi-page applications):React 也可以用于构建多页应用,其中每个页面都有自己的 React 组件,通过组件的嵌套和交互来构建复杂的页面。除了核心的React库,还有一些用于与React集成的附加库,例如React Router用于处理应用的路由,Redux用于管理应用的状态等。原创 2024-03-06 21:20:52 · 1202 阅读 · 0 评论 -
Bootstrap 入门介绍
此外,Bootstrap 5还提供了一些新的组件和样式,以及一些改进的功能。Bootstrap 2:该版本是Bootstrap的第一个正式发布版本,发布于2012年,包含了60个CSS样式和4个JavaScript插件。这只是Bootstrap的一个简单示例,实际上,Bootstrap提供了更多的功能和组件,可以根据自己的需求使用它们来构建更复杂和丰富的网站。总结起来,随着每个版本的发布,Bootstrap不断增加了新的功能、样式和组件,并不断改进和优化其设计和性能,以适应不断变化的Web开发需求。原创 2024-03-05 21:32:43 · 1046 阅读 · 0 评论 -
HTML页面跳转实现方式大全
meta>标签是HTML语言中的一个标签,用于描述HTML文档的元数据(metadata)。元数据是关于数据的数据,它提供了关于HTML文档的信息,例如文档的编码方式、作者、关键词、描述等等。标签通常包含在文档的头部标签内。下面是一些常用的:指定HTML文档的字符编码方式。常用的编码方式包括UTF-8ISO-8859-1等。:指定HTML文档的作者。原创 2023-12-17 21:49:50 · 16597 阅读 · 0 评论 -
Docsify介绍—md文件直接生成网页的工具
Docsify 是一个基于JavaScript的文档网站生成器,可以速轻松地搭建基于文本文档的静态网站。它没有预设的主题,所有的网站样式都由Markdown文件生成,可以自由定制。docsify的优点是简单易用,不需要复杂的配置,文档可以直接写在Markdown文件中,支持插件扩展和多语言支持。原创 2023-09-19 22:10:01 · 1291 阅读 · 0 评论 -
JavaScript之 For 循环的写法汇总和适用场景
JS的For循环方式主要有:1. for 循环2. for ... in 循环3. for ... of 循环4. forEach()除了 for循环外, JavaScript 还具有其他循环方式,例如 while、do...while、map() 方法等原创 2023-07-05 22:36:59 · 1933 阅读 · 0 评论 -
HTML中 &# 的作用
在HTML中,有些字符是预留的, 比如 `原创 2022-08-03 22:32:28 · 3147 阅读 · 0 评论 -
在HTML 页面中如何显示带圈圈的数字
本篇介绍如何使用Unicode统一编码在HTML页面中便捷显示带圈圈的数字。原创 2022-08-02 22:12:52 · 5757 阅读 · 0 评论 -
JavaScript两个数组连接的全方式解密
如果要将两个数组连接起来要怎么处理呢? 同样也有多种方法,包括:1. [最直观的方式] 循环一个数组, 通过push方法将元素添加到另一个数组 2. [最简洁的方式] 使用concat 函数连接两个数组2. [最灵活的方式] 使用 splice函数插入数组3. [最酷炫的方式] 使用展开运算符(`...`)...原创 2022-06-12 22:37:15 · 1705 阅读 · 0 评论 -
window.open() 被拦截的问题解决
某些浏览器(比如Chrome)出于安全和体验的考虑,会禁止直接在JS中使用 window.open(url) 打开新的窗口。但是如果使用 `window.open(url,'_self') ` 改变当前窗口是允许的。禁止直接打开的原因就是非用户操作产生的新弹出窗口,会被认为这可能是一个广告,所以禁止了这种行为。原创 2022-04-29 22:25:44 · 11660 阅读 · 5 评论 -
JavaScript 读写剪贴板之方式汇总
JavaScript操作剪贴板虽然存在安全问题,但在某些应用场景下还是很方便的,比如复制一个link 等,JavaScript操作剪贴板的方式有:方式1. 使用navigator 的Clipboard 对象方式2. 使用 document.execCommand方式3. window.clipboardData 对象方式4. 使用一些封装的第三方库原创 2022-04-11 06:37:16 · 16274 阅读 · 0 评论 -
Promise 最完整介绍与实现解密
在 JavaScript Promise 快速入门 这一篇对Promise 及其基本用法做了简单的介绍。本篇介绍Promise 的完整功能以及对Promise 的来源以及实现进行解密。Promise 是什么?该怎么解释Promise 呢? 试着从以下几种角度来理解:从代码的角度: Promise 是ECMAScript 6中提供了一个类 ,Promise 对象可以让异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数的方式。从Promise工作机制的角度:Promise 表示一个异步操作原创 2022-03-24 06:42:53 · 736 阅读 · 0 评论 -
JavaScript Promise 快速入门
* Promise 是ECMAScript 6中提供了一个类 。* Promise 实例对象代表一个异步操作的最终完成或者失败。原创 2022-03-22 07:09:21 · 385 阅读 · 0 评论 -
CSS的Padding, Margin, Border 的区别
CSS 的Padding 、Margin 和Border 设置原理。 盒子模型原创 2021-12-16 07:01:03 · 1198 阅读 · 0 评论 -
HTML 如何禁用缓存
缓存可以加快Web请求的速度,在Web应用中,缓存有多种, 包括:浏览器端缓存中间缓存服务器端缓存Web服务器端缓存以浏览器端缓存为例,浏览器将服务端响应的页面、图片、样式或是JS文件等保存在浏览器本地, 下次访问的时候直接从本地查找就可以显示, 好处是可以加快页面的展现速度,提高用户体验;坏处就是缓存的内容不是最新的, 所以在某些场景下需要禁用缓存。HTML协议中对缓存的控制HTTP 协议中使用头信息控制缓存信息, 包括浏览器端,中间缓存服务器端,Web服务器端。HTTP协议中用于缓存信原创 2021-11-23 21:35:06 · 4835 阅读 · 1 评论 -
小巧的Web进度条组件 - NProgress
NProgress , 小进度条插件, 用于页面载入等待,非常适合Ajax 密集型应用程序。NProgress小巧是因为其JS和CSS文件的总的大小是13K多。NProgress可以适合多种Web项目, 包括:一般的Web项目, 直接在HTML中引入文件基于NPM开发的项目基于Ext JS框架的项目基于Vue的项目等等效果展示可以到如下地址体验NProgress 的实现效果: https://ricostacruz.com/nprogress/, 如下图:点击 “ NProgr原创 2021-05-08 06:43:53 · 942 阅读 · 1 评论 -
富文本编辑器CKEditor 5开发环境搭建
CKEditor 5常见的使用方式有两种传统方式,直接引用编译后的ckeditor.js 文件。详细使用可以参考:CKEditor快速介绍与入门示例包的导入方式: 基于Node.js 和npm 导入CKEditor 5依赖包。除了包的使用方式之外,在导入ckeditor.js文件的时候, 虽然可以在ckeditor官方网页选择需要的功能进行编译和打包,但有时候如果需要自行客制一些按钮或功能,就需要基于ckeditor的源码开发和打包了。开发和编译CKEditor 5需要的环境CKEditor原创 2021-02-24 22:09:08 · 1720 阅读 · 0 评论 -
CKEditor快速介绍与入门示例
CKEditor 富文本编辑器CKEditor 是一款知名的WYSIWYG富文本Web编辑器,WYSIWYG 的全称是what you see is what you get,也就是所见即所得。富文本是指除了可以在编辑器中输入一般的文本之外, 还可以输入带有样式、格式的文本,以及上传文件以及数学公式等功能。所见即所得则可以这样理解, 因为要在Web中显示一些样式,势必要用到一些HTML代码标签或者是CSS样式,对于终端的使用者来说,如果不熟悉相关语言的话,编辑代码就很困难了, 所以这类编辑器中输入的内原创 2021-02-06 22:05:48 · 3644 阅读 · 1 评论 -
HTML窗口与对话框
窗口指的是一个新的浏览器窗口或是标签页,窗口有地址; 对话框是在当前窗口打开一个简易的交互框,对话框没有地址; 模态对话框则需要在关闭对话框的状况下才能对父窗口操作。浏览器窗口(Window)window 是浏览器默认的对象, 该对象有一个open()方法打开一个新的浏览器窗口或是标签页。window.open的具体语法如下:window.open(URL,name,specs,replace)URL, 可选参数, 页面的地址,没有指定则打开一个空白页。name,可选参数。窗口的名字spec原创 2021-01-20 07:01:51 · 2181 阅读 · 0 评论 -
换行与回车(\r \n)的起源以及在编制语言中的使用
ASCII 转义字符(Escape Character)\r 和 \n 属于转义字符。那转义字符是什么呢?为什么需要转义字符呢? 这得从ASCII 码说起。起源直观来说, 电脑只能识别电流的强弱,比如强电流标识为1, 弱电流标识为0。这也就是电脑采用的二进制的原理, 0和1如何用来表达人类10进制的数据以及丰富的字符呢?将多个位数的二进制与十进制进行转换就可以达成这个目标,这其中又衍生了八进制以及十六进制。除了数字,字母、汉字又怎么标识呢? 这一整天就需要一个规则和标准了。ASCII (Ameri原创 2020-12-25 07:06:45 · 1299 阅读 · 0 评论 -
JavaScript 插入元素到数组的方法汇总
JS 在数组插入元素方法JavaScript可以往数组里插入元素的函数有三个:push, 最常用, 在数组后面插入unshift ,在数组前面插入splice ,最灵活 ,在指定位置插入使用示例pushpush()方法可以有一个或多个参数, 多个参数则是插入多个元素。示例如下:let arr = [1,2,3];//1. push 在数组后面插入arr.push(4); //1,2,3,4console.log(arr);arr.push(5,6); //1,2,3,4,5,6原创 2020-12-24 06:42:02 · 20708 阅读 · 1 评论 -
JavaScript 字符串截取方法汇总
可以使用的方法及选择substring : 最常见substr: 不建议使用slice: 最灵活JS新标准ECMAscript没有对substr进行标准化, 因此不建议使用。slice比substring更灵活, 允许使用负数做参数slice除了截取字符串, 还可以截取数组参数和用法substring语法:stringObject.substring(start,stop)start, 必需, 非负整数,截取的开始位置stop, 可选, 非负整数,截取的字符串不包含该位置原创 2020-12-23 07:19:27 · 1564 阅读 · 0 评论 -
JS模块化规范对比以及在Node.js的实现
文章目录写在前面JavaScript模块化的规范Node.js 的模块化实现AMD or CMD 代码示例ES6模块化标准以及在Node.js的使用写在前面关于JavaScript的模块化的需求来源以及相关标准可以参考以下两篇:Javascript模块化编程系列一: 模块化的驱动Javascript模块化编程系列二: 模块化的标准化(CommonJS & AMD)此处,在代码层演示不同标准的代码 以及在Node.js演示的效果。JavaScript模块化的规范Node.js 遵循原创 2020-09-09 23:15:50 · 2665 阅读 · 0 评论 -
Vue初体验——创建并运行一个Vue应用
文章目录Vue是什么JQuery是框架吗?前端框架有哪些?Vue项目的创建步骤演示环境的安装规划1. 下载并安装Node.js设置模块安装位置2. 使用淘宝镜像3. 安装Vue CLI (全局安装)4. 创建项目5. 运行项目Vue是什么Vue是什么? Vue是一个渐进式的前端框架。更简单的理解要追溯到MVC、MVVM模式, 主要就是分离数据层和控制层。对于一个典型的Web应用, 比如Java Web应用:模型层:定义数据模型,也就是类控制层: 后端语言获取数据库数据, 进行一些逻辑封装和处理。原创 2020-09-01 00:05:26 · 600 阅读 · 0 评论 -
Web应用的单元测试与自动化测试工具(Sencha Studio)
文章目录Sencha Studio的功能对Ext JS应用的单元测试在Sencha Studio中打开Ext JS应用初始化测试项目添加一个对按钮显示的测试本篇承接自上一篇[Ext JS]8.3 Sencha Studio安装与快速介绍之一Sencha Studio的功能Sencha Studio可以对基于Sencha应用和非基于Sencha框架的应用进行单元测试和端到到测试。Sencha应用非Sencha应用单元测试对Sencha框架代码层级的测试,比如Ext JS的模型原创 2020-07-18 09:05:03 · 748 阅读 · 0 评论 -
基于Chrome浏览器的前端调试
使用浏览器window对象的alert()方法最原始也是最为简单的前端调试方式,使用浏览器的window对象的alert()方法,弹出对话框显示需要调试的变量的值。 var s = "Chrome调试"; window.alert(s); //调用window的alert()方法 alert(s);//省略window对象,直接调用方法调试的效果如下:使用alert()方法调试,如果通过调用多次alert()方法调式有多个变量,则需要手动关闭前面的窗原创 2020-06-30 06:07:28 · 2857 阅读 · 0 评论 -
HTML a标签之空链接
文章目录`` 标签介绍空链接的作用以及``和``的区别<a> 标签介绍<a>是HTML的标准标签之一,称为链接或是超链接标签。这个标签作用是定义一个锚(anchor),根据链接的目标的差异,分为两种状况:指定一个其他文档的外部连接(href指定地址); 点击链接跳转到新的页面,是在原窗口还是新开窗口可以通过target属性设置。<a href="https://oscar.blog.youkuaiyun.com/">我的博客</a>创建一个本文档内部的链原创 2020-06-17 07:16:27 · 9067 阅读 · 0 评论 -
Vaadin介绍与开发练习之一(总体介绍与创建项目)
Vaadin是什么?Vaadin是一个web应用程式开发框架。基于这个框架,开发者可以使用Java开发高质量的用户界面。Vaadin由位于芬兰的 IT Mill公司开发。 其前身是 IT Mill 公司由2000年起开始研发的 Millstone用户界面类库。Vaadin提供了一系列的用户界面组件用来创建自己的组件。特点主要包含:易用、可重用、可扩展和满足大型企业应用需求。Vaadin...原创 2020-03-22 20:16:49 · 12051 阅读 · 3 评论 -
Https及基于Tomcat的开发配置
HTTP是什么?介绍HTTPS之前,先看一下HTTP(HyperText Transfer Protocol), 超文本传输协议。HyperText: 超文本,为什么叫超文本,Web服务器返回给浏览器端的是包含HTML标签的源码,而不是直接在网页上显示的内容,故称之超文本。Transfer: 这个词更精确的翻译是转移,HTTP协议的请求和响应除了包含请求体和响应体之外,还包含了请求头和响应头...原创 2020-01-09 20:12:22 · 751 阅读 · 7 评论 -
[Ext JS 7]ClassRequire错误解决
Ext JS 使用sencha app watch进行实时开发、编译。使用如下方式导入其他需要的类: requires: [ 'Ext.chart.CartesianChart', 'Ext.chart.axis.Category' ]但是在编译时出现如下错误:需要在app.json中导入对应的模块: "requires": [...原创 2019-12-03 07:34:06 · 442 阅读 · 0 评论 -
Spring Boot与JWT整合实现前后端分离的用户认证
前言本篇使用java-jwt作为JWT库,与Spring Boot整合实现前后端分离架构中用户认证。关于JWT的介绍参考:JWT介绍以及java-jwt的使用整合思路后端提供登录服务,根据前端POST的用户名、密码产生Token。对用户名、密码验证通过后产生TokenToken中包含用户名、过期时间,使用用户密码作为密钥进行加盐加密。前端获取该Token后,随后的请求附加...原创 2019-10-25 07:04:03 · 1231 阅读 · 2 评论 -
JWT介绍以及java-jwt的使用
JWT , 全写JSON Web Token, 是开放的行业标准RFC7591,用来实现端到端安全验证.简单来说, 就是通过一些算法对加密字符串和JSON对象之间进行加解密。JWT加密JSON,保存在客户端,不需要在服务端保存会话信息。,可以应用在前后端分离的用户验证上,后端对前端输入的用户信息进行加密产生一个令牌字符串, 前端再次请求时附加此字符串,后端再使用算法解密。JWT流程:htt.........原创 2019-10-24 21:56:50 · 29626 阅读 · 0 评论 -
表单的提交方式POST和GET
Post和Get都是表单属性Method的可选值,Method的默认值为Get,两者的主要区别在于: 1.在客户端,Get方式在通过URL提交数据,提交后在地址栏中的地址如图1.4.3所示。 图1.4.3 Get方式提交表单后的地址栏 而Post提交后地栏不变,如图1.4.4所示。 图1.4.4 Post方式提交表单后的地址栏不变 2.在服务器端只能用Request.QueryString来获取G原创 2007-09-19 08:51:00 · 34294 阅读 · 0 评论 -
JSP自定义标签入门实例
jsp标签取代了JSP中的Java程序,并且可以重复使用,方便不熟悉Java编程的网页设计人员。首先在eclipse下新建一个动态web工程1,在之前加入 /tld/helloworld /WEB-INF/tlds/helloworld.tld 2.在WEB-INF下新建tlds目录,在tld原创 2007-09-26 11:33:00 · 1967 阅读 · 1 评论 -
WEB小知识学习集锦
1.防止JSP或SERVLET中的输出被浏览器保存在缓冲区中:浏览器在默认情况下会把浏览过的网页保存在缓冲区中,在调试时,一般不希望这样.把下面的脚本加入程序中,就可防止JSP或SERVLET中的输出被浏览器保存在缓冲区中 response.setHeader("Expires","-1"); response.setHeader("Pragma","no-cache"); respon原创 2007-10-30 11:15:00 · 1674 阅读 · 0 评论 -
tomcat内存优化
1G内存修改TOMCAT_HOME/bin/catalina.sh在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headl原创 2007-10-30 10:53:00 · 1780 阅读 · 0 评论 -
multipart form-data boundary 说明
含义 ENCTYPE="multipart/form-data" 说明: 通过 http 协议上传文件 rfc1867协议概述,jsp 应用举例,客户端发送内容构造1、概述在最初的 http 协议中,没有上传文件方面的功能。 rfc1867(http://www.ietf.org/rfc/rfc1867.txt) 为 http 协议添加了这个功能。客户端的浏原创 2008-09-01 09:23:00 · 12064 阅读 · 0 评论 -
windows 操作系统及相应服务的管理 综合
1.IE保存的密码管理 (1)在windows XP下面: 控制面板--User Accounts--Advanced--Manage passwords (2)在windows 2003 server中 控制面板--store user names and passwords原创 2008-09-04 10:37:00 · 1279 阅读 · 0 评论 -
js动态设置input 只读,无边框效果
New Document .output-body{readonly:expression(this.readOnly=true);border:0px;}document.getElementById("test").className="output-body";原创 2009-05-08 17:19:00 · 10381 阅读 · 0 评论