QRext4j一个简单易用的二维码生成器,可以自定义二维码颜色和码眼的样式。JDK_1.8及以上,由于此生成器引用了部分JDK_1.8的特性, 如需兼容JDK_1.7,可以通过修改少许代码实现。项目地址:https://gitee.com/iherus/qrext4j Maven坐标(最好是把代码DOWN下来加进来看,方便学习):<dependency> <groupId>org.iherus</groupId> <artifactId>qrext4j</artifactId&g...阅读全文>>
ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。Zxing库的主要部分支持以下几个功能:核心代码的使用、适用于J2SE客户端的版本、适用于Android客户端的版本(即BarcodeScanner)、Android的集成(通过Intent支持和BarcodeScanner的集成)等。Maven引用<dependency> <groupId>com.google.zxing</groupId> ...阅读全文>>
在维护一个之前搭建的框架,SpringMVC框架,看着所有的配置都正常,而且也一直在使用,可是当我编写好代码时突然想到,我的逻辑里面要插入好几次SQL,这里面的事物是否管用呢?于是我测试了一下,竟然是不起作用。改配置,加注解,各种操作都试了,aop:config和tx:advice配置看着都对,可事物就是不起作用。偶然间看到网上有人说context:component-scan配置不当会引起事物不起作用,看了一下,果然,该框架扫描直接在SringMVC配置文件中写了一个根路径。于是修改SpringMVC只扫描Controller包<context:component-scan ...阅读全文>>
window对象的alert和confirm标准方法在不同浏览器的显示效果不太相同,有个相同点是都不是很美观。我们的想法是使用js和css分别仿照它们,提供另一套函数,使在不同浏览器的有着相同的体验效果。另外系统的提示框格式是固定的,无法自定义,使用自己编辑的弹出框可以定制弹出的内容样式。为了保留原有的alert和confirm方法,我们不直接替换window对象的alert和confirm,而是新建一个win对象,该对象下有alert、confirm、open、close等。win.alert等的对话框弹出层,使用iframe作底层,确保对话框在ie7以下版本时也能把select标签覆盖在底...阅读全文>>
HTML 压缩库 HtmlCompressorHtmlCompressor 是一个 Java 类库,用来对 HTML 内容进行压缩。HtmlCompressor 会删除 HTML 中无用的空格、空行、注释等内容。官方说明地址,国内看不了想看下载TXT:https://code.google.com/archive/p/htmlcompressor/wikis/Documentation.wiki htmlcompressor Documentation wiki.txtMaven引入:<dependency> <groupId>com.googlecode...阅读全文>>
开头还是说点废话吧。WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。现在,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器...阅读全文>>
1 大学新生开学的那个月,我在公号后台收到一条留言:“我觉得自己好可悲,爸妈临走时留给我几千元报一个日语培训班,可是我没忍住,给自己买了一个iPhone,剩下的钱现在连买日语书都不够了。” 他说,“我宿舍的同学家庭条件都特别好,看着他们iPhone、ipad、macbook的标配,说不羡慕是假的,可是我手头的钱就勉强能买一个手机。忽然想起人家常说的那句话,‘你奋斗了十八年,才能跟别人一起喝杯咖啡’,感觉特别绝望。起点差得太远,或许我这一辈子也赶不上了吧。” 我想了想,回复他,“你抛开虚荣心,先去想一个问题,是这个日语培训班能让你增值呢,还是这部新手机能让你增值?如果你可以从这部手机上获取...阅读全文>>
几年前,一篇《我奋斗了18年才和你坐在一起喝咖啡》引起多少共鸣,一个农家子弟经过18年的奋斗,才取得和大都会里的同龄人平起平坐的权利,一代人的真实写照。 然而,数年过去,我恍然发觉,他言之过早。18年又如何?再丰盛的年华叠加,我仍不能和你坐在一起喝咖啡。 那年我25,无数个夙兴夜寐,换来一个硕士学位,额上的抬头纹分外明显,脚下却半步也不敢停歇。如果不想让户口打回原籍,子子孙孙无穷匮,得赶紧地找份留京工作。你呢?你不着急,魔兽世界和红色警报?早玩腻了!你野心勃勃地筹划着“创业创业”。当时李彦宏、陈天桥、周云帆,牛人们还没有横空出世,百度、Google、完美时空更是遥远的名词,可青春所向披...阅读全文>>
我的白领朋友们,如果我是一个初中没毕业就来沪打工的民工,你会和我坐在“星巴克”一起喝咖啡吗?不会,肯定不会。比较我们的成长历程,你会发现,为了一些在你看来唾手可得的东西,我却需要付出巨大的努力。 从我出生的一刻起,我的身份就与你有了天壤之别,因为我只能报农村户口,而你是城市户口。如果我长大以后一直保持农村户口,那么我就无法在城市中找到一份正式工作,无法享受养老保险、医疗保险。你可能会问我:“为什么非要到城市来?农村不是很好吗?空气新鲜,又不像城市这么拥挤。”可是农村没有好的医疗条件,前年SARS好像让大家一夜之间发现农村的医疗保健体系竟然如此落后,物质供应也不丰富,因为农民挣的钱少,贵一...阅读全文>>
当浏览器窗口关闭或者刷新时,会触发beforeunload事件。当前页面不会直接关闭,可以点击确定按钮关闭或刷新,也可以取消关闭或刷新。事件使网页能够触发一个确认对话框,询问用户是否真的要离开该页面。如果用户确认,浏览器将导航到新页面,否则导航将会取消。根据规范,要显示确认对话框,事件处理程序需要在事件上调用preventDefault()。但是请注意,并非所有浏览器都支持此方法,而有些浏览器需要事件处理程序实现两个遗留方法中的一个作为代替:将字符串分配给事件的returnValue属性从事件处理程序返回一个字符串。某些浏览器过去在确认对话框中显示返回的字符串,从而使事件处理程序能够向用户显示...阅读全文>>