`
zhaosoft
  • 浏览: 183718 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
首先org.apache.struts2.dispatcher. FilterDispatcher.java 中的init()方法,  public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; String param = filterConfig.getInitParameter("packages");//由此可以看出可以增加参数packages String packages = "org. ...
我们知道Spring通过各种DAO模板类降低了研发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO能够复用同一个模板实例而不会发生冲突。 我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说他们不能在同一时刻被多个线程共享。 虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或会话的缓存问题,并非数据连接或会话的线程安全问题。 按照传统经验,假如某个对象是非线程安全的,在多线程环境下,对对象的访问必须采用synchronized进行线程同步。但Spring的DAO模板类并未采用线 ...
Struts 2设计的精巧之处就是使用了Action代理,Action代理可以根据系统的配置,加载一系列的拦截器,由拦截器将HttpServletRequest参数解析出来,传入Action。同样,Action处理的结果也是通过拦截器传入HttpServletResponse,然后由HttpServletRequest传给用户。其实,该处理过程是典型的AOP(面向切面编程)的方式,读者可以在后面详细了解到。Struts 2处理过程模型如图3.2所示。图3.2  Struts 2处理过程模型★ 说明 ★拦截器是Struts 2框架的核心,通过拦截器,实现了AOP(面向切面编程)。使用拦截器,可以简 ...
初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。   大体上,对于HIBERNATE性能调优的主要考虑点如下:   Ø 数据库设计调整   Ø HQL优化   Ø API的正确使用(如根据不同的业务类型选用不同的集合及查询API)   Ø 主配置参数(日志,查询缓存,fetch_size, batch_size等)   Ø 映射文件优化(ID生成策略,二级缓存,延迟加载,关联优化)   Ø 一级缓存的管理   Ø 针对二级缓存,还有许多特有的策略   Ø 事务控制策略。   1、 数据库 ...
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事 ...
  ■ 认识HTML语法 (标签快速导览) ◆ 网页架构◆ 分隔标签◆ 排版标签◆ 字体标签◆ 文字标签◆ 影像标签◆ 背景标签◆ 连结标签 ◆ 表格标签◆ 序列标签◆ 表单标签◆ 框架标签◆ 其他技巧
Java反射机制深入研究   Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。   在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答 ...
package com.zhaosoft.text; public class A { class Dog{ private String name; private int age; public int step; public Dog(String s,int a) { name=s; age=a; step=0; } public void run(Dog fast){ fast.step++; } } /** * @param args */ public static ...
 |——SortedSet接口——TreeSet实现类  2Set接口——|——HashSet实现类  3            |——LinkedHashSet实现类  4HashSet  5此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。  6此类为基本操作提供了稳定性能,这些基本操作包括 add、remove、contains 和 size,假定哈希函数将这些元素正确地分布在桶中。对此集合进行迭代所需的时间与 HashSet 实例的大小(元素的数量)和底层 HashMap 实例( ...
本文是转贴,著作权归原作者所有!  Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。 2.HashTable不允许null值(key和value都不可以),HashMa ...
Java基本概念:集合类(Collection) List/Set/Map... 的区别和联系Collection:List、SetMap:HashMap、HashTable如何在它们之间选择 一、Array , ArraysJava所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。1、效率高,但容量固定且无法动态改变。array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。2、Java中有一个Arrays类,专门用来操作array。    arrays中拥有一组static函数,equals():比较两个array是否相等。array ...
原文摘自《看天下》2008.3:“创业神童”的生意经(作者微微) 6岁就开始做“销售员” 卡麦隆出生于美国弗吉尼亚州一个只有30万人口的乡下小镇,他的父亲也不是什么企业家,而是一名普通的销售员。从6岁开始,他就挨家挨 ...
1.不要使用autowiring   Spring可以通过类的自省来自动绑定其依赖部分,使得你不必明确指明bean的属性和构造器。Bean的属性可以通过属性名称或类型匹配来实现自动绑定。构造器通过类型匹配来实现自动绑定。你甚至可以指定自动检测自动绑定模式,它可以引导Spring选择一种适当的运行机制。先来看看下面的一个例子: class="com.lizjason.spring.OrderService" autowire="byName"/>   OrderService类的属性名在容器中用于匹配bean实例。自动绑定可以潜在地节省一些打字和减少一 ...
在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的、强壮的 J2EE 应用程序。developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部分组成的 Spring 系列,其中 ...
struts2避免重复提交 struts2使用拦截器来检查表单是否重复提交,它采用同步令牌的方式来实现对表单重复提交的判断。 首先需要在表单中使用<s:token name="user.token"></s:token> <s:token>标签创建一个新的令牌值,并用你所指定的令牌名把令牌保存到session中。而这个令牌值是随即产生的经过加密的字符序列,不会重复。 其次需要为action配置TokenInterceptor或者TokenSessionStoreInterceptor拦截器。这两个拦截器都已经在struts-default. ...
Global site tag (gtag.js) - Google Analytics