自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 Java实体类为什么要实现序列化

客户端访问了某个能开启会话功能的资源, web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要站用一定的内存空间。如果在某一时间段内访问站点的用户很多,web服务器内存中就会积累大量的HttpSession对象,消耗大量的服务器内存,即使用户已经离开或者关闭了浏览器,web服务器仍要保留与之对应的HttpSession对象,在他们超时之前,一直占用w...

2018-10-15 13:17:42 5454

原创 java.lang.NoClassDefFoundError异常

在日常Java开发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,需要花费很多时间去找错误的原因,具体是哪个类不见了?类明明还在,为什么找不到?而且我们很容易把java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误搞混,事实上这两个错误是完全不同的。我们往往花费时间去不断尝试一

2018-02-02 15:37:53 392

原创 如何设置select和option的文字居中?

今天在设置option文字居中时发现,给select设置text-align:center在火狐浏览器下ok,但是在chrome浏览器无效,然后option在两个浏览器下设置text-align:center都是无效的,解决方法,设置样式如下 select:{width: auto;padding: 0 2%;margin: 0;}option{text-a

2017-12-24 19:23:22 20396 6

原创 后台向前台传JSON串

后台public void showjsp(HttpServletResponse response) throws IOException{ //解决乱码问题 response.setContentType("text/html; charset=UTF-8"); //获取数据库信息 //相当于select * from 表名 List list = hotService

2017-12-22 11:02:34 1243

原创 mybaties中的insert into select 用法,mybaties批量插入

在最近的项目中用到了站内信功能,需求是站内信要发给所有用户和指定用户,为了优化数据库的性能,极大的减少访问数据库的次数,所以在mybaties中用到了批量删除,直接上代码吧!1.发送给部分用户,批量插入功能MessageDaoImpl.java[java] view plain copypublic void sendPart

2017-12-21 20:54:50 21260

原创 JSON遇到中文乱码问题的解决方法

遇到一个问题,就是讲中文消息以json格式推给微信服务器时,收到的消息是乱码。经过查找资料排查是这样的。PHP5.2或以上的版本把json_encode作为内置函数来用,但是我们必须注意到json_encode只支持UTF8编码的字符, 否则,中文乱码或者空值就出现了。 解决方法: 1、把所有的中文转为UTF-8编码(本身是utf8的话无须转) $data="JSON中

2017-12-21 20:52:43 10008

原创 org.hibernate.ObjectNotFoundException: No row with the given identifier exists解决办法

hibernate-取消关联外键引用数据丢失抛异常的设置@NotFoundhibernate项目里面配了很多many-to-one的关联,后台在查询数据时已经作了健全性判断,但还是经常抛出对象找不到异常:[java] view plain copyorg.hibernate.ObjectNotFoundException: No row with the given ident

2017-12-20 20:55:55 292

原创 js关于setTimeout实现延时执行函数并进行传参

传参方式一:setTimeout第一个参数可以是一段JS的代码字符串片段,第二个参数为延迟时间单位msfunction ab(){var a=1;var b =1;setTimeout("fun("+a+","+b+")",3000);}function fun(a,b){alert(a);alert(b);}传参方式二:setTimeout第一个参数可以是一个空函数

2017-12-20 20:55:46 3249

原创 多张图片上传

public String insert(HttpSession session,@RequestParam MultipartFile[] pict) throws IllegalStateException, IOException{ //判断是否有图片是否传过来 for (MultipartFile item : pict) { if (item.getSize()>0) {

2017-12-19 21:00:25 342

原创 懒汉式单例模式和饿汉式单例模式的详解

1. //懒汉式单例模式  2. public class MySingleton {  3.   4.     //设立静态变量  5.     private static MySingleton mySingleton = null;  6.   7.     private MySingleton(){  8.         //私有化构造函数  9.  

2017-12-18 20:46:14 565

原创 获取当前系统时间转换成想要的格式

import java.util.Date;import java.text.SimpleDateFormat;public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设

2017-12-18 20:39:41 652

原创 Ajax请求Session超时问题

我在做项目时有时会遇到session超时问题,如果session超时,平常请求没有什么问题,通过拦截器可以正确跳到登陆页面,可是你如果用ajax请求的话这就出现问题了,因为ajax是异步的,局部刷新,所以登陆界面不会再全页面中显示,他只会显示到页面的一部分当中。所以根据我这几年的经验找到了我认为比较好的一种方法。因为那我用的框架是和struts2集成的,所以就在拦截器中进行设置: 首先判断

2017-12-14 18:51:19 356

原创 线程

线程的状态以及状态之间的相互转换:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3、运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。4、阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使

2017-12-14 18:49:13 183

原创 事务

在数据库中,所谓事务是指一组逻辑操作单元即一组sql语句。当这个单元中的一部分操作失败,整个事务回滚,只有全部正确才完成提交。 判断事务是否配置成功的关键点在于出现异常时事务是否会回滚 事务的ACID属性1. 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 2. 一致性(Consistency)事务必须

2017-12-13 15:15:14 171

原创 Spring的概述

Spring 是完全面向接口的设计,降低程序耦合性,主要是事务控制并创建bean实例对象。在ssh整合时,充当黏合剂的作用。IOC(Inversion of Control) 控制反转/依赖注入,又称DI(Dependency Injection) (依赖注入)   IOC的作用:产生对象实例,所以它是基于工厂设计模式的 Spring IOC的注入       通过属性进行注入

2017-12-13 15:13:27 173

原创 索引概述

1、 索引的概念索引就是为了提高数据的检索速度。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。 2、 索引的优点1.创建唯一性索引,保证数据库表中每一行数据的唯一性2.大大加快数据的检索速度,这也是创建索引的最主要的原因3.减少磁盘IO(

2017-12-12 19:08:27 284

原创 存储过程概述

存储过程(Stored Procedure)  可以包含逻辑判断的sql语句集合。  是经过预编译,存在于数据库中。通过调用指定存储过程的名字(可有参,可无参)来执行。 优点:简化了复杂的业务逻辑,根据需要可重复使用屏蔽了底层细节,不暴露表信息即可完成操作降低网络的通信量,多条语句可以封装成一个存储过程来执行设置访问权限来提高安全性提高执行效率,因为它是预编译以及存储在数据

2017-12-12 19:06:11 308

原创 Preparedstatement和statement的区别

用Prepared statement进行开发。Prepared statement是预编译的,而statement不是,在每次执行sql语句的增删改时,如果是一条数据两者没差距,但如果数据量大于1,那么每次执行sql语句statement都要重新编译一次,而Prepared statement不用,Prepared statement的运行效率大于statement;从代码的可维护性和可读性来说

2017-12-11 20:50:31 271

原创 Hibernate缓存概述

hibernate分为一级缓存即session缓存也叫事务级别的缓存以及二级缓存sessionFactory即应用级别的缓存,还有查询缓存即三级缓存。 一级缓存的生命周期和session的生命周期保持一致,hibernate默认就启用了一级缓存,不能将其关闭,可以通过session.clear()和session.evict(object)来管理一级缓存。其中get,load,iterat

2017-12-11 20:46:47 136

原创 邮箱,手机号,身份证的正则表达式

正字表达式邮箱:/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ 手机号:/^1[34578]\d{9}$/身份证:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

2017-12-10 20:54:10 259

原创 前台正则表达式校验

前台正则表达式校验jsp邮箱:type="text" id="email" onblur="run()">jsfunction run(){ //邮箱的这则表达式/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ var patten1 = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-

2017-12-10 20:50:56 448

原创 基础集合的原理

流程介绍     collection是父接口,他的子接口有list和set,list下边的子接口有vector,ArrayList,LinkedList,set下边的子接口有HashSet,LikedHashSet,TreeSetList  (1)特点有序重复有序,是指list索引有序,可以通过索引对元素进行操作 重复,可以允许存储重复的元素,因为索引不同

2017-12-08 22:32:15 323

原创 SpringMVC运行原理

SpringMVC的运行流程1、  用户发送请求至前端控制器DispatcherServlet。2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 

2017-12-08 22:03:33 132

原创 多线程详细解说,代码

多线程进程: 就是可执行的应用程序.线程: 进程的执行单元,可以理解为进程的一条执行路径.线程和进程关系:进程是执行中的程序,进程本身不会运行,是线程的容器。一个程序至少有一个进程,一个进程至少有一个线程.多线程: 进程有多个执行路径.原理: CPU做着高效的切换.多线程的执行具有随机性和延迟性.线程状态:1)就绪:指线程具备运行的所

2017-12-07 21:01:11 200

原创 多选框全选中,全选框自动选中

jsp全选多选框:多选框:多选框:function run(){ var b = document.getElementById("b"); var a = document.getElementByName("a"); var s = 0; for(var i=0;i if(a[i].checked == true){ s +=1; } if(s==a.le

2017-12-07 20:59:51 1086

原创 优化sql

优化sql语句的5点主要内容1、SELECT子句中避免使用 *, 尽量应该根据业务需求按字段进行查询2、尽量多使用COMMIT如对大数据量的分段批量提交释放了资源,减轻了服务器压力3、在写sql语句的话,尽量保持每次查询的sql语句字段用大写,因为oracle总是先解析      sql语句,把小写的字母转换成大写的再执行4、用UNION-ALL 替换UNION,因为UNION-A

2017-12-06 20:57:26 195

原创 C/S是什么,B/S是什么

软件系统体系结构C/S体系结构指的是客户端/服务端    例如;QQB(browser)/S体系结构指的是浏览器/服务端      例如12306(网站);购物网站两者区别C/S :优点:交互性好,对服务器压力小,安全 ;缺点:服务器更新时需要同步更新客户端B/S:优点:不需要更新客户端   缺点:交互性差,安全性低

2017-12-06 20:52:33 44668 1

原创 前台向后台传中文数据出现乱码

通过js向后台传中文数据,出现乱码这个其实很简单,需要修改tomcat的配置文件      1.找到你的tomcat文件      2.tomcat/cnof/server.xml      3.打开这个文件,找到下图中的信息              3.配置URIEncoding="UTF-8"(如图所示)

2017-12-05 20:57:29 323

原创 org.springframework.validation.BindException:

org.springframework.validation.BindException:传递日期异常错误解释:在Spring3 Mvc中从前台到后台传递数据中如果包括日期类型的话,一般会报错:org.springframework.validation.BindException错误原因:pojo类定义的属性数据类型是Date前台向

2017-12-05 20:48:32 1324

原创 抽象类和接口的区别

下面比较一下两者的语法区别:1. 抽象类可以有构造方法,接口中不能有构造方法。2. 抽象类中可以有普通成员变量,接口中没有普通成员变量3. 抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。4. 抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public

2017-12-04 21:01:43 103

原创 Transientdataaccessresourceexception

TransientdataaccessResourceexception错误解释:Mbytis调用存储过程出现错误,不允许使用远程表函数调用错误原因:数据库中的数据类型和pojo类中的数据类型不同修改错误:将pojo类和数据库中的属性数据类型写成相同的,不然无法存储总结:pojo类中的属性数据类型,必须和数据库中的数据类型相同

2017-12-04 20:58:45 9677

原创 拦截器

什么是拦截器:拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用正如上面 Struts2的Reference中讲述的,Struts2的Interceptor,其拦截的对象是Action代码,可以定义在Action代码之前或者之后执行拦截器的代码。 在项目中,我们经常用来拦截通过非正常程序而进行的访问St

2017-12-01 19:04:34 202

原创 Struts2的常用标签

首先需要引用 1、  判断标签 后面可跟 2、  迭代标签3、  引入标签 可以把一个JSP页面或者servlet引入一个页面中4、  输出标签 5、  标签赋予变量一个特定范围内的值6、  表单标签 7、  文本域标签8、  下拉标签 9、  声明一个url的路径 最常用的是:判断 循环 输出

2017-12-01 18:52:11 159

原创 SpringMVC、Struts1和Struts2区别

1、 springMVC单例非线程安全,struts1单例非线程安全,struts2线程安全对每个请求都产生一个实例。2、 springMVC和String1的入口都是servlet,而struts2是Filter。springMVC 的前端总控制器为 DispatcherServlet,struts1 的前端总控制器为 ActionServlet,struts2 的前端总控制器为 Filte

2017-11-29 20:45:00 1619

原创 Struts2运行原理

1、 在servlet容器启动时加载web.xml,通过核心控制器FilterDispatcher加载struts.xml文件并进行解析,将解析的信息封装在ActionMapper类中。2、 客户端发送请求,请求被核心控制器FilterDispatcher进行拦截。3、 FilterDispatcher通过ActionMapper找到对应的ActionForm和Action中的响应方法,在

2017-11-29 20:42:48 5300 1

原创 在保存时出现的一个小问题

org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; SQL [insert into role_privilege (roleId, privilegeId) values (?, ?)]; constraint [null]; nested exception

2017-11-28 17:21:43 722

原创 java.sql.BatchUpdateException问题处理

java.sql.BatchUpdateException: 批次处理 0 insert into xxx (id, ...) values (44, ...) 被中止,呼叫 getNextException 以取得原因。org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc

2017-11-28 10:52:40 35486 1

转载 Java中的比较问题详解

Java中的比较问题是一个很基础又很容易混淆的问题。今天就几个容易出错的点作一个比较详细的归纳与整理,希望对大家的学习与面试有帮助。一、==与equals()的区别首先,我们需要知道==与equals()的区别,==号比较的一直是地址值,对于基本数据类型来说,==比较实际上就是变量数值是否相等,而对于引用数据类型,比较的则是地址值。这里特别需要注意的是String类型,很容易想当然的使

2017-11-27 20:27:17 209

转载 用继承和反射机制实现业务扩展

以前学 C++ 的时候,总是听说可以用继承和基类指针去扩展业务逻辑,而对整体系统架构的侵入很小。其实对这里理解并不深。最近在看其他人重构的项目时,发现这种设计可以将系统框架和业务逻辑完全解耦开。于是决定实现一下。基本操作class BaseModule{public: virtual ~BaseModule(); virtual string GetData();};cl

2017-11-27 20:25:11 207

转载 SSH中Action

首先创建一个class BaseAction的类 extends ActionSupport implements ModelDriven 以后写Action的时候直接继承这个类就行了。但是要在这个BaseAction中创建一个获取泛型type的方法 protected T model; 注意修饰符是protected,因为我们要用到这个对象存取值。只能让本类的子类访问到。 publi

2017-11-23 20:46:59 1843 1

空空如也

空空如也

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

TA关注的人

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