Struts2 MVC框架详解及配置实战

需积分: 0 0 下载量 82 浏览量 更新于2024-09-13 收藏 207KB DOCX 举报
"这是一份关于Struts2学习的笔记,涵盖了Struts2的配置部署、MVC模式以及其与Struts1的区别。笔记中提到了Struts2如何解决JSP/Servlet耦合的问题,强调了低耦合高内聚的设计目标,并介绍了Struts2的处理流程,包括DispatcherFilter核心过滤器、拦截器和Action。还提到了两种在项目中引入Struts2框架的方法。" 在Web开发领域,Struts2是一个流行的应用框架,基于Model-View-Controller (MVC) 设计模式,旨在提高开发效率和代码的可维护性。MVC模式将应用程序分为三个主要部分:View(视图)负责数据的展示,Controller(控制器)接收并处理请求,Model(模型)封装和处理业务逻辑及数据。 Struts1虽然也是基于MVC的框架,但存在一些问题,比如它依赖Servlet API,ActionForm用于数据封装,导致了较高的耦合度。而Struts2则通过Action直接封装数据,Action本身就是一个bean,使用了更强大的表达式语言,降低了耦合度。Struts2还引入了拦截器(Interceptors),使得通用功能如权限验证可以方便地在请求处理前应用,增强了灵活性。 Struts2框架的处理流程如下: 1. 浏览器发送请求到服务器。 2. 请求首先被DispatcherFilter(实现了Filter接口的类)捕获,这是Struts2的核心过滤器。 3. DispatcherFilter会根据请求信息决定调用哪个Action来处理。 4. 拦截器链开始工作,可以执行预定义的逻辑,如登录检查、数据校验等。 5. 控制权传递到Action的execute方法,执行具体的业务逻辑。 6. execute方法执行完毕后,返回的结果信息会被渲染成视图并反馈给浏览器,支持多种视图技术,如JSP、FreeMarker等。 为了在项目中使用Struts2,有两种常见的配置方式: 1. 手动创建项目,将所需的Struts2库(如struts2-core、ognl等)添加到项目的lib目录,并在web.xml中配置FilterDispatcher过滤器,然后编写相应的XML配置文件。 2. 使用IDE的插件或配置向导,选择Struts2的特定版本(如2.1.2),自动生成项目结构和配置文件。 Struts2与其他MVC框架如JSF、Tapestry和SpringMVC竞争,通过提供更灵活的配置和更强大的功能来满足开发者需求。它提倡面向接口编程,面向组件编程和面向方面编程,使得代码更加模块化,易于测试和扩展。此外,Struts2强调Model层不直接依赖于Control层,DAO层也不直接依赖Servlet层,遵循低耦合高内聚的原则,从而提高了代码的可维护性和可复用性。
2024-11-22 上传