自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

夏天龙的博客

既然选择了远方,便只顾风雨兼程。

  • 博客(63)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring Validation的使用

说明技术方案使用 Spring Validation。Spring Validation 就是对 Hibernate Validator 又一层封装,Hibernate Validator对Bean校验的 JSR-303规范做了实现并扩展。结合自定义全局异常使用。使用背景在实际的业务开发中,例如一个表单的提交充斥大量的字段,通常前端会进行校验,但是出于安全性考虑,后端的校验也必不可少。在常规的场景下,我们要对请求对象的所有属性做业务校验,这样的缺点是会在业务代码中充斥大量的if判断,使代码量

2021-07-12 16:26:44 630

原创 Spring 全局异常处理

全局异常处理除了是对业务处理运行情况的的统一反馈,也是业务处理发生异常的统一出口,可用来收集错误日志等相关操作。方案说明:基于Spring做全局异常处理、Slf4J做日志输出接口。 自定义异常通过code区别异常类型。 自定义异常通过printLog来决定是否打印日志,默认不打印,避免大量冗余日志信息。其他运行时异常都打印error级别日志。 实际业务代码开发,原则上不允许做try...catch处理,所有错误使用全局异常统一捕获。除非相关业务非常明确不需要抛出异常。技术实现自定义异.

2021-07-08 22:52:23 1136

原创 Hibernate Validator简单校验工具类

ApplicationException 异常为自定义异常。package com.haircut.mumu.util;import com.haircut.mumu.common.exception.ApplicationException;import com.haircut.mumu.entity.BaseEntity;import org.springframework.util.CollectionUtils;import javax.validation.Constrain..

2021-07-07 21:26:44 315

原创 wordpress 下载模板、更新报错 No working transports found解决办法

出错原因是PHP没有开启curl.windows下开启方法如下1. 将php.ini中的;extension=php_curl.dll前的分号去掉,2. 将php中libeay32.ll, ssleay32.dll, php_curl.dll,libssh2.dll移入windows/system32中,然后重启Apache服务器,问题解决注

2017-02-16 11:03:49 8248

原创 Windows下Apache+PHP + wordpress环境的搭建

Windows下Apache+PHP开发环境的搭建主要包括三种方式,第一种是直接采用集成化的安装包,如XAMPP,第二种是Apache采用官方提供的msi安装包,PHP手动安装,第三种是Apache和PHP均手动安装。显然,第一种方式是最简单的,但相应的限制也比较大,第三种方式最麻烦,但可以灵活的选择自己所需的版本进行安装。本文主要记录了第三种方式的安装过程。本文不同于其它同类文章的一个特

2017-02-15 22:19:16 3690 2

原创 关于hibernate的save方法和persist方法的区别

save : 在事务里执行到save,会向数据库插一条数据,如果事务里异常,会回滚,删除数据库中插入的数据。persist:在事务里执行到persist,不会向数据库插数据,事务commit了才会插入数据。

2017-02-12 21:33:00 5877 1

转载 程序员职业素养

1.不匆忙上线,测试充分后再上,即使到了交付期2.分析自己容易遗漏的bug,检讨自己查bug的方法3.让自己的项目灵活易于修改4.承诺的代价,加速的代价=>代码一片糟糕.5.专业的回答,重于事实,不计较过去.6.好代码的障碍:匆忙.7.程序员的肯定承诺用语: 我会在XX前完成这个story=>在过程中如果感觉到突发困难,要提前警告,以寻求团队的帮助,避免最后down掉.

2016-11-04 09:52:09 325

原创 Spring mvc的国际化显示

1. 首先我们需要在springmvc的配置文件里做添加一个bean: classpath:message 这里用的org.springframework.context.support.ReloadableResourceBundleMessageSource  还有org.springframework.context.

2016-09-21 17:45:23 544

原创 Mybatis + Mysql插入后获取主键id

