Struts2框架基础与核心组件解析

需积分: 3 1 下载量 95 浏览量 更新于2024-07-28 收藏 512KB PDF 举报
"这是一份关于Struts2入门的学习资料,适合初学者使用。这份教程由刘启玉编著,出自宁波理工学院,讲解了JavaEE应用开发中的Struts2框架。教程对比了Struts1和Struts2的区别,阐述了Struts2的架构和工作原理,以及其核心组件。此外,还介绍了Struts2的配置文件,包括web.xml、struts.xml和struts.properties。" 在JavaEE应用开发中,Struts2是一个广泛使用的MVC(Model-View-Controller)框架,它极大地简化了企业级Web应用程序的构建。该资料主要围绕以下几个知识点展开: 1. Struts2与Struts1的对比: - Struts1中,Action和ActionForm是分离的,而在Struts2中,Action可以是普通的Java对象(POJO),简化了开发。 - Struts1使用ActionForward进行结果导航,而Struts2则采用Result和ResultType,提供了更灵活的视图技术集成。 - Struts2引入了拦截器(Interceptors)机制,增强了功能扩展性和可维护性。 2. Struts2架构: - Struts2的架构基于拦截器模型,它不再依赖于ActionServlet和FilterDispatcher,而是使用FilterDispatcher的升级版——StrutsPrepareAndExecuteFilter。 - 请求处理器RequestProcessor在Struts2中被替换为拦截器链,使得处理逻辑更加模块化。 3. Struts2的工作原理: - 当请求到达时,Struts2的过滤器会捕获请求并引导到相应的Action。 - Action通过ValueStack与视图进行交互,ValueStack是存储动作对象和值栈表达式语言(OGNL)的容器,使得数据绑定和表达式评估变得简单。 - 结果(Results)和ResultType负责处理Action执行后如何展示视图,支持多种视图技术如JSP、FreeMarker等。 4. Struts2的核心组件: - Actions:业务逻辑处理的入口点,可以直接使用POJO实现。 - Interceptors:拦截器用于在Action执行前后插入额外的功能,例如日志记录、权限检查等。 - ValueStack/OGNL:提供了数据模型和视图之间的桥梁,OGNL(Object-Graph Navigation Language)用于对象属性的访问和操作。 - ResultTypes:定义Action执行后的不同结果类型,例如重定向、转发等。 - Results/ViewTechnologies:用于呈现结果的视图技术,可以是静态HTML、JSP、Freemarker等。 5. 配置文件: - `web.xml`:配置Struts2的核心过滤器`FilterDispatcher`(在较新版本中是`StrutsPrepareAndExecuteFilter`)。 - `struts.xml`:定义Action、Interceptor、Result以及其他配置项,是Struts2应用的核心配置文件。 - `struts.properties`:全局配置文件,设置应用级别的参数,如常量、插件配置等。 通过这份教程,读者可以了解到Struts2的基本概念、核心组件及其配置方法,为进一步深入学习和实际开发打下基础。