- 浏览: 147540 次
最新评论
-
kuchaguangjie:
...
Spring框架结合Hibernate框架的两种方式 -
aa00aa00:
这么好的博文,怎么没人顶呢
SSH环境搭建 -
aa00aa00:
不错,呵呵
SSH环境搭建
文章列表
主要有两种方式: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 ...
Servlet 防止刷新重复提交
- 博客分类:
- java
在java web工程中,当jsp向Servlet提交请求时,如何防止刷新提交(F5)?
第一种解决方法:
可以使用的方法有,在jsp中定义一个变量值,这个变量值应该是唯一的,可以使用算法来保证生成数据的唯一性,例如hash算法,或者生成一个随机数
(Random),并将这个数值保存到一个Set中,并将Set保存在session中,提交Servlet时将这个参数传递过去,在Servlet中的
处理:接到参数和session中的set后,判断set中有没有传来的参数值,如果没有则页面是刷新造成的,并不是来自页面的提交,这时不做
...
sql where 和on 的区别
- 博客分类:
- Hibernate
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
在使用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 ...
获取Apache服务器参数
用ini_get(str)函数
例如获取上传文件的最大值 echo ini_get(”upload_max_filesize”);
PHP上传文件涉及到的参数
PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面, ...
js判断中英文用户名长度
- 博客分类:
- Javascript
name.replace(/[^\x00-\xff]/g,"**").length > 1024
用了取巧的办法,将一个中文字替换成两个**来计算
js判断email合法性
- 博客分类:
- Javascript
//检测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
- 博客分类:
- Javascript
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 ...
PHP导出excel时科学计数法的处理
- 博客分类:
- PHP
$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 ...
删除表单一行或者多行操作
- 博客分类:
- Javascript
之前一直是删除之后回后台再取的,这样效率不高,因为并不是所有情况都得走后台,下面提供了一种直接删除的方法
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 ...