IoC全称为Inversion of Control,直译为控制反转。 在传统的应用程序中,控制权在应用程序本身,程序的控制流程完全由开发者控制。在IoC模式下,控制权发生了反转:从应用程序转移到了IoC容器。组件不再由应用程序负责创建和配置,而是由IoC容器负责,应用程序只需要真接使用已经创建并配置好的组件。为了让组件能在IoC容器中被“装配”出来,需要某种“注入”的机制,才能将一种组件“注入”到另一种组件中。 简单来说,依赖注入解决了最主要的问题:将组件的配置与使用相分离,并且由IoC宣传品负责管理组件的生命周期。 一个全面说明IoC功能的例子: 有一个BookService组件如下: ...
<?xml version="1.0" encoding="gb2312"?> <!-- Spring配置文件的DTD定义--> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <!-- Spring配置文件的根元素是beans--> <beans> <!--定义数据源,该bean的ID为dataSource--> <bean id="dataSource" class=" ...
配置一个最小的Struts2项目,需要拷贝: struts2-core.jar Struts2的核心; xwork.jar xwork; ognl.jar 用于页面输出的表达式语言; freemarker.jar 用户界面标签模版; commons-logging.jar Apache的公用包,用于输出日志。 这几个包到项目的lib文件夹下面。
struts.xml文件结构 struts.xml文件是整个Struts2框架的核心。 struts.xml文件内定义了Struts2的系列Action,定义Action时,指定该Action的实现类,并定义该Action处理结果与视图资源之间的映射关系。 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apac ...
任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载。 通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载Struts2框架。 因为Struts2将核心控制器设计成Filter,而不是一个普通Servlet。故为了让Web应用加载FilterDispatcher,只需要在web.xml文件中配置FilterDispatcher即可。 标准配置文 ...
核心控制器:FilterDispatcher FilterDispatcher是Struts2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有用户请求,当用户请求到达时,该Filter会过滤用户请求。如果用户请求以.action结尾,该请求将被转入Struts2框架处理。 业务控制器组件:用户Action 业务控制器组件就是用户实现Action类的实例,Action类里通常包含了一个execute方法,该方法返回一个字符串--该字符串就是一个逻辑视图名,每个字符串对应一个视图名。 每个Action都要处理一个用户请求,而用户请求总是包含了指定URL。当Filt ...