Struts2入门指南:架构与开发流程详解

需积分: 0 8 下载量 56 浏览量 更新于2024-07-20 收藏 1.35MB DOCX 举报
Struts2课堂笔记主要涵盖了Struts2框架的学习背景、开发人员日常任务、历史发展以及搭建和配置过程。以下是详细的讲解: **一、学习Struts2的重要性** Struts2作为一个MVC(模型-视图-控制器)架构的Web应用程序框架,学习它能够帮助开发人员提高编码效率,因为它提供了一种预定义的结构和组件,减少了代码重复。固定编码步骤意味着开发者可以更快地实现功能,而框架作为半成品,减少了从头开始构建Web应用的复杂性。 **二、Struts2开发工作内容** 1. **控制器组件**: - Servlet:Struts2的核心控制器,每个Servlet在内存中只有一个实例,通过`load-on-startup`初始化,所有请求都经过`void service(HttpServletRequest, HttpServletResponse)`方法。`/*`映射表示所有请求都会经过该Servlet。 - Filter:与Servlet类似,但更灵活,可以拦截和修改请求,有更强的权限控制能力。Filter在内存中也是唯一,请求通过`void doFilter(HttpServletRequest, HttpServletResponse)`处理。 2. **配置文件**:开发者需要编写struts.xml文件,用于配置控制器如何响应请求、选择动作类和处理逻辑,这部分内容是项目开发中频繁涉及的。 3. **动作类(Action)**:这是处理业务逻辑的地方,负责接收请求参数、调用业务服务、并返回结果给视图层。 4. **JSP(JavaServer Pages)**:作为视图层,JSP用于将模型数据渲染成用户可读的HTML页面。 **三、Struts2的历史** Struts2是Apache Struts项目的升级版,最初由Jakarta项目维护,后来成为Apache软件基金会的一部分。它在Struts 1的基础上进行了改进,提供了更多的特性,如标签库的增强、依赖注入支持等。 **四、搭建开发环境** - 将Struts2框架的jar包复制到项目中,通常参考struts2-blank.war中的依赖。 - 配置核心过滤器,如Struts的拦截器链,确保Struts2的控制器能够正常工作。 - 创建struts.xml配置文件,并将其放置在类路径(src目录)的顶层,便于框架查找。 **五、常见问题与执行流程** - 如果在写struts配置文件时遇到无提示的问题,可能需要检查DTD(文档类型定义)文件的正确引入,通常放在WEB-INF/dtd目录下。 - Struts2的执行流程包括: - 客户端发送请求到HttpServletRequest。 - 过滤器链依次处理请求,如ActionContextCleanUp和FilterDispatcher等。 - FilterDispatcher根据请求URL后缀(.action)调用ActionMapper,决定是否执行特定Action。 - 如果决定执行,ActionMapper找到对应的Action并传递请求。 理解并掌握这些知识点对于使用Struts2进行Web应用开发至关重要,它们涵盖了框架的基本原理、核心组件的功能、配置和使用方法,以及框架在整个Web请求处理过程中的角色。