使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增id先看插入的配置文件:在insert的标签里加两个属性:useGeneratedKeys="true"         keyProperty="id"   ,这个keyProperty的id就是我们要返回的主键id insert into t_message( id, m_title

2016-09-21 14:25:21 3814

原创 关于移动端的click时间有延迟的问题(300ms延迟)

首先这个问题百度google一大堆,这里不详细阐述,只提供一种解决方案。还是先说一下问题的由来:问题由来这要追溯至 2007 年初。苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题。这当中最出名的,当属双击缩放(double tap t

2016-09-01 12:28:40 2427

原创 关于UNION查询的排序问题

今天碰到一个奇怪的问题。先看我的数据源:我的目的是让是让STATUS_CODE为062002的数据按照ONLINE_TIME降序,让STATUS_CODE为062003的数据按照OFFLINE_TIME降序再来看看问题:不知道有没有发现问题。。。。好吧,先贴出解决办法:

2016-08-25 16:57:19 2119 7

原创 OptionMenu的简单应用

今天来简单学习一下OptionMenu的使用,与MenuItem的监听。

2016-08-24 22:05:47 4346

原创 解决FireFox浏览器刷新表单值重复的问题

今天在项目中碰到这个一个问题:首先大家看我的表单:大家仔细看这些隐藏域的value值,都只有一个。。。。但是当我点击了浏览器的刷新按钮之后,再看看效果:神奇了吧!。。。怎么就出现一模一样的呢?这要是提交上去数据肯定报错的啊 。。。找了好久,找到了解决办法。就是在表单上添加autocomplete="off"属性。autoc

2016-08-23 15:55:52 768

原创 关于获取javaBean的属性。

今天碰到一个关于在jsp取javaBean属性的错误,特意做个笔记。首先说一下错误:首先我们定义一个bean:package com.xtl.demo;public class User { private String userName; private int age; private boolean isAdult; public String g

2016-08-22 22:54:53 1788

原创 Notification的发送与取消

我们经常能在生活中收到各种通知,短信就是最明显的例子。。关于android的通知我们通过一个小案例来简单实现以下。。首先看xml代码,我放置了两个按钮,分别为取消和发送:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http

2016-08-22 22:32:59 6259

原创 List排序

在Web开发中要排序都是基于sql的,不管事jdbc还是hibenrate、mybatis这些orm框架。。那么,如果单纯的拿到了一个结果集,我们在集合里怎么排序呢?这里给出一个demo。。首先看一个bean:package com.test;public class User { private String userName; private

2016-08-12 15:23:02 245

转载 Spring MVC 教程,快速入门,深入分析

目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc DispatcherServlet说明五、spring mvc 父子上下文的说明六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css八、spring mvc

2016-08-10 13:13:44 335

原创 jsp遍历map集合

controller代码:Map map = new HashMap();map.put(1, "张三");map.put(2, "李四");model.addAttribute("map", map);jsp: ${content.key}${content.value}

2016-07-22 14:41:10 3920

转载 intelliJ IDEA常用快捷键

IntelliJ Idea 常用快捷键列表Alt+回车 导入包,自动修正Ctrl+N  查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C  最近更改的代码Ctrl+R 替换文本Ctrl+F 查

2016-07-18 18:20:03 293

转载 深入理解乐观锁与悲观锁

在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是数据库系统中有乐观锁和悲观锁的概念,像memcache、hiberna

2016-07-14 12:50:23 298 1

原创 表单的基本验证(身份证,邮箱,手机号)

/** 验证手机号 **/function checkmobile(tel){ var regu = /^1[3|4|5|7|8][0-9]{9}$/; if (regu.test(tel)) { return true; }else{ return false; }}/** 验证邮箱 **/function checkEmail(email){ if (email

2016-07-07 14:51:20 1816

原创 Html5的数据存储

HTMl5的sessionStorage和localStoragehtml5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,

2016-06-27 23:21:37 404

原创 Hibernate一级缓存与二级缓存

基本概念:一级缓存框架集成、默认开启、不可关闭二级缓存第三方提供,支持热插拔集成,默认不开启,可以选择性开启缓存范围:一级缓存存在于Session中,针对单个会话二级缓针对整个应用数据过期一集缓存没有过期策略二级缓存可以设置缓存最大数量、最长时间、最大空闲时间等建议放入二级缓存的数据:很少被修改不是很重要的数据允许偶尔有并发,

2016-06-25 15:24:49 295

原创 Hibernate5中创建SessionFactory

在Hibernate 4.2版本中,我们曾经用如下方法创建SessionFactory:Configuration conf = new Configuration().configure();ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(conf.getProperties()).b

2016-06-25 10:26:43 3779

原创 Cordova安装官方插件

首先打开windows的dos命令窗口,到我们cordova的工程目录下(在我的E盘CordovaWorkspace目录下是有这个hello工程的)去Cordova官网,找到对应的插件文档官网地址:http://cordova.apache.org/插件文档地址:http://cordova.apache.org/docs/en/latest/在插件文档的地址下

2016-05-05 16:40:41 755

原创 Cordova基本命令

附上cordova常用命令列表命令说明cordova create 创建cordova工程,例如:cordova create helloworld_prj "com.yiibai.helloworld" "helloworld"cordova build android给cordova项目添加android平台。

2016-05-04 09:24:50 345

转载 JAVA常用加密工具类

package com.example.decript;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;

2016-04-28 15:08:12 513

原创 Android布局优化之include

在我们布局的过程中经常会碰到很多画面非常类似,仅仅是文字什么的不同,象一些导航啊,菜单啊之类的。如果有过html经验的同学都知道有include可以导入公告部分,这样能大大的减少代码的重复,提高复用率。那么在Android中是否也能这样呢? 答案是肯定的。现在我们直接看代码。首先看看目录结构在目录结构里我们可以看到除了main_activity.

2016-04-25 09:28:08 343

原创 java获取propertites文件

message.propertites文件message.root.url=http://localhost:8080/Message#message.root.url=http://xiatianlong.eicp.net/Message#message.root.url=http://www.xiatianlong.cnjava读取:package com.me

2016-04-21 15:51:09 1027

原创 Spring mvc提交form包含date类型数据错误400问题。

在Web项目中提交form提交报400错误一般造成的情况是提交参数与接收参数不匹配,但是在spring mvc中出现这种error还可能是参数未作绑定。具体的解决办法就是在controller中加入如下代码:/** * 数据绑定 * * @param binder * WebDataBinder */ @InitBinder prot

2016-04-21 15:41:58 811

原创 2016-04-18

最近都没有怎么更新博客了,android最近一点时间也放下了 。最近做了一个web项目,独立完成,算是对代码又熟悉了一点吧 。准备明天开始得再把android捡起来

2016-04-18 21:05:12 182

原创 java实现MD5加密

package com.message.utils;import java.security.MessageDigest;/** * md5加密工具类 * @author xiatianlong * * @date 2016年4月11日 下午1:51:47 */public class MD5Util { public static String MD5Psw(Strin

2016-04-18 21:04:00 276

原创 java发送邮件工具类

package com.message.utils;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Properties;import javax.mail.Address;import javax.mail.Message;import javax.mail.Session;imp

2016-04-18 21:03:14 612

原创 ScrollView的简单实用并实现下拉加载

我们在一个activity中如果文本过多,一屏幕显示不下的时候,那么超出的文字就看不到了。但是我们在浏览器浏览数据时候一屏幕容纳不下的话我们有下拉条可以下拉,那样就能看到全部内容了。当然,在android也可以做到。我们看看代码:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

2016-04-06 16:26:52 713

原创 基于UDP实现简单的客户端服务端的消息传递

前面的TCP是有可靠的,有序的。现在看看UDP,UDP是不可靠的,无序的。现在看看实现:这里我也用两个类模拟了客户端与服务端,现在直接看下代码:UDPServer.java:package com.socket.udp;import java.io.IOException;import java.net.DatagramPacket;import java.

2016-03-29 15:07:37 4451

原创 基于TCP实现简单的客户端服务端的消息传递(二)

上一节学习了TCP与客户端的通讯及数据交互,但是仅限于一次客户端,这一节学习使用线程来模拟多客户端请求一个服务端。首先看代码:先看客户端:Client.java这里我们模拟了两个客户端package com.socket.tcp;import java.io.BufferedReader;import java.io.IOException;import jav

2016-03-29 14:55:02 479

原创 基于TCP实现简单的客户端服务端的消息传递

其实网络编程时很重要的,当初我也没好好去学,现在也因为一直没接触到,也没想着去看,今天无聊,就闲着看了看。首先看下通讯的流程。接下来我们来简单实现一下:先看图有个基本的了解:接下来我们就用两个类简单模拟一下客户端与服务端:先看客户端类:Client:package com.socket.demo;import ja

2016-03-28 17:42:14 578

原创 2016-03-27

最近一个月真的是很操蛋了,工作不顺,生活不顺,感情也不顺。呆在一个外包公司里,辛苦在所难免,现在处于实习,多劳少得也没什么计较的。不明白两个月的项目为什么拖到了5个月,公司不可能让整个团队在客户这边的现场耗着,于是安排我留在这处理一些小问题,其他人全部回公司准备其他的项目。在学校讲师说能不去外包公司就不去,当时不太理解,心里想着能接触很多项目,能学更多东西,多好。现在算是明白了,一个人在客

2016-03-27 17:25:22 294

原创 使用ViewFlipper实现图片自动切换,并支持手势滑动切换

首先来看看项目结构目录:不好意思,我右开始使用AndroidStudio了 ,开始用不习惯,就特意去搭建了eclipse的开发环境,整了好久,后来发现eclipse还是不如AndroidStudio啊,虽然快捷键那些东西啊用不太习惯,但是相信慢慢都会好的。首先我们直接看代码吧:先是activity_main.xml<LinearLayout xmlns

2016-03-27 16:59:39 1331

原创 ViewPager的简单应用(二)

前面学习了ViewPager的简单应用,但是那是简单的直接加载View,但是实际的情况更多会采用fragment的方式。这一章就来学习一下ViewPager加载Fragment。首页看一下结构目录这里layout跟第一章的跟前面的基本一样,只是每个View对应了一个fragment。package com.example.lolli.viewpage

2016-03-21 09:33:28 229

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除