`
文章列表
主要有两种方式:applicationContext.xml中配置;Hibernate.cfg.xml中配置,applicationContext.xml中调用 1)spring配置hibernate路径 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibern ...
1 开发环境     MyEclipse 10     JDK 1.6     Java EE 6.0     Tomcat 7.0.25     Struts 2.3.4     Spring 3.1.1     Hibernate 3.6.10 2 为ssh做好准备 所需jar包: 3、配置struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundati ...
前置条件mysql 数据库编码为utf-8   在与spring的集成中 配置如下 <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFact oryBean"> <property name="dataSource"> <ref local="dataSource"/></property> <property name="mappi ...
拦截器(Intercept) :与Struts2的拦截器机制基本一样,都是一个操作穿过一层层拦截器,每穿过一个拦截器就会触发相应拦截器的事件做预处理或善后处理。监听器(Listener) :其实功能与拦截器是相似的,但它实现原理不同,它是为每一个事件注册一个或多个监听器,一旦事件发生,则事件源通知所有监听该事件的监听器,然后监听器处理通知(观察者模式)。   1、拦截器 Hibernate为我们提供了实现拦截器的接口org.hibernate.Interceptor,它里面提供了许多拦截事件。通常不需要实现这个接口,因为我们实现自己的拦截器不可能每一个事件都是必须的。所以Hiberna ...
在java web工程中,当jsp向Servlet提交请求时,如何防止刷新提交(F5)?          第一种解决方法:          可以使用的方法有,在jsp中定义一个变量值,这个变量值应该是唯一的,可以使用算法来保证生成数据的唯一性,例如hash算法,或者生成一个随机数 (Random),并将这个数值保存到一个Set中,并将Set保存在session中,提交Servlet时将这个参数传递过去,在Servlet中的 处理:接到参数和session中的set后,判断set中有没有传来的参数值,如果没有则页面是刷新造成的,并不是来自页面的提交,这时不做 ...
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。 假设有两张表: 表1:tab2 id size 1 10 2 20 3 ...

Java Thread 总结

    博客分类:
  • java
线程的概述(Introduction) 线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。 注意:Java中的多线程是一种抢占机制而不是分时机制。抢占机制指的是有多个线程处于可运行状态,但是只允许一个线程在运行,他们通过竞争的方式抢占CPU。   线程的定义(Defining) 定义一个线程(Defining a Thread)有两种方法 1)继承java.lang.Threa ...
数据库中存在一个email字段,并允许其中存储多个email地址,各地址之间使用 ; 分割,但是在POJO中,为了便于处理,email定义为一个List对象。 如何将String字段映射为List类型,Hibernate并没有提供原生支持,需要我们实现自己的UserType。 1.数据库定义 DROP TABLE t_user; CREATE TABLE t_user ( id INT NOT NULL AUTO_INCREMENT , name VARCHAR ( 50 ) , age INT , em ...
用 JQuery 制作随着显示页面的滚动条的滚动动态加载图片,适用于图片太多的页面,在访问网页时,可以先只加载第一屏要显示的图片,当用户进行向下滚动查看页面的时候,动态去加载这些图片,好处是减少页面第一次显示的流量,加快页面第一屏显示的速度。 主要原理:通过 setInterval 定时事件,检测滚动条的位置,再进行 ajax 请求服务端数据,加载图片到页面上。 <script type="text/javascript"> var iHeight = 0; var iTop = 0; var clientHeight = 0; var iInter ...

关于php上传文件

    博客分类:
  • PHP
获取Apache服务器参数 用ini_get(str)函数 例如获取上传文件的最大值 echo ini_get(”upload_max_filesize”); PHP上传文件涉及到的参数 PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面, ...
name.replace(/[^\x00-\xff]/g,"**").length > 1024   用了取巧的办法,将一个中文字替换成两个**来计算
//检测email合法性 function checkemail(email){ var pattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; if(pattern.test(email)){ return true; }else{ return false; } }    

JQuery打开dialog

showDialog("dialog") function showDialog(elementId){ $('#' + elementId).dialog({ autoOpen: false, modal:true, width:580, position:['center',100] }); $('#' + elementId).dialog('open'); }   HTML <div id="dialog" border=&qu ...
$activeSheet->getStyle($this->numToEn($col).($row+2))->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $activeSheet->setCellValue($this->numToEn($col).($row+2)," ".$elements[$row][$col]); //在写入Excels单元格的内容之前加一个空格,防止长数字被转化成科学计数法 $act ...
之前一直是删除之后回后台再取的,这样效率不高,因为并不是所有情况都得走后台,下面提供了一种直接删除的方法 var names = document.getElementsByName("checkbox"); var len = names.length; if(len > 0){ for (var i = names.length - 1; i >= 0; i--) { if(names[i].checked){ var ...
Global site tag (gtag.js) - Google Analytics