`
文章列表
(2)加载用户定制页面的第二种方案 其实在前文(一)已经提到了,把页面、模块、布局都抽象成组件类,就如同Jsp标签一样 这种标签类负责输出每个模块的内容,当然包含了业务数据在里面,具体参考一下几个类   大家 ...
1.关于保存定制页面的说明 通过前面(一)和(二)已经介绍了定制页面的基本概念与ER模型 相信后台记录下来用户选择的布局、模块是非常简单的,比如使用jQuery脚本监听用户每次的操作,把用户添加的布局、模块插入到后台表里面即可,记录下关键的序号,以及每种布局和模块对应的html模板文件即可   2.关于加载用户定制的页面 前面提到了,每种布局、模块都对应一个html文件,但html文件不太适合输出动态页面 所以此处使用FreeMarker的ftl文件代替html文件:因为FreeMarker的理念就是 模板+数据=输出 前面提到的html文件其实就模板,使用ftl文件代替,更 ...
1.关于页面、布局和模块 都可以抽象成一个个组件,就类似于Jsp的标签类一样:用于输出特定的html内容 (1)页面:是布局和模块的容器,它不需要实现特定的业务功能 (2)布局:是模块的容器,它也不需要实现特定的业务功能 (3)模块:模块有很多种,比如“公告资讯”、“轮播广告”等。每一个模块“长成什么样子”,以及“要实现什么样的功能”,都是不同的   总结下来,得出以下结论 (1)针对页面,可以很简单,它就是一个固定的html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...
 1.关于Web页面动态布局的简单声明 (1)此处介绍的动态布局类似于QQ空间或者Google首页的自定义页面 (2)每个用户可以定制自己的页面,可以自由选择布局方式,自由选择模块   2.关于布局和模块的声明 (1)布局是服务端定制的,比如左分栏布局、右分栏布局、通栏布局等 (2)模块也是服务端定制的,用户只能从这些模块中选择,比如QQ空间里面的日志模块、视频模块等 (3)布局和模块的样式可以开放给第三方开发者,但是布局和模块的功能不能开放                                                        ...
原文1:http://blog.csdn.net/huangxw000/article/details/7298781   原文2:http://www.360doc.com/content/11/0415/16/987036_109865999.shtml   Configuration cfg= new Configuration(); freemarkerCfg.setClassForTemplateLoading(this.getClass(), "/");//类路径   //cfg.setDirectoryForTemplateLo ...
1.Lua 工具包 http://code.google.com/p/luaforwindows/   主要包括: Documentation IExecutor Lua Command Line Lua Examples SciTE(Lua脚本编辑器) 2.Lua学习文档(从百度文档库下载的....) http://wenku.baidu.com/view/cbe028533c1ec5da50e270ea.html
1.MyBatis几个重要类的范围和生命周期 SqlSessionFactoryBuilder 用于创建SqlSessionFactory,创建完毕之后,就不再需要使用它。因此 SqlSessionFactoryBuilder 实例的最佳范围是方法范围 (也就是本地方法变量)。  可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFactory 实例。   // 实例化builder SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); // 使用bu ...

JAVA JDBC连接池

1.为什么要使用连接池 (1)对于开发者而言,通过JDBC获取数据连接,然后执行SQL,是很简单的事情 (2)对于JDBC Driver而言:具体到每一个数据库厂商的驱动实现 首先建立应用服务器到数据库服务器之间的连接也就是Socket Connection 接下来应用服务器和数据库服务器之间还有很多次数据交换,比如用户密码校验、权限认证等 最后数据库应用服务器要初始化连接会话句柄,记录联机日志,并为这一次连接分配进程和系统资源 也就是说:建立一次连接可能花费500毫秒,而你执行一个SQL,很可能只花费50毫秒!!!可以看出来,系统如此忙碌,如果开发者只是执行一个简单的SQL, ...
 1.JDBC批处理   package com.yli.demo; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; /** * 简单批处理测试 * @author yli * */ public class BatchTest { public static void main(String[] args) { // Test1(); Test2(); } /** * 非事务测试<br> ...
 1.全局事务与还原点测试 package com.yli.demo; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Savepoint; /** * 全局事务与还原点测试 */ public class TransactionTest { public static void main(String[] args) { // Test1(); ...
  package com.yli.demo; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * Statement测试[ResultSet可滚动可更新结果集]<br> * 可滚动:对ResultSet可向前向后定位<br> * 可更新:ResultSet数据修改后可提交至数据库 ...
1.不可滚动,不可更新结果集测试 package com.yli.demo; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.List; import java.util.Map; import com.yli.dal.util.RowMapper; /** * [ResultSe ...
1.准备工作 1.1 MySQL建立表与初始化数据 create table es_t_shop_affiche(      afficheid int primary key,      affichetitle varchar(200) )ENGINE=INNODB default charset utf8;   insert into es_t_shop_affiche values(10001,'admin'); insert into es_t_shop_affiche values(10001,'root');   1.2 编写创建与关闭数据库连接的工具类 ...
1.实现Servlet监听器接口ServletContextListener package com.yli.init; import java.util.List; import java.util.Map; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.springframework.web.context.WebApplicationContext; import com.suning.teach.servi ...
package com.yli.thread.lock; public class SynchronizedTest { public static final int TOTAL_AMOUNT = 100000; public static void main(String[] args) { Bank2 bank = new Bank2("yli", TOTAL_AMOUNT); Bank2 targetBank = new Bank2("ylz", 0); System.out.println(Thread ...
Global site tag (gtag.js) - Google Analytics