struts2是基于Webwork的基础上做了进一步的改进,而不是在原有struts1做更新的,struts2的出现弥补了struts1的不足之处.struts2的体系结构实现了model-view-controller(MVC)设计模式的概念,它将这些概念映射到web应用程序的组件和概念中.
1.控制器层(controller)
与struts1使用ActionServlet作为控制器不同,struts2使用了Filter技术,FilterDispatcher是struts框架的核心控制器,该控制器负责拦截和过滤所有的用户请求,如果用户请求以action结尾,该请求将被转入struts框架来进行处理.struts框架获取了*.action请求后,将根据*.action请求的前面名称部分决定调用哪个业务控制action类.
struts应用中的action都定义在struts.xml文件中,在该文件中配置action时,主要定义了该action的name属性和class属性,其中name属性决定了该action处理哪个用户请求,而class属性决定了action的实现类.
用于处理用户请求的action实例,并没有与Servlet API耦合,所以无法直接处理用户的请求,为此,struts框架提供了系列拦截器,该系列拦截器负责将HttpServletRequest请求中的请求参数解析出来,传入到action中,并回调Action的execute方法来处理用户请求.
2.显示层(view)
struts2框架改变了struts1只能使用jsp作为视图技术的现状,它还允许使用其他的视图技术,如(FreeMarker\Velocity)等作为显示层.
当struts2的控制层调用业务逻辑组件处理完用户请求后,会返回一个字符串,该字符串代表逻辑视图,它并未与任何的视图技术关联.
3.模型层(model)
模型层指的是后端业务逻辑处理,它会被action调用来处理用户请求,当控制器需要获许得业务逻辑组件实例时,通常并不会直接获取业务逻辑组件实例,而是通过工厂模式来获得业务逻辑组件的实例;或者利用其他IoC容器(如Spring容器)来管理业务逻辑组件的实例.
分享到:
相关推荐
Struts2框架的核心概念包括ActionContext(Action上下文)、ActionMapper(Action映射器)、ActionProxy(Action代理)、ActionInvocation(Action调用)、拦截器(Interceptors)、配置管理器(Configuration ...
在IT行业中,MVC(Model-View-Controller)和Struts2是两种广泛使用的Web应用程序开发框架,尤其在Java平台上。ACCP(Advanced Certified Computer Professional)5.0 Y2是某培训机构的一个课程版本,该课程可能涵盖...
`spring-webmvc-struts.jar`是Spring框架为了与Struts框架集成而设计的一个模块,它提供了对Struts应用的Spring支持,使得开发者可以在Struts应用中利用Spring的特性,如依赖注入(DI)、面向切面编程(AOP)等。...
**Struts2与Spring MVC比较:** 1. **灵活性**:Spring MVC允许更多的自定义,如自定义拦截器、视图解析器,而Struts2的扩展性相对弱些。 2. **依赖注入**:Spring MVC是Spring框架的一部分,天然支持DI,而Struts2...
下面我们将详细探讨Spring MVC的核心组件、工作流程以及与Struts2.x的比较。 1. **Spring MVC 核心组件** - **DispatcherServlet**:Spring MVC 的核心是DispatcherServlet,它作为一个前端控制器,负责接收请求...
2. Struts与Spring的整合,包括Action的配置、Service注入到Action、以及结果的处理。 3. 使用AspectJ的注解来定义切面,如`@Aspect`、`@Pointcut`、`@Before`、`@After`等。 4. 切面的织入策略,包括编译时织入和...
在Struts 2中,模型通常由JavaBean或领域对象表示,它们处理数据的增删改查,并通过Action类与控制器交互。 2. **视图(View)**:视图是用户界面,负责呈现模型中的数据。Struts 2支持多种视图技术,如JSP、...
Spring MVC 和 Struts2.x 是两个广泛使用的Java Web开发中的MVC框架,它们各自具有不同的特点和优势。这里我们将深入探讨这两个框架的核心组件、工作原理以及它们之间的对比。 首先,让我们了解一下Spring MVC。...
2. **DAO(Data Access Object)模式**:在业务层与持久层之间创建一个抽象层,用于执行数据库操作,方便Struts与Hibernate的交互。 3. **模型驱动**:Struts2支持模型驱动的方式,可以直接使用Hibernate的实体对象...
2. Struts框架与MVC Struts是Apache软件基金会的一个开源项目,它是一个基于MVC模式的Java Web应用程序框架。Struts 1.2版本提供了对J2EE平台的良好支持,帮助开发者构建更规范、更易于维护的Web应用。 在使用...
ExtJS4是一个强大的JavaScript库,专门用于构建富客户端的Web应用程序。...总的来说,"Extjs4+MVC+struts2后台管理系统"结合了现代前端技术与成熟的后端框架,提供了一种高效、可扩展的解决方案来构建企业级的Web应用。
2. **Struts2框架**:Struts2提供了动作(Action)类来处理HTTP请求,通过配置Action Mapping来指定URL与Action类的映射。它支持拦截器(Interceptor),可以添加额外的功能,如权限验证、日志记录等。 3. **游戏...
Action类通过配置在struts-config.xml文件中的映射关系与URL路径关联。 4. **配置文件**:"helloapp"项目中会包含一个struts-config.xml文件,它是Struts的核心配置文件,定义了Action类、ActionForm类以及Action间...
### 基于MVC模式的Struts框架详解 #### 摘要 Struts框架是一种流行的、基于MVC(Model-View-Controller)模式的Java Web应用开发框架,它极大地提高了开发效率并增强了应用程序的可维护性。本文旨在深入探讨Struts...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域中被广泛使用。MVC模式是一种将业务逻辑、数据和用户界面分离的设计模式,使得开发者可以独立地修改各个部分,提高...
**Struts 2与WebWork的结合**: Struts 2 的核心技术基础是WebWork,它在Struts 1的基础上进行了许多改进,如更强大的表达式语言(OGNL)、拦截器机制、更简单的配置等。WebWork的这些特性被集成到Struts 2中,使得...
在Struts2框架中,配置文件`struts.xml`用来定义动作映射和结果,确保请求能正确地路由到相应的控制器方法。例如,`delete`方法应该在`struts.xml`中配置,以处理`delete.action`请求,同时指定成功删除后的结果视图...
Struts+Hibernate实现MVC_strutsmvc.rar是一个计算机专业JSP源码资料包,它提供了一种基于Struts和Hibernate框架的实现模型-视图-控制器(MVC)设计模式的方法。这个资料包包含了一个完整的示例项目,用于演示如何...
2. **配置文件**:`struts-config.xml`定义了Struts的配置,包括Action和ActionForward的映射;`hibernate.cfg.xml`是Hibernate的配置文件,包含了数据库连接信息和全局设置;`.hbm.xml`文件是每个实体类的映射文件...
4. **ActionMapping**: 配置在struts-config.xml中,定义Action和ActionForm之间的映射关系以及请求的转发路径。 5. **Tiles**: Struts 1.2.9 包含了Tiles框架,它允许开发者创建可重用的页面布局,提高了视图的可...