`
文章列表
web容器初始化时,因为配置了spring的ContextLoaderListener,所以会执行ContextLoaderListener的contextInitialized(ServletContextEvent event) 方法。 在这个方法中, public void contextInitialized(ServletContextEvent event) { this.contextLoader = createContextLoader(); if (this.contextLoader == null) { this.contextLoader = this; ...
OpenSessionInViewFilter作为一个filter,会在request到达servlet之前拦截request。 在OpenSessionInViewFilter中,首先会得到当前的sessionfactory,部分源码如下: protected SessionFactory lookupSessionFactory() { if (logger.isDebugEnabled()) { logger.debug("Using SessionFactory '" + getSessionFactoryBeanName() + "' for ...
在Spring中使用Hibernate的方法: 因为最终需要用到的就是DAO中HibernateTemplate的方法。所以最终的继承依赖关系如下。 HibernateDaoSupport --->DAO--->  HibernateTemplate--->sessionfactory--->datasource 反应到工程中就是 业务DAO 继承HibernateDaoSupport 。 业务DAO 需要配置HibernateTemplate属性或者sessionfactory属性。(当配置sessionfactory时,HibernateDaoSuppo ...

java code (1)

public void setMappedNames(String[] mappedNames) { this.mappedNames = new LinkedList<String>(); if (mappedNames != null) { this.mappedNames.addAll(Arrays.asList(mappedNames)); } } ########################## 使用 Collections.frequency 找出重复的单词[size=large][/size] String text = "a ...
public static void compile(String name)     throws CompileException   {     ByteArrayOutputStream outpouter = new ByteArrayOutputStream();     boolean ret = false;     try {       String javaFile = Constants.JAVA_PATH + name + ".java";       sun.tools.javac.Main javac = new sun.tools.javac ...
      Element l_o_MessageRoot = new Element("message");       FlexUtils.buildFormHead(l_o_MessageRoot, "", "", "", "", l_str_ResourceContent);       Element l_o_UserName = new Element("user-name").addContent(username);       Element l_o_Pa ...
request.getParameterNames()方法是将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举. 通过Enumeration的hasMoreElements()方法遍历.再由nextElement()方法获得枚举的值.此时的值是form表单中所有控件的name属性的值. 最后通过request.getParameter()方法获取表单控件的value值. Enumeration pNames=request.getParameterNames(); while(pNames.hasMoreEleme ...
之前看资料,总说spring hibernate 是通过threadlocal来实现并发。 更详细的就是session的产生是由threadlocal来实现并发控制,保证多线程安全。 但是只看讲解,真是不理解,时时如鲠在喉。今狠下心看了下源码,终于自认为搞明白了。 实际上就是一个threadlocal实例变量,这个类有get,set方法,且这个方法的特殊之处就在于能得到或设定线程的静态变量threadlocalMap的值,且threadlocalMap的key为该threadlocal实例变量! 根据个人理解详细如下: sessionFactory 由spring的LocalSessionF ...

理解ThreadLocal

理解ThreadLocal . ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量 ...
http://blog.csdn.net/aspdao/article/details/5472955
关于OpenSessionInView . 简而言之,就是通过filter拦截request,并在一开始就把session绑定到request的threadlocalmap中去。而关闭的时候,把session的关闭延迟到前台页面载入完毕,而不是后台处理完毕之后,到达前台之前。   OpenSessionInView在request把session绑定到当前thread期间一直保持hibernate session在open状态,使session在request的整个期间都可以使用,如在View层里PO也可以lazy loading数据,如 ${ company.employees }。当Vi ...
OpenSessionInViewFilter源码分析 . 在之前我写的一篇文章http://blog.csdn.net/aspdao/archive/2010/04/11/5472955.aspx详述了如何配置Hibernate懒加载 当时我觉得我已经会配置Hibernate的懒加载了,但是,在最近做的课题项目中,相同版本的SSH,一 ...

EJB 初学(一)

    博客分类:
  • java
Context cont = new InitialContext(); InitialContext 是 jndi 树的入口点。 Object o = cont.lookup("test"); 然后对对象进行窄化 TestHome home = (TestHome )PortableRemoteObject.narrow(o,TestHome.class); 得到组件接口 Test test = home.create(); 调用远程对象的方法必须捕捉异常RemoteException try{   test.getName(); }catch(Remo ...

初学 dhtmlxSuite

点开铁道部订票网站的源码,可看到dhtmlxSuite的应用。 以完成例如多级菜单 ,下拉框的自动填充等功能。 上网查询之,可从其官方网站下载 开源免费版本。 下载后解压缩,点击 index.html即可。 里边有详尽的使用例子。还可在线看demo及其源码。 用到的时候学习即可。
http://www.pqshow.com/design/jiqiao/13911.html 33个JavaScript自动完成脚本 所谓的提升用户体验,其实就是把所有用户视为极度弱智和超级懒鬼。比如JavaScript自动完成(Autocomplete)脚本, 常用于表单,用户只需输入一两个字母,就为你扩展、联想、匹配和供君选择。 如果你也正准备在这方面提升自己网站的用户体验,下面为你准备了33个JavaScript自动完成脚本。 http://cheneyjuu.blog.163.com/blog/static/41917640200991692311899/ 1. Prot ...
Global site tag (gtag.js) - Google Analytics