( 注:该笔记部分内容与Vue2重复,权当复习
目录
五、组件高级(下)
5.1 ref 引用
5.1.1 什么是 ref 引用
5.1.2 使用 ref 引用 DOM 元素
5.1.3 使用 ref 引用组件实例
5.1.4 this.$nextTick(callback) 方法
5.2 动态组件
5.2.1 什么是动态组件
5.2.2 如何实现动态组件渲染
5.2.3 使用 keep-alive 保持状态
5.2.4 keep-alive 对应的生命周期函数
5.2.5 keep-alive 的 include 属性
5.3 插槽
5.3.1 什么是插槽
5.3.2 体验插槽的基础用法
5.3.3 具名插槽
5.3.4 作用域插槽
5.4 自定义指令
5.4.1 什么是自定义指令
5.4.2 声明私有自定义指令的语法
5.4.3 使用自定义指令
5.4.4 声明全局自定义指令的语法
5.4.5 updated 函数
5.4.6 函数简写
5.4.7 指令的参数值
5.5 Table 案例
5.6 总结
五、组件高级(下)
5.1 ref 引用
5.1.1 什么是 ref 引用
ref 用来辅助开发者在不依赖于 jQuery 的情况下 ,获取 DOM 元素或组件的引用 。
每个 vue 的组件实例上,都包含一个 $refs 对象,里面存储着对应的 DOM 元素或组件的引用。 默认情况下,组件的 $refs 指向一个空对象。
5.1.2 使用 ref 引用 DOM 元素
如果想要使用 ref 引用页面上的 DOM 元素,则可以按照如下的方式进行操作:
5.1.3 使用 ref 引用组件实例
如果想要使用 ref 引用页面上的组件实例,则可以按照如下的方式进行操作:
案例1.控制文本框和按钮的按需切换
通过布尔值 inputVisible 来控制组件中的文本框与按钮的按需切换。示例代码如下:
案例2. 让文本框自动获得焦点
当文本框展示出来之后,如果希望它立即获得焦点,则可以为其添加 ref 引用,并调用原生 DOM 对象的.focus() 方法即可 。示例代码如下:
5.1.4 this.$nextTick(callback) 方法
组件的 $nextTick(cb) 方法,会把 cb 回调推迟到下一个 DOM 更新周期之后执行。 通俗的理解是:等组件的DOM 更新完成之后,再执行 cb 回调函数。从而能保证 cb 回调函数可以操作到最新的 DOM 元素。
把上例修改为:
5.2 动态组件
5.2.1 什么是动态组件
动态组件 指的是动态切换组件的显示与隐藏 。vue 提供了一个内置的 组件 ,专门用来实现组件的动态渲染。
① 是组件的占位符
② 通过 is 属性动态指定要渲染的组件名称
③
5.2.2 如何实现动态组件渲染
示例代码如下:
5.2.3 使用 keep-alive 保持状态
默认情况下,切换动态组件时无法保持组件的状态 。此时可以使用 vue 内置的 组件 保持动态组件的状态 。示例代码如下:
(注:keep-alive 会把内部的组件进行缓存,而不是销毁组件。
另:组件声明时候的 “name” 名称可以结合 标签实现组件缓存功能
如果在“声明组件”的时候,没有为组件指定 name 名称,则组件的名称默认就是“注册时候的名称”。
5.2.4 keep-alive 对应的生命周期函数
当组件被缓存时 ,会自动触发组件的 deactivated 生命周期函数 。
当组件被激活时 ,会自动触发组件的 activated 生命周期函数 。
当组件第一次被创建的时候,既会执行 created 生命周期,也会执行 activated 生命周期。但是,当组件被激活的时候,只会触发 activated 生命周期,不再触发 created。因为组件没有被重新创建。
5.2.5 keep-alive 的 include 属性
include 属性用来指定:只有名称匹配的组件会被缓存 。多个组件名之间使用英文的逗号分隔:
keep-alive 的 exclude 属性
exclude 属性用来指定:只有名称匹配的组件不会被缓存 。多个组件名之间使用英文的逗号分隔:
在使用 keep-alive 的时候,可以通过 include 指定哪些组件需要被缓存;或者,通过 exclude 属性指定哪些组件不需要被缓存;但是:不要同时使用 include 和 exclude 这两个属性 。
5.3 插槽
5.3.1 什么是插槽
插槽(Slot) 是 vue 为组件的封装者提供的能力。允许开发者在封装组件时,把不确定的、希望由用户指定的部分定义为插槽 。
可以把插槽认为是组件封装期间,为用户预留的内容的占位符。
5.3.2 体验插槽的基础用法
在封装组件时, 可以通过 元素 定义插槽 ,从而为用户预留内容占位符 。示例代码如下:
1. 没有预留插槽的内容会被丢弃
如果在封装组件时没有预留任何 插槽,则用户提供的任何自定义内容都会被丢弃。 示例代码如下:
2. 后备内容
封装组件时,可以为预留的 插槽提供后备内容(默认内容) 。如果组件的使用者没有为插槽提供任何内容,则后备内容会生效。 示例代码如下:
5.3.3 具名插槽
如果在封装组件时需要预留多个插槽节点 ,则需要为每个 插槽指定具体的 name 名称 。这种带有具体名称的插槽叫做“具名插槽” 。示例代码如下:
注意:没有指定 name 名称的插槽,会有隐含的名称叫做 “default”。
1. 为具名插槽提供内容
在向具名插槽提供内容的时候,我们可以在一个 元素上使用 v-slot 指令,并以 v-slot 的参数的形式提供其名称。示例代码如下:
2. 具名插槽的简写形式
跟 v-on 和 v-bind 一样,v-slot 也有缩写,即把参数之前的所有内容 (v-slot:) 替换为字符 # 。例如 v-slot:header可以被重写为 #header:
5.3.4 作用域插槽
在封装组件的过程中,可以为预留的 插槽绑定 props 数据 ,这种带有 props 数据的 叫做“作用域插槽” 。示例代码如下:
1. 解构作用域插槽的 Prop
作用域插槽对外提供的数据对象,可以使用解构赋值 简化数据的接收过程。 示例代码如下:
2. 声明作用域插槽
在封装 MyTable 组件的过程中,可以通过作用域插槽把表格每一行的数据传递给组件的使用者 。示例代码如下:
3. 使用作用域插槽
在使用 MyTable 组件时,自定义单元格的渲染方式,并接收作用域插槽对外提供的数据 。示例代码如下:
作用域插槽传值:
( 所接收到的数据是一个大对象
5.4 自定义指令
5.4.1 什么是自定义指令
vue 官方提供了 v-for、v-model、v-if 等常用的内置指令 。除此之外 vue 还允许开发者自定义指令 。
vue 中的自定义指令分为两类,分别是:
5.4.2 声明私有自定义指令 的语法
在每个 vue 组件中,可以在 directives 节点下声明私有自定义指令,在其中声明mounted()函数 。示例代码如下:
5.4.3 使用自定义指令
在使用自定义指令时,需要加上 v- 前缀 。示例代码如下:
5.4.4 声明全局自定义指令 的语法
全局共享的自定义指令需要通过“单页面应用程序的实例对象”进行声明 ,示例代码如下:
5.4.5 updated 函数
mounted 函数只在元素第一次插入 DOM 时被调用,当 DOM 更新时 mounted 函数不会被触发 。 updated函数会在每次 DOM 更新完成后被调用 。 示例代码如下:
注意: 在 vue2 的项目中使用自定义指令时,【 mounted -> bind 】【 updated -> update 】
5.4.6 函数简写
如果 mounted 和updated 函数中的逻辑完全相同,则可以简写成如下格式:
5.4.7 指令的参数值
在绑定指令时,可以通过“等号”的形式为指令绑定具体的参数值 ,示例代码如下:
5.5 Table 案例
5.6 总结
① 能够知道如何使用 ref 引用 DOM 和组件实例
通过 ref 属性指定引用的名称 、使用 this.$refs 访问引用实例
② 能够知道 $nextTick 的调用时机
组件的 DOM 更新之后,才执行 $nextTick 中的回调
③ 能够说出 keep-alive 元素的作用
④ 能够掌握插槽 的基本用法
标签、具名插槽、作用域插槽 、v-slot: 简写为 #
⑤ 能够知道如何自定义指令
你可能感兴趣的:(vue)
(十一)基于vue3+mapbox-GL实现模拟高德实时导航轨迹播放
匹马夕阳
mapbox-gl集锦 前端 人工智能 vue arcgis
要在Vue3项目中结合MapboxGL实现类似高德地图的实时导航轨迹功能,您可以按照以下步骤进行:安装依赖:首先,安装mapbox-gl和@turf/turf这两个必要的库:npminstallmapbox-gl@turf/turf引入MapboxGL:在组件中引入mapbox-gl并初始化地图实例:<script
【SpringBoot】+【Vue】集成AOP系统日志
爱因斯坦乐
spring vue.js java aop 交互
新建logs表添加aop依赖org.springframework.bootspring-boot-starter-aop新建获取ip地址工具类importjavax.servlet.http.HttpServletRequest;/***功能:IpUtils*获取ip地址工具类*作者:爱因斯坦乐*/publicclassIpUtils{publicstaticStringgetIpAddr(Ht
《2.3、事件处理》
遇见~未来
Vue.js vue.js javascript ecmascript
2.3事件处理2.3.1事件处理的核心语法2.3.1.1事件处理知识点指令的语法格式:{{插值语法}}“表达式”位置都可以写什么?常量JS表达式Vue实例所管理的XXX在Vue当中完成事件绑定需要哪个指令呢?v-on指令。语法格式:v-on:事件名="表达式"例如:v-on:click="表达式"表示当发生鼠标单击事件之后,执行表达式。v-on:keydown="表达式"表示当发生键盘按下事件之后
vuejs 项目部署到nginx
爱分享的程序员
vue使用
一.vuejs项目配置文件根目录创建vue.config.js文件。如下:二.运行npmrunbuild指令将打包出来的dist文件拷贝到服务器的指定目录三.ngxin配置文件四.在服务器的根目录创建一个文件夹my-project,将dist里面的文件拷贝到创建的这个文件夹下面五.浏览器访问项目的路径http://localhost/my-project
Vue 数据更新但页面没有更新的 7 种情况
爱分享的程序员
vue使用
1.Vue无法检测实例被创建时不存在于data中的property原因:由于Vue会在初始化实例时对property执行getter/setter转化,所以property必须在data对象上存在才能让Vue将它转换为响应式的。场景:varvm=newVue({data:{},//页面不会变化template:'{{message}}'})vm.message='Hello!'//`vm.mess
【性能优化】uni-app小程序中swiper-item图片预加载
Hugh106
uni-app 小程序 javascript 性能优化 vue.js
项目场景:在开发壁纸小程序的时候遇到这样一个场景,通过壁纸缩略图页面跳转至壁纸大图页面,需要一次载入的图片太多,这样就需要swiper里需要很多swiper-item,如此一来渲染的时候就会很消耗性能和网络带宽,渲染时会有一大段的空白时间,有时还会造成卡顿,体验非常差。问题描述classlist.vue是壁纸缩略图页面,preview.vue是壁纸大图页面。点击缩略图进行跳转时进行传参,参数为图片
Vue模板语法(插值语法,指令语法)
仰望天空的小小蜗牛
Vue.js vue.js javascript 前端
Vue模板语法有2大类:Vue官网链接1.插值语法:功能:用于解析标签体内容。写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。2.指令语法:功能:用于解析标签(包括:标签属性、标签体内容、绑定事件…)。举例:v-bind:href=“xxx”或简写为:href=“xxx”,xxx同样要写js表达式,且可以直接读取到data中的所有属性。备注:Vue中有很多的指令,且
前端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
基于vue3 + ts 封装一个自定义的message组件
stpzhf
javascript 前端 vue.js
基于vue3+ts封装一个自定义的message组件今天尝试封装一个message弹框组件废话不多说直接上代码Message.vue这是一个message组件import{onMounted,ref}from'vue'typePropsType={timeout:numberclose:()=>void}const{timeout=3000,close}=defineProps()letvisib
姓名案例_插值语法实现
JAVA代码搬运工
Vue 前端 vue.js 前端
姓名案例_插值语法实现姓:名:全名:{{firstName}}-{{lastName}}Vue.config.productionTip=false//阻止vue在启动时生成生产提示。newVue({el:'#root',data:{firstName:'张',lastName:'三'}})
Vue 路由基础:Vue 2 和 Vue 3 的比较与使用
念九_ysl
Vue vue.js 前端 javascript
Vue.js是一款非常流行的前端框架,而VueRouter是Vue.js的官方路由管理库。在前端开发中,路由是处理页面跳转和视图管理的关键部分。Vue2和Vue3都使用VueRouter来管理路由,但是随着Vue3的发布,VueRouter也有了不少变化。在本文中,我们将详细介绍Vue2和Vue3中的路由使用,比较它们之间的不同,并提供一些示例代码。一、安装VueRouter在Vue项目中使用Vu
【TypeScript】ts在vue中的使用
咔咔库奇
# TypeScript typescript vue.js javascript
目录一、Vue3+TypeScript1.项目创建与配置项目创建关键配置文件2.完整项目结构示例3.组件Props类型定义4.响应式数据与Ref5.Composition函数复用二、组件开发1.组合式API(CompositionAPI)2.选项式API(OptionsAPI)三、Vue2+TypeScript1.安装依赖2.类组件(VueClassComponent)3.Vuex类型安全四、状态
vue2学习笔记4 - 深入学习模板语法:插值语法和指令语法
我是飞鸟呀
Vue 学习 笔记 vue.js
前言在vue2学习笔记2-老规矩,从HelloWorld开始,了解Vue实例和模板-CSDN博客我们提到过,容器中的代码叫做Vue模板,它们遵循HTML规范,只是混入了特殊的Vue语法。这些特殊的Vue语法除了上一次我们提到的插值语法外,还有指令语法。插值语法,可以使用js表达式,读取vue实例data中的数据。但是能实现的功能比较单一,而且,也仅限于标签体中的文本替换。如果想要与元素的属性绑定,
vue3使用插件封装指令实现页面滚动动画
前端、小老弟
vue 前端 animation vue.js 前端 javascript css3 动画
效果展示:vue封装插件需要使用到install函数exportdefaultScrollAnimationPlugin={install(app:App,options={}){//需要实现的内容}}vue指令语法:app.directive('scroll-animation',{mounted(el:HTMLDivElement,binding:any){//需要实现的内容}})监听页面滚动
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
【Vue3实战】嵌套路由让前端项目结构更清晰
风清扬雨
前端Vue3 前端 vue.js javascript
Hey小伙伴们,今天要跟大家分享的是Vue3中的一个超实用技巧——嵌套路由(NestedRouting)。无论你是Vue的新手还是老手,都一定不能错过这篇指南,因为学会它,你的项目结构将会变得更加清晰有序!✨什么是嵌套路由?嵌套路由是指在VueRouter中定义一个父路由,然后在这个父路由下定义多个子路由。这样做的好处是可以让你的项目结构更加模块化,而且在导航栏、面包屑等地方展示层级关系时也更加
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高级开发指南
模板语法 (插值语法、指令语法)
JAVA代码搬运工
Vue 前端 vue.js
模板语法插值语法你好,{{name}}指令语法点我去{{school.name}}学习1点我去{{school.name}}学习2Vue.config.productionTip=false//阻止vue在启动时生成生产提示。newVue({el:'#root',data:{name:'jack',school:{name:'该去的地',url:'http://www.school.com',}}
前端开发核心知识点深度解析:从CSS到Vue的全面指南
A_cot
css vue.js 前端 开发语言 javascript
一、CSS篇1.link与@import的区别加载方式:是HTML标签,并行加载;@import是CSS语法,串行加载兼容性:@import不支持IE5以下DOM控制:link可通过JS操作DOM修改,@import不可动态修改权重计算:@import引入的样式优先级低于link@importurl('style.css');二、JavaScript篇2.原型链机制原型对象:每个函数都有proto
泛微Ecode调用后端接口
CXYCMY
泛微OA学习专栏 前端 javascript java
前言不知道为啥,在网上几乎找不到免费的教程说清楚泛微Ecode平台如果去调用后端的接口来获取对应的接口数据,找了一上午了实在是找不到泛微Ecode是用的React框架编写的,主要的语法逻辑是React,天知道,我连vue也只是知道简单的写个脚手架项目而已,对React从未接触过,现在要在这样的情况下去在泛微Ecode平台调用接口也只能就是说各个地方找教程在经过不懈的寻找后,基本上都是要购买教程的,
Weex中使用vue.js
前端_学习之路
跨平台开发 vue.js 前端 javascript
在WeexSDKv0.10.0以及后续的版本中,集成了v2版本的Vue.js。Vue是一套构建用户界面的渐进式框架,截止于作者发文,Weex官方没有对Vue3提供支持。内置构建版本Vue.js有两种构建版本:运行时+编译器与只包含运行时。它们之间的区别在于编译器是否需要能够在运行时编译template选项。由于运行时构建版本比完整版本的构建版本轻约30%(Vue官方估算),为了更好的性能和更小的代
解决 uView-UI和uv-ui 中 u-tabs 组件在微信小程序中出现横向滚动条的问题
溫冬''123
ui uv 微信小程序
问题描述在微信小程序中使用uView-UI的u-tabs组件时,用户可能会遇到横向滚动条的问题。这不仅影响了页面的美观,还可能导致用户误操作。问题原因该问题的根本原因是未在微信小程序环境下屏蔽滚动条。uView-UI的u-tabs组件默认只在H5环境下屏蔽滚动条,而在微信小程序(MP-WEIXIN)环境下未做处理。解决方案要解决这个问题,我们需要修改u-tabs.vue文件,将微信小程序环境也加入
阿里云ESC windws服务器部署springboot+vue前后端分离项目
溫冬''123
项目部署 spring boot 阿里云 服务器
window服务器部署springboot+vue项目前期准备:1、完整的项目源码我这里的项目前端是vue,后端是springboot+redis+mysql2、服务器我使用的是阿里云的ESC服务器(偷偷告诉你们,新手都可以白嫖一个月的服务器)服务器系统是windows至于我为什么不用linux,害别说了,新手还是先用window先吧。3、服务器环境搭建我们部署项目需要搭建项目的环境,其实仔细想想
uniapp学习心得:跨平台开发
sdfcr
uni-app javascript html5 css vue.js
一.介绍UniApp是一个基于Vue.js开发的跨平台应用开发框架,可以用于快速构建同时运行在多个平台(包括iOS、Android、Web等)的应用程序。相比于传统的原生开发和其他跨平台框架,选择学习UniApp具有许多优势。为什么选择学习UniApp?跨平台性:UniApp可以将同一套代码运行在多个平台上,极大地提高了开发效率,减少了重复开发的工作量。Vue.js生态:UniApp基于Vue.j
初识uniApp
家里有只小肥猫
uni-app
详细思考一下uniApp这个跨平台开发框架。首先,我对uniApp还不是很了解,所以需要从基本概念开始,逐步深入。什么是uniApp?我记得uniApp是基于Vue.js的,可能是一个用来开发多个平台的应用的框架。用户可能想了解它是什么,它的特点是什么,适合什么样的项目。uniApp的特点和优势跨平台开发:一次编写,多端运行,可能包括H5、微信小程序、支付宝小程序、App等。基于Vue.js:这意
Vue 系列之:基础知识
程序员SKY
VUE vue.js
什么是MVVMMVVM(Model-View-ViewModel)一种软件设计模式,旨在将应用程序的数据模型(Model)与视图层(View)分离,并通过ViewModel来实现它们之间的通信。降低了代码的耦合度。Model代表数据模型,是应用程序中用于处理数据的部分。在Vue.js中,Model通常指的是组件的data函数返回的对象,或者Vue实例的data属性。View是用户界面,是用户与应用
前端架构 —— 脚手架的开发流程
mask-li
前端
一、脚手架开发流程详解开发流程创建npm项目创建脚手架入口文件,最上方添加:#!/usr/bin/envnode配置package.json,添加bin属性编写脚手架代码将脚手架发布到npm使用流程安装脚手架npminstall-gyour-own-cli使用脚手架your-own-cli二、脚手架开发难点解析分包:将复杂的系统拆分成若干个模块命令注册:vuecreatevueaddvueinvo
前后端分离项目的验证码实现(前端Vue,后端TP)
今天练肩感觉爆炸
vue thinkphp
1.TP安装依赖composerrequiretopthink/think-captcha=2.0.*2.生成验证码返回给前端//生成验证码publicfunctiongetCaptcha(){$config=[//验证码字符集合'codeSet'=>'0123456789',//验证码字体大小'fontSize'=>30,//字体'fontttf'=>'5.ttf',//验证码位数'length
ave-form.vue 组件中 如何将产品名称发送给后端 ?
小丁学Java
产品资质管理系统 前端
如何将产品名称发送给后端。在这段代码中,产品名称(productName)的处理和发送主要发生在save()方法中。让我逐步分析:产品ID的选择:在表单中,用户通过下拉框选择产品,这里的v-model="form.productId"会绑定所选产品的id到form.productId。:list="productList"是产品列表数据,来自getProducts()方法从后端获取的。option
wzl--wholeMachine
大胖丫
vue.js elementui javascript
page1###########################################serversManage.vue-->-->-->-->借用人为空-->-->查询重置新增删除导出-->导入批量下架-->{{scope.row.notes}}-->-->')"placement="top"effect="light":open-delay="500">-->')">-->-->--
戴尔笔记本win8系统改装win7系统
sophia天雪
win7 戴尔 改装系统 win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
动画合集
换个号韩国红果果
html css
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
[Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
自己写的一个繁体到简体的转换程序
asialee
java 转换 繁体 filter 简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
android意图和意图监听器技术
百合不是茶
android 显示意图 隐式意图 意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
spring3中新增的@value注解
bijian1013
java spring @Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
Jboss启用CXF日志
sunjing
log jboss CXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
struts2验证框架的使用和扩展
白糖_
框架 xml bean struts 正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
读书笔记5
chengxuyuancsdn
重复提交 struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
[时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracle ORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected] :1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
三点定位的算法
haoningabc
c 算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
epoll使用详解
jimmee
c linux 服务端编程 epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
Hibernate对Enum的映射的基本使用方法
linzx0212
enum Hibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
孙子兵法
roadrunners
孙子 兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理