struts2 配置通配符映射
作者:xyhot.com 日期:2009-02-07
struts2 配置异常映射
作者:xyhot.com 日期:2009-02-07
include标签与include指令
作者:xyhot.com 日期:2009-02-07
很早以前学习Jsp时就对include指令与inclue标签之间的异同搞的不是很清楚,因为毕竟用起来感觉差不多的,今天特地查了下资料,总的来说它们之间的差别是非常微妙的,可以用如下一句话概括:<%@ include %>指令会首先找到要包含的目标文件,然后把它插入到我们的JSP页面中,就像我们将目标文件中的内容复制粘贴过来了一样;而<jsp:include>则恰恰相反,它是在JSP页面执行的时候才去寻找目标文件,在具体的行为上有如下差别:
1.假设页面A通过include指令包含了页面B,那么B页面所发生的变化直到A页面发生变化时才会被注意到。这和JSP引擎的机制是有关的。使用include指令时,页面A在每次编译的时候才将页面B中的内容包含进来,然后再一起编译。如果B发生了变化,A没有发生变化,那么JSP引擎不会重编译A页面,因此B中发生的变化不会被注意到。仅当A发生了变化的时候,JSP引擎才会重新编译A页面,这个时候A再把B包含进来,JSP引擎才会注意到B页面中发生的变化。
1.假设页面A通过include指令包含了页面B,那么B页面所发生的变化直到A页面发生变化时才会被注意到。这和JSP引擎的机制是有关的。使用include指令时,页面A在每次编译的时候才将页面B中的内容包含进来,然后再一起编译。如果B发生了变化,A没有发生变化,那么JSP引擎不会重编译A页面,因此B中发生的变化不会被注意到。仅当A发生了变化的时候,JSP引擎才会重新编译A页面,这个时候A再把B包含进来,JSP引擎才会注意到B页面中发生的变化。
Struts2整合Spring
作者:xyhot.com 日期:2009-02-07
Spring的官方定义是:一个轻量级的IoC和Aop容器框架,它使用了一种叫做依赖注入的技术。所谓依赖注入,就是指将创建对象以及协议依赖对象之间合作的责任从对象自身中转移到“工厂”中去,这个“工厂”通常由IoC容器提供。
Struts2与Spring的集成要用到Spring插件包,这个包是同Struts2一起发布的。Spring插件是通过覆盖(override)Struts2的ObjectFactory来增强核心框架对象的创建。当创建一个对象的时候,它会用Struts2配置文件中的class属性去和Spring配置文件中的id属性进行关联,如果能找到则由Spring创建,否则由Struts2框架自身创建,然后由Spring来装配。Spring插件具体有如下几个作用:
Struts2与Spring的集成要用到Spring插件包,这个包是同Struts2一起发布的。Spring插件是通过覆盖(override)Struts2的ObjectFactory来增强核心框架对象的创建。当创建一个对象的时候,它会用Struts2配置文件中的class属性去和Spring配置文件中的id属性进行关联,如果能找到则由Spring创建,否则由Struts2框架自身创建,然后由Spring来装配。Spring插件具体有如下几个作用:
Sturts2 配置bean元素的作用
作者:xyhot.com 日期:2009-02-07
在看struts2的bean元素配置时一直对这个元素的作用不是很清楚,尽管官方文档说它有两个作用:对象注入和值注入,当时说的都相当抽象。于是上网查了很多资料,并且查了下webwork in action这本书,发现bean元素是struts2里面才引入的,无意间又看了下官方文档中plug-in这节,这才对bean元素的作用有了一点领悟,下面谈下个人理解。在这之前,首先说下struts2中的依赖注入(dependency injection)。
其实依赖注入就是我们常说的反转控制(IoC),在bean配置的那节中一开始就提到,框架使用它自己的依赖注入容器,原文是这样的:
其实依赖注入就是我们常说的反转控制(IoC),在bean配置的那节中一开始就提到,框架使用它自己的依赖注入容器,原文是这样的:
struts2之namespace配置
作者:xyhot.com 日期:2009-02-07
把namespace单独拉出来讲一方面是因为它实际上不是一个element,而只是一个attribute,前面已经说了,它是package的一个attribute;另外一方面是因为这个属性是我接触Struts2的时候第一个研究的,印象很深,鉴于这两个原因我决定单独说一下它。
在struts1中是没有命名空间这个概念的,通过命名空间我们可以将所有的action配置划分为一个个逻辑单元,每个单元都有它自己的标识前缀。命名控件可以避免action命名的冲突。每个命名空间下有可以有一个叫做”help”的action,并且有着各自不同的实现,当然在同一个命名空间下最好是不要出现两个名字一样的action。当命名空间的前缀出现在浏览器的URI中时,标签会意识到命名空间,因此我们不必将命名空间嵌套在表单和链接中。
在struts1中是没有命名空间这个概念的,通过命名空间我们可以将所有的action配置划分为一个个逻辑单元,每个单元都有它自己的标识前缀。命名控件可以避免action命名的冲突。每个命名空间下有可以有一个叫做”help”的action,并且有着各自不同的实现,当然在同一个命名空间下最好是不要出现两个名字一样的action。当命名空间的前缀出现在浏览器的URI中时,标签会意识到命名空间,因此我们不必将命名空间嵌套在表单和链接中。
Struts2之配置文件
作者:xyhot.com 日期:2009-02-07
从一个struts开发者的角度来看,框架唯一必须的配置文件是web.xml,如上篇所说的0配置,它就只需要web.xml文件。通过web.xml文件,我们可以完全控制struts来配置它自身以及我们的应用程序。默认情况下,struts会装载一系列的内部配置文件来配置它自己,然后装载另外一系列的文件来配置应用程序,尽管只要一个web.xml文件就可以了,但是我们在开发一个完整的struts应用时通常并不会只使用一个web.xml配置文件,而是使用多个配置文件。下表列出了能够用于为我们的应用程序配置框架的的文件,有些配置文件是能够动态重新装载的。动态重载能够使我们的开发更具交互性,那么如何才能做到动态重载呢?
Struts允许我们可以动态的重新装载xml配置文件,也就是说在我们的开发过程中,我们可以重新配置action mapping,这个会对性能产生一点影响,因此这种做法不是很推荐。为了使用动态重载,我们需要在struts.properties文件加入如下一行代码:
Struts允许我们可以动态的重新装载xml配置文件,也就是说在我们的开发过程中,我们可以重新配置action mapping,这个会对性能产生一点影响,因此这种做法不是很推荐。为了使用动态重载,我们需要在struts.properties文件加入如下一行代码:
Tags: Struts web.xml struts.xml struts.properties struts-default.xml Java
