JSP核心之JSTL
一、核心标签库
使用 JSTL 的核心标签库,需要在页面中通过 taglib 指令首先将标签库导入。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
(1)c:set
用于进行变量定义,并将变量存放到指定域属性空间;为 Bean 的属性赋值;设置 Map的 key 与 value 等。该标签在实际开发中并不常用。
<1>将变量放到request域属性空间:
name = ${requestScope.name}
属性表示的含义:
value:变量的值
var:变量名
scope:将变量存放的域属性空间,取值为page、request、session、application。默认为page范围
<2>为Bean的属性赋值
属性表示的含义:
target:指定的Bean对象
property:指定对象的指定属性
value:为指定对象的指定属性所赋的值
<3>为Map的key与value赋值
<%
Map map = new HashMap();
pageContext.setAttribute("map",map);
%>
属性表示的含义:
target:指定的 map
property:指定 map 的指定的 key
value:为指定 map 的指定的 key 所赋的值
(2)c:remove
从域属性空间中删除指定变量。该标签不常用。
<1>删除指定域空间中的指定变量
some pag = ${pageScope.some}
some req = ${requestScope.some}
some ses = ${sessionScope.some}
some app = ${applicationScope.some}
属性表示的含义:
var:指定要删除的变量名
scope:指定要删除哪个域属性空间中的指定变量。不指定该属性,则删除所有域属性空间中的该变量。
<2>删除所有域空间中的指定变量
some pag = ${pageScope.some}
some req = ${requestScope.some}
some ses = ${sessionScope.some}
some app = ${applicationScope.some}
(3)c:out
用于在页面上输出 EL 表达式的值。该标签不常用。 EL 表达式不用 标签,就可以直接在页面上输出,那么使用这个 标签有什么更强的作用呢?
<1>escapeXml="false" 解析HTML标签
city1 =
city2 =
city3 = ${city}
属性表示的含义:
value:指定要输出的 EL 表达式
escapeXml:是否忽略 HTML 标签。若为 true,则不解析 HTML 标签,将按原样输出,为默认值。若为 false,则解析 HTML 标签。EL 表达式本身也是解析 HTML 标签的,无法忽略,不能将 HTML 标签按照原样输出。
<2>default="默认值"
country1 =
country2 = ${country}
属性表示的含义:
default:指定默认值。若要输出的变量不存在,或其值为 Null,则输出默认值。而对于EL 表达式,对于不存在或值为 Null 的变量,其不进行输出。
(4)c:catch
当有异常发生时,用于捕获异常。相当于 try-catch 中的 catch 代码块。该标签不常用。该标签只有一个属性 var,是捕获到的异常对象。
double score = ${student.score};
ex = ${ex.message}
(5)c:if
用于实现对于条件的判断。
进入管理页面
系统首页
属性表示的含义:
test:判断的条件。若为 true,则执行标签体,否则不执行。
var:存储 test 的判断结果。不常用。
scope:存储 test 判断结果的变量的存放范围。不常用。
(6)c:choose
实现多分支判断。类似于 switch-case 语句。一个 标签中可以包含多个 与一个 。
下面的例子实现对于页面上“首页”“上一页”“下一页”“末页”导航按钮的显示功能:
总共一页的情况:四外按钮都是普通文本,没有超链接。
当前页是第一页的情况:首页、上一页是普通文本;下一页、末页是超链接。
当前页是最后一页的情况:首页、上一页是超链接;下一页、末页是普通文本。
其它情况,即当前页为中间页的情况:四个按钮均是超链接。
(7)c:forEach
用于循环遍历数组、List、Set、Map 集合。在实际应用中使用非常频繁。
<1>常规用法
a.遍历Object[]
<%
Object[] citys = {"北京","上海","广州"};
pageContext.setAttribute("citys",citys);
%>
${city}
b.遍历List
<%
List names = new ArrayList();
names.add("张三");
names.add("李四");
names.add("王五");
pageContext.setAttribute("names",names);
%>
${name}
c.遍历Set
<%
Set schools = new HashSet();
schools.add("清华大学");
schools.add("北京大学");
schools.add("中国人民大学");
pageContext.setAttribute("schools",schools);
%>
${school}
d.遍历Map
<%
Map map = new HashMap();
map.put("name","张三");
map.put("age","23");
map.put("score",93.5);
pageContext.setAttribute("map",map);
%>
${entry.key} = ${entry.value}
<2>指定遍历的起始索引及步长
对于数组及 List,可以指定遍历的起始索引及步长。
a.指定遍历起始
<%
Object[] countrys={"0中国","1美国","2德国","3英国","4法国","5日本","6韩国"};
pageContext.setAttribute("countrys",countrys);
%>
${country}
运行结果:
1美国
2德国
3英国
4法国
5日本
b.指定遍历起始及步长
<%
Object[] countrys={"0中国","1美国","2德国","3英国","4法国","5日本","6韩国"};
pageContext.setAttribute("countrys",countrys);
%>
${country}
运行结果:
1美国
3英国
5日本
属性表示的含义:
begin:指定遍历开始索引。从 0 开始计数。
end:指定遍历结束索引,遍历结果包含这个索引。
step:指定遍历时的步长
<3>获取当前遍历对象的相关信息
标签中有一个属性 varStatus,该属性指定的变量是一个引用型变量。该引用中记录了当前遍历对象的相关信息。该引用常用的方法如下:
int getIndex():获取当前对象的索引。从 0 开始计数。
int getCount():获取当前对象的序号。从 1 开始计数。
boolean isFirst():判断当前对象是否是第一个对象。
boolean isLast():判断当前对象是否是最后一个对象。
a.添加序号
--------获取当前遍历对象的相关信息---------
<%
List students = new ArrayList();
students.add(new Student("张三",23));
students.add(new Student("李四",24));
students.add(new Student("王五",25));
students.add(new Student("赵六",26));
students.add(new Student("田七",27));
students.add(new Student("刘八",28));
pageContext.setAttribute("students",students);
%>
序号
姓名
年龄
${curObj.count}
${student.name}
${student.age}
b.隔行变色
在前面页面中添加一段 CSS 代码:使用类选择器,名称为 odd 的类使用一种背景颜色;名称为 even 的类使用另一种背景颜色。
My JSP 'index.jsp' starting page
再修改 中的
,为每一行添加一个类名:奇数行添加 odd 类名,偶数行添加 even 类名。
序号
姓名
年龄
${curObj.count}
${student.name}
${student.age}
运行结果:
二、格式化标签库
(1)fmt:formatDate
该标签用于使用不同的模式格式化日期。其常用属性有:
value:将要被格式化的数据
pattern:格式化的模式。其与 SimpleDateFormat 的参数设置方式相同。
var:格式化后的字符串所要存放的变量。若不指定 var,则会将格式化过的结果直接显示在页面
scope:变量存放的域属性空间,取值为 page、request、session、application。默认为page 范围
type:其取值为 date、time,或 both,表示给出的 value 是日期、时间,还是两者都包含。默认为 date
(2)fmt:parseDate
该标签用于将指定字符串转换为日期类型。常用的属性有:
value:将要被转换的数据
pattern:将要被转换的数据的模式。其与 SimpleDateFormat 的参数设置方式相同。
var:转换后的日期类型数据所要存放的变量。若不指定 var,则会将转换过的结果直接显示在页面
scope:变量存放的域属性空间,取值为 page、request、session、application。默认为page 范围
(3)fmt:formatNumber
该标签用于按照指定格式对数字进行格式化。常用的属性有:
若要使用 pattern 模式,则其中常用的符号的意义为:
(4)fmt:parseNumber
该标签用于将指定字符串转换为数值类型。常用的属性有:
你可能感兴趣的:(JSP核心之JSTL)
《昼颜》里的日本女人:相遇要万种风情,分手要残忍绝情
迷影咖啡
作者:迷之菌子神奇菇迷影咖啡:一本正经做烘焙,胡说八道聊电影漫天萤火虫消散之时良宵就将过去,人们也说含苞待放的花蕾总会开了又谢,因紧紧相拥而面红耳赤的躯体,便是我们经历过这热爱的证明。夫妻关系介绍《昼颜》是2014年电视剧《昼颜:工作日下午三点的恋人们》的续集,故事发在电视剧情节结束的三年后,讲述了已经恢复独身的纱和偶然与曾经的出轨对象北野重逢后再次陷入感情漩涡的故事。《昼颜》制作灵感源自利佳子在
迎接2019
唯有杜康1994
告别2018这一年是机遇与挑战,痛苦与喜悦,失去与收获的一年一月:收获了第一份爱情,开始真正想去了解一个人三月:对工作有了更深入的认识,靠自己的力量完成晋升五月:搬家,住进了自己理想的公寓,一间属于自己的屋子。满地的书六月:外调广州,升经理,有了自己的第一个团队。七月:怀着自我否定,第一次完成了部门任务八月:第一个员工流失,痛哭不已明白无不散之筵席九月:员工陆续离开,经济是一切的根本。十月:陪员工
亲子日记之祝姑姥姥生日快乐(282)
冰心雨露_d504
2021年7月18日,周日,晴周日上班的不上班,上学的不上学,全家都属于休息状态,洗衣做饭是上午的主要任务,中午休息一会儿,下午比较晚了出去给梦怡买了二年级上册的口算题卡,然后去参加姑姑的生日聚餐,本来姑姑应该是周一生日,因为周一都要上班,就提前到周日过了,说是过生日其实就是想借此机会一家人聚聚,毕竟平常都忙,没有时间聚在一起,梦怡还给姑姥姥做了生日贺卡,虽然长相一般,重在心意。生日快乐
android 自定义曲线图,Android自定义View——贝赛尔曲线
weixin_39767513
android 自定义曲线图
个人博客:haichenyi.com。感谢关注本文针对有一定自定义View的童鞋,最好对贝赛尔曲线有辣么一丢丢了解,不了解也没关系。花5分钟看一下GcsSloop的安卓自定义View进阶-Path之贝塞尔曲线。本文的最终效果图:最终效果图.gif思路首先他是一个只有上半部分的正弦形状的水波纹,很规则。其次,他这个正弦图左右在移动。然后,就是它这个自定义View,上下也在移动,是慢慢增加的最后,优化
美团自动配送车2024春季招聘 | 社招专场
美团技术团队
关于美团自动配送团队美团自动配送以自研L4级自动驾驶软硬件技术为核心,与美团即时零售业务结合,形成满足公开道路、校园、社区、工业园区等室外全场景下的自动配送整体解决方案。美团自动配送团队成立于2016年,团队成员来自于Waymo、Cruise、Pony.ai、泛亚等自动驾驶行业头部公司,自动驾驶技术团队博士占比高达30%,依靠视觉、激光等传感器,实时感知预测周围环境,通过高精地图定位和智能决策规划
信任
饮冰伊乔
随着社会的发展,微信和支付宝交易给人们带来了极大的方便,越来越多的人出门都只选择拿一部手机即可,方便安全,可昨天我就遇到了一件比较尴尬的事。昨天傍晚,我从公司出来,感觉有点饿,决定索性吃了饭再回去,来到去过几次的一个店里,如往常一样叫了餐,当时店里吃饭的不多,老板麻利的先去做了,正要扫微信付账的时候发现手机没电了,迷之尴尬,我只好跟老板说不用做了,手机没电了,我身上又没现金,付不了帐了。老板娘很热
Django之Debug篇
菜鸟之编程
Django django python 后端
一、DebugToolBar基本使用1.1、概述Django框架的调试工具栏使用django-debug-toolbar库,是一组可配置的面板,显示有关当前请求/响应的各种调试信息,点击时,显示有关面板内容的更多详细信息。官方文档:DjangoDebugToolbar—DjangoDebugToolbar4.3.0documentation1.2、安装pipinstalldjango-debug-
v-for 实例
琪33
v-for实例v-for实例{{item}}{{index+1}}:{{student.name}}-{{student.age}}varapp=newVue({el:'#app',data:{items:[53,23,76,14,54,36,28],students:[{name:'jspang',age:32},{name:'Panda',age:30},{name:'PanPaN',age:
以高质量调查研究助力组织工作提质增效
木同木同
近日,中共中央办公厅印发了《关于在全党大兴调查研究的工作方案》(后简称《方案》),要求各地区各部门结合实际认真贯彻落实。调查研究是我们党的传家宝,是谋事之基、成事之道。组织部门作为党管干部的核心部门,肩负着管党员、管干部、管人才的重要职责,调查研究更是把握组织工作规律、破解组织工作难题的重要办法。要用好调查研究这一法宝,把准政治方向,贯穿问题导向,坚持实事求是,以高质量调查研究助力组织工作提质增效
地低为海人低为王
缘梦草
地低为海,人低为王。低,高之基,高,低之顶。谦虚才能收益,咄咄逼人会招损。高粱熟了,头会低下。受益反而会深藏不露。捧人之术,把人捧高,然后控制。受控之人,大都是虚荣心作祟。活成别人想象中的样子,像别人想象中那么有面子的活着是悲哀的。穷不可怕,怕的是虚荣心。当你好面子,你就会被控制。一旦受虚荣心控制,你不得不谨小慎微的维护面子,付出多余的能量,希望得到别人的一句赞。面子就是金子打造的牢笼,让你在赞美
请简单介绍一下Shiro框架是什么?Shiro在Java安全领域的主要作用是什么?Shiro主要提供了哪些安全功能?
AaronWang94
shiro java java 安全 开发语言
请简单介绍一下Shiro框架是什么?Shiro框架是一个强大且灵活的开源安全框架,为Java应用程序提供了全面的安全解决方案。它主要用于身份验证、授权、加密和会话管理等功能,可以轻松地集成到任何JavaWeb应用程序中,并提供了易于理解和使用的API,使开发人员能够快速实现安全特性。Shiro的核心组件包括Subject、SecurityManager和Realms。Subject代表了当前与应用
【转载】SSD测试第一神器——FIO
running_sheep
转自:[http://www.ssdfans.com]对于SSD性能测试来说,最好的工具莫过于FIO了。FIO是Jens开发的一个开源测试工具,功能非常强大,本文就只介绍其中一些基本功能。线程,队列深度,Offset,同步异步,DirectIO,BIO使用FIO之前,首先要有一些SSD性能测试的基础知识。线程指的是同时有多少个读或写任务在并行执行,一般来说,CPU里面的一个核心同一时间只能运行一个
虚拟 DOM 的优缺点有哪些
咕噜签名分发
前端 javascript 开发语言
虚拟DOM(VirtualDOM)技术作为现代前端开发中的重要组成部分,已经成为了众多流行前端框架的核心特性。它的引入为前端开发带来了诸多优势,同时也需要我们认真思考其潜在的考量。下面简单的介绍一下虚拟DOM技术的优势与缺点,深入探讨其在实际应用中的影响。提升性能虚拟DOM的最大优势之一是提升页面性能。通过比较前后两次虚拟DOM树的差异,最小化实际DOM操作,从而减少页面重渲染时的性能消耗。这种优
计划比盲目做重要
一祉微笑
坚持分享第99天。一次次会议提醒着老师们假期余额不足,马上面临停机状态。50多天掐指而过,想想放假时的计划,对照如今的完成情况,感觉差太远。想着好好看书,如今50多天过去了第6本还处在未完待续状态;想着假期好好陪陪孩子,在玩中学一些知识,如今想想,孩子学的真不多;想着暑假坚持跑步,有时还是容易给自己找借口,休息三两天。给这个假期一个综合评价,只能说只完成了计划的百分之五六十。想想为什么临近开学没达
081天 约柜失而复得
宁宁2018
撒迦利亚书4:6他对我说:“这是耶和华指示所罗巴伯的。万军之耶和华说:‘不是倚靠势力,不是倚靠才能,乃是倚靠我的灵方能成事。’
《金文成〈正蒙〉日记124。2020-11-9》
金吾生
《金文成〈正蒙〉日记124。2020-11-9》今天是庚子丁亥丙子,九月廿四,2020年11月9日星期一。作者篇7【舜之孝,汤、武之武,虽顺逆不同,其为不幸均矣。】船山讲解说,顺,指的是舜的父亲最终受到感化,转变了态度,结局圆满之事;逆,指的是"桀放、纣诛",即,商汤放桀,周武诛纣,都是采用暴力,不是感化方式,所以是逆。顺与逆,都是为了解决弊政,然其差异之大如此,然而,无论圆满还是遗憾,其实他们都
MyBatis高级面试题-2024
my_styles
mybatis java 开发语言 面试题
MyBatis的核心组件有哪些?首先第一个是,SqlSessionFactory,它就像是一个会话工厂。它的任务是创建SqlSession对象,这个对象是我们与数据库交互的主要途径。SqlSessionFactory的作用很重要,因为它可以帮我们配置数据库连接信息和事务管理等。一旦这个工厂被建立起来,它就会加载一些必要的配置和映射文件,为后续的数据库操作提供一个可靠的基础。第二个是SqlSessi
如何把大象装进冰箱的思考 210624
大丁_初心生活
央视春晚曾有个小品,宋丹丹问赵本山,如何把大象装进冰箱。赵本山说不知道。宋丹丹得意地说,第一步,把冰箱门打开。第二步,把大象装进去。第三步,把冰箱门关上。我相信很多人看了都是一笑了之,我们也从潜意识上给出了否定的答案。樊登老师给出了不一样的解读,他认为这其实是解决问题的经典方法。“把大象装冰箱”,目标十分明确,宋丹丹给出的执行步骤也十分清晰。可赵本山却不会?难道赵本山不知道这三个步骤吗?肯定知道。
风险管理和采购管理核心考点梳理
WorkLee
PMP PMP 风险管理 采购管理
个人总结,仅供参考,欢迎加好友一起讨论PMP-风险管理和采购管理核心考点梳理风险管理风险是一个中性词,包括机会和威胁。风险管理的子过程非常多,但是相对来说子过程之间的逻辑非常清晰,整个风险管理的过程都是在维护一个非常重要的工件-风险登记册。风险管理是项目管理全生命周期都要开展的。1)规划风险管理风险管理计划包含哪些内容?解析:风险管理计划是描述如何安排与实施风险管理活动。(风险管理计划中无风险)包
沟通管理和相关方管理核心考点梳理
WorkLee
PMP PMP 沟通管理 相关方 干系人
个人总结,仅供参考,欢迎加好友一起讨论PMP-沟通管理和相关方管理核心考点梳理沟通管理和相关方(干系人)管理这两章放在一起进行梳理,这两章很多的考点很容易混淆,经常会纠结于一些题目,究竟选择沟通管理还是干系人管理的知识点。沟通管理1)规划沟通管理沟通在PMP中是指信息流的传递,PM是根据谁的需求来确定这种信息流的传递方式、频率,内容、格式呢?解析:规划沟通管理是基于每个相关方或相关方群体的信息需求
东方红
鼻孔一佳
历史上的今天,9月9日。毛泽东,伟大的无产阶级革命家。毛泽东(1893年12月26日-1976年9月9日),字润之(原作咏芝,后改润芝),笔名子任。湖南湘潭人。中国人民的领袖,伟大的马克思主义者,伟大的无产阶级革命家、战略家、理论家,中国共产党、中国人民解放军和中华人民共和国的主要缔造者和领导人,马克思主义中国化的伟大开拓者,近代以来中国伟大的爱国者和民族英雄,中国共产党第一代中央领导集体的核心,
道德经第三十四章
套马地汉纸
道德经第三十四章原文:大道泛兮,其可左右!万物恃之而生,而不辞,功成不名有。爱养万物而不为主,常无欲,可名于小;万物归焉而不为主,可名为大。是以圣人终不为大,故能成其大。译文:大道广泛流行,无所不到。万物依赖它生长而不推辞,有所成就而不自以为有功。养育万物而不自以为主,永远没有私欲,可以说是渺小得很,所以可称它为“小”;物归附于它而它不自以为主宰,可以说极其伟大,所以可称它为“大”。由于它不自以为
Linux学习系列之vim编辑器(一)
llibertyll
linux 学习
vi编辑器的操作模式输入模式—aio等—>命令模式<—:键—末行模式从输入/末行模式切换到命令模式都是需要按ESC键注:a光标后输入,i光标前输入,o直接向下加一行输入,O向上加一行输入在vi编辑器中光标的移动(命令行模式下)键组合(命令)光标的移动$光标移动到当前行的结尾0(零)光标移动到当前行的开始GG光标移动到最后一行gg光标移动到第一行在命令行模式下删除与复制的操作键组合(命令)含义dd删
Apache Kafka的伸缩性探究:实现高性能、弹性扩展的关键
i289292951
kafka kafka
引言ApacheKafka作为当今最流行的消息中间件之一,以其强大的伸缩性著称。在大数据处理、流处理和实时数据集成等领域,Kafka的伸缩性为其在面临急剧增长的数据流量和多样化业务需求时提供了无与伦比的扩展能力。本文将深入探讨Kafka如何通过其独特的架构设计实现高水平的伸缩性,以及在实际部署中如何优化和利用这一特性。一、Kafka伸缩性的核心设计分区(Partitioning)与水平扩展Kafk
6/21 最后的编织之观后感
ChereAlicia
今天看了7分钟震撼人心之短篇有种当局者迷旁观者清的感觉在外人眼里看来已经足够但自有人深陷其中无法自拔而那个人很有可能是自己超脱物质寻求自己真正想要的方能得到内心的平息和安宁图片发自App
每天学点成语
余子烨
1、口诀:功败垂成未成功,不以为然不赞同;火中取栗被利用,罚不当罪处罚重;2、解释:功败垂成:事情接近成功的时候却遭到了失败。出自:《三国志·杨阜传》:“弃垂成之功,陷不义之名,阜以死守之。”不以为然:不认为是对的。表示不同意或否定。出自:宋·苏轼《再乞罢详定役法状》:“右臣先曾奏论前衙一役,只当招募,不当定差,执政不以为然。”火中取栗:一只猴子和一只猫看见炉火中烤着栗子,猴子叫猫去偷,猫用爪子从
2023-11-07
碎碎念念的每一天
忽然开始自卑了,感觉自己无论各个方面都太平平,读书不多,家务做不好,体重控制的不好,早起也困难,起来又不知道该做什么,没有一个可以为之奋斗的目标,也没有很好的交际圈,感觉自己就像一只在笼子里的鸟,想飞也飞不高……我想改变这样的现状,可该如何呢?其实都是我不够努力,没有争分夺秒,没有自律,这些都是我未来跟人拉开差距的原因,所以,我不应该只是自卑,自卑过头会变成焦虑,我应该努力去改变,哪怕改变一小点,
stm32之GPIO寄存器
luofengmacheng
嵌入式 stm32 嵌入式硬件 单片机
文章目录1背景2GPIO寄存器的类型2.1端口配置寄存器2.2设置/清除寄存器和位清除寄存器3总结1背景C51单片机在进行数据的输入输出时,是直接操作与外部引脚关联的内部寄存器,例如,当设置P2_1为0时,就是将外部引脚的P21引脚设置为低电平,当读取P2_1时,就是读取P21的电平。与之类似,stm32芯片内部也有很多用于输入输出的寄存器,这些寄存器也是用于操作外部引脚,但是比C51单片机复杂很
Java回溯知识点(含面试大厂题和源码)
一成码农
java 面试 开发语言
回溯算法是一种通过遍历所有可能的候选解来寻找所有解的算法,如果候选解被确认不是一个解(或至少不是最后一个解),回溯算法会通过在上一步进行一些变化来丢弃这个解,即“回溯”并尝试另一个候选解。回溯法通常用递归方法来实现,在解决排列、组合、选择问题时非常有效。回溯算法的核心要点:路径:也就是已经做出的选择。选择列表:也就是你当前可以做的选择。结束条件:也就是到达决策树底层,无法再做出选择的条件。回溯算法
《老子》笔记19 2018-10-28
海上明月共
第二十二章[原文]曲则全,枉则直,洼则盈,敝则新,少则得,多则惑。是以圣人抱一为天下式。不自见,故明;不自是,故彰,不自伐,故有功;不自矜,故长。夫唯不争,故天下莫能与之争。古之所谓"曲则全"者,岂虚言哉?诚全而归之。[译文]委曲便会保全,屈枉便会直伸;低洼便会充盈,陈旧便会更新;少取便会获得,贪多便会迷惑。所以有道的人坚守这一原则作为天下事理的范式,不自我表扬,反能显明;不自以为是,反能是非彰明
解线性方程组
qiuwanchi
package gaodai.matrix;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Sc
在mysql内部存储代码
annan211
性能 mysql 存储过程 触发器
在mysql内部存储代码
在mysql内部存储代码,既有优点也有缺点,而且有人倡导有人反对。
先看优点:
1 她在服务器内部执行,离数据最近,另外在服务器上执行还可以节省带宽和网络延迟。
2 这是一种代码重用。可以方便的统一业务规则,保证某些行为的一致性,所以也可以提供一定的安全性。
3 可以简化代码的维护和版本更新。
4 可以帮助提升安全,比如提供更细
Android使用Asynchronous Http Client完成登录保存cookie的问题
hotsunshine
android
Asynchronous Http Client是android中非常好的异步请求工具
除了异步之外还有很多封装比如json的处理,cookie的处理
引用
Persistent Cookie Storage with PersistentCookieStore
This library also includes a PersistentCookieStore whi
java面试题
Array_06
java 面试
java面试题
第一,谈谈final, finally, finalize的区别。
final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能
网站加速
oloz
网站加速
前序:本人菜鸟,此文研究总结来源于互联网上的资料,大牛请勿喷!本人虚心学习,多指教.
1、减小网页体积的大小,尽量采用div+css模式,尽量避免复杂的页面结构,能简约就简约。
2、采用Gzip对网页进行压缩;
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz
正确书写单例模式
随意而生
java 设计模式 单例
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。
懒汉式,线程不安全
当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样
单例模式
香水浓
java
懒汉 调用getInstance方法时实例化
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if(null == ins
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
AdyZhang
apache http server
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
每次到这一步都很小心防它的端口冲突问题,结果,特意留出来的80端口就是不能用,烦。
解决方法确保几处:
1、停止IIS启动
2、把端口80改成其它 (譬如90,800,,,什么数字都好)
3、防火墙(关掉试试)
在运行处输入 cmd 回车,转到apa
如何在android 文件选择器中选择多个图片或者视频?
aijuans
android
我的android app有这样的需求,在进行照片和视频上传的时候,需要一次性的从照片/视频库选择多条进行上传
但是android原生态的sdk中,只能一个一个的进行选择和上传。
我想知道是否有其他的android上传库可以解决这个问题,提供一个多选的功能,可以使checkbox之类的,一次选择多个 处理方法
官方的图片选择器(但是不支持所有版本的androi,只支持API Level
mysql中查询生日提醒的日期相关的sql
baalwolf
mysql
SELECT sysid,user_name,birthday,listid,userhead_50,CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')),CURDATE(), dayofyear( CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')))-dayofyear(
MongoDB索引文件破坏后导致查询错误的问题
BigBird2012
mongodb
问题描述:
MongoDB在非正常情况下关闭时,可能会导致索引文件破坏,造成数据在更新时没有反映到索引上。
解决方案:
使用脚本,重建MongoDB所有表的索引。
var names = db.getCollectionNames();
for( var i in names ){
var name = names[i];
print(name);
Javascript Promise
bijian1013
JavaScript Promise
Parse JavaScript SDK现在提供了支持大多数异步方法的兼容jquery的Promises模式,那么这意味着什么呢,读完下文你就了解了。
一.认识Promises
“Promises”代表着在javascript程序里下一个伟大的范式,但是理解他们为什么如此伟大不是件简
[Zookeeper学习笔记九]Zookeeper源代码分析之Zookeeper构造过程
bit1129
zookeeper
Zookeeper重载了几个构造函数,其中构造者可以提供参数最多,可定制性最多的构造函数是
public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd, boolea
【Java命令三】jstack
bit1129
jstack
jstack是用于获得当前运行的Java程序所有的线程的运行情况(thread dump),不同于jmap用于获得memory dump
[hadoop@hadoop sbin]$ jstack
Usage:
jstack [-l] <pid>
(to connect to running process)
jstack -F
jboss 5.1启停脚本 动静分离部署
ronin47
以前启动jboss,往各种xml配置文件,现只要运行一句脚本即可。start nohup sh /**/run.sh -c servicename -b ip -g clustername -u broatcast jboss.messaging.ServerPeerID=int -Djboss.service.binding.set=p
UI之如何打磨设计能力?
brotherlamp
UI ui教程 ui自学 ui资料 ui视频
在越来越拥挤的初创企业世界里,视觉设计的重要性往往可以与杀手级用户体验比肩。在许多情况下,尤其对于 Web 初创企业而言,这两者都是不可或缺的。前不久我们在《右脑革命:别学编程了,学艺术吧》中也曾发出过重视设计的呼吁。如何才能提高初创企业的设计能力呢?以下是 9 位创始人的体会。
1.找到自己的方式
如果你是设计师,要想提高技能可以去设计博客和展示好设计的网站如D-lists或
三色旗算法
bylijinnan
java 算法
import java.util.Arrays;
/**
问题:
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,
您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳
子上进行这个动作,而且一次只能调换两个旗子。
网上的解法大多类似:
在一条绳子上移动,在程式中也就意味只能使用一个阵列,而不使用其它的阵列来
警告:No configuration found for the specified action: \'s
chiangfai
configuration
1.index.jsp页面form标签未指定namespace属性。
<!--index.jsp代码-->
<%@taglib prefix="s" uri="/struts-tags"%>
...
<s:form action="submit" method="post"&g
redis -- hash_max_zipmap_entries设置过大有问题
chenchao051
redis hash
使用redis时为了使用hash追求更高的内存使用率,我们一般都用hash结构,并且有时候会把hash_max_zipmap_entries这个值设置的很大,很多资料也推荐设置到1000,默认设置为了512,但是这里有个坑
#define ZIPMAP_BIGLEN 254
#define ZIPMAP_END 255
/* Return th
select into outfile access deny问题
daizj
mysql txt 导出数据到文件
本文转自:http://hatemysql.com/2010/06/29/select-into-outfile-access-deny%E9%97%AE%E9%A2%98/
为应用建立了rnd的帐号,专门为他们查询线上数据库用的,当然,只有他们上了生产网络以后才能连上数据库,安全方面我们还是很注意的,呵呵。
授权的语句如下:
grant select on armory.* to rn
phpexcel导出excel表简单入门示例
dcj3sjt126com
PHP Excel phpexcel
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Brows
美国电影超短200句
dcj3sjt126com
电影
1. I see. 我明白了。2. I quit! 我不干了!3. Let go! 放手!4. Me too. 我也是。5. My god! 天哪!6. No way! 不行!7. Come on. 来吧(赶快)8. Hold on. 等一等。9. I agree。 我同意。10. Not bad. 还不错。11. Not yet. 还没。12. See you. 再见。13. Shut up!
Java访问远程服务
dyy_gusi
httpclient webservice get post
随着webService的崛起,我们开始中会越来越多的使用到访问远程webService服务。当然对于不同的webService框架一般都有自己的client包供使用,但是如果使用webService框架自己的client包,那么必然需要在自己的代码中引入它的包,如果同时调运了多个不同框架的webService,那么就需要同时引入多个不同的clien
Maven的settings.xml配置
geeksun
settings.xml
settings.xml是Maven的配置文件,下面解释一下其中的配置含义:
settings.xml存在于两个地方:
1.安装的地方:$M2_HOME/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml优先。
ubuntu的init与系统服务设置
hongtoushizi
ubuntu
转载自:
http://iysm.net/?p=178 init
Init是位于/sbin/init的一个程序,它是在linux下,在系统启动过程中,初始化所有的设备驱动程序和数据结构等之后,由内核启动的一个用户级程序,并由此init程序进而完成系统的启动过程。
ubuntu与传统的linux略有不同,使用upstart完成系统的启动,但表面上仍维持init程序的形式。
运行
跟我学Nginx+Lua开发目录贴
jinnianshilongnian
nginx lua
使用Nginx+Lua开发近一年的时间,学习和实践了一些Nginx+Lua开发的架构,为了让更多人使用Nginx+Lua架构开发,利用春节期间总结了一份基本的学习教程,希望对大家有用。也欢迎谈探讨学习一些经验。
目录
第一章 安装Nginx+Lua开发环境
第二章 Nginx+Lua开发入门
第三章 Redis/SSDB+Twemproxy安装与使用
第四章 L
php位运算符注意事项
home198979
位运算 PHP &
$a = $b = $c = 0;
$a & $b = 1;
$b | $c = 1
问a,b,c最终为多少?
当看到这题时,我犯了一个低级错误,误 以为位运算符会改变变量的值。所以得出结果是1 1 0
但是位运算符是不会改变变量的值的,例如:
$a=1;$b=2;
$a&$b;
这样a,b的值不会有任何改变
Linux shell数组建立和使用技巧
pda158
linux
1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]} 5 用${#数组名[@或
hotspot源码(JDK7)
ol_beta
java HotSpot jvm
源码结构图,方便理解:
├─agent Serviceab
Oracle基本事务和ForAll执行批量DML练习
vipbooks
oracle sql
基本事务的使用:
从账户一的余额中转100到账户二的余额中去,如果账户二不存在或账户一中的余额不足100则整笔交易回滚
select * from account;
-- 创建一张账户表
create table account(
-- 账户ID
id number(3) not null,
-- 账户名称
nam