`
文章列表
        本文以用户注册后为用户发送一封邮件为例子,讲述如何在Spring中使用FreeMaker或Vilocity发送邮件。        Spring配置文件: <!-- 使用Spring封装的Mail Sender -->     <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">         <property name="host" value="sm ...
SpringSide3 中PropertyFilter的格式 2010年05月11日 星期二 18:36 filter_{EQ(=)|NE(& lt;>)|GT(>)|GE(>=)|LT(<)|LE(<=)|LIKE(模糊)|NLIKE(not like)|IN(范围)} {A(Object.class), S(String.class), I(Integer.class), L(Long.class), N(Double.class), M(BigDecimal.class), D(Date.class), B(Boolean.class), C( ...
零配置并不是没有配置,而是通过约定大于配置的方式,大量通过约定来调度页面的跳转而使得配置大大减少。所以,首先应该了解下convention-plugin的约定: 1. 默认所有的结果页面都存储在WEB-INF/content下,你可以通过设置struts.convention.result.path这个属性的值来改变到其他路径。如: 1. < constant name ="struts.convention.result.path" value ="/WEB-INF/page" />   ...
servlet的生命周期起始于一个Servlet类被加载到servlet容器中,结束于这个Servlet类被销毁或被重新载入。       生命周期的三个阶段:初始化阶段、响应客户端请求阶段、销毁阶段。     首先,servlet容器启动时创建了一个servlet实例。     初始化:创建servlet实例后会调用init()方法进行初始化,在servlet的整个生命周期中,init()方法             只调用一次。先说说 init(ServletConfig config) 中的ServletConfig是配置信息的意思,   
  上图来源于Struts2官方站点,是Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 如果Actio ...
  学习了,转自:http://zhoujia.iteye.com/blog/604040 struts1的工作原理图:       1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的             Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts             中不同的模块初始化相应的对象。(面向对象思想)

mongoDB教程

查看附件

SSH整合

SSH框架整合配置教程。
首先SQL SERVER里面有四种索引类型。 1.唯一索引 :(创建唯一约束的时候自动生成唯一索引) 2.主键索引 :(创建主键时自动生成索引,是一种特殊的唯一索引,和唯一索引的区别是【唯一允许NULL值,主键不允许为空】。并且他是特殊的聚集索引) 3.聚集索引 :(自动会进行排序。每个表只能有一个。如果一个字段经常用来order by ,group by ,或者当作查询条件,那个这个字段有必设置成聚集索引) 4.非聚集索引 :(非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个) ...
建SQL SERVER索引的时候有一个选项,即Fillfactor(填充因子)。 这个可能很少人会去注意它,但它也是比较重要的。大家可能也都知道有这个东西,但是如何去使用它,可能会比较迷糊。另外,即使你理解了它的原理,也不一定能 ...
在前面说过了索引能极大的提高数据的检索速度,那为什么不在每一个列上建索引呢?初学者可能会困惑这个问题,而且通常不知道哪些列该建索引,哪些不 该建, 甚至于会把like模糊查询的列也作为索引列,其实绝大多数情况下,like是不使用索引的,只有等于,大于,IN等操作符会使用索引。 SQLSERVER对于数据的插入,更新和删除,都要更新相应的索引。这无疑会大大增加更新时间。另外,如果某个数据页已满,这时如果要在该页插入数据 时,就会造成页分裂产生碎片(后面还会说到),而影响性能。所以仅当查询的性能比更新的性能更重要时才建索引。 考虑建索引的列 1. 主键 2. 外键 3. ...
转自:http://www.cnblogs.com/tmyh/archive/2010/09/29/sqlindex_01.html   我们来简单地看看SQL SERVER索引是如何工作的,关于索引的一些概念就不说了。     聚簇索引:                                             ...
脏检查 Session到底是如何进行脏检查的呢?当一个Customer对象被加入到Session缓存中时,Session会 为Customer对象的值类型的属性复制一份快照。当Session清理缓存时,会先进行脏检查,即比较Customer对象的当前属性与它的快照,来 判 ...
对于需要被持久化的Java对象,在它的生命周期中,可处于以下三个状态之一: (1) 临时状态(transient) : 刚刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象被称为临时对象。当应用程序通过new语句创建了一个对象,这个对象的生命周期就开始了,当 这个对象处于临时状态,即这个对象只是一个保存临时数据的内存区域,如果没有变量引用这个对象,这个对象就结束生命周期, 则会被jre垃圾回收机制回收。这个对象所保存的数据与数据库没有任何关系,除非通过Session的save或者SaveOrUpdate把临时对象与数据库关联,并把数据插入或 ...
iv. 在使用索引字段作为条件时,如果该索引是联合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用。iv. 如果临时表的数据量较大,需要建立索引,那么应该将创    ...
Global site tag (gtag.js) - Google Analytics