Struts框架详解与实战:韩顺平笔记

5星 · 超过95%的资源 需积分: 10 240 下载量 34 浏览量 更新于2024-09-13 收藏 84KB DOC 举报
"韩顺平struts笔记" Struts框架是一个基于Model-View-Controller (MVC)设计模式的开源Java Web框架,它旨在使Web应用程序的开发更加规范、高效和可维护。Struts通过提供一系列的组件和服务,帮助开发者遵循统一的编程标准,从而避免因个人或团队间的理解和实现差异导致的混乱。 为什么需要Struts?在没有统一框架的情况下,不同的开发者可能会按照自己的理解和习惯来实现MVC,这可能导致代码难以理解和维护。Struts作为统一的规范,强制了一套标准的开发流程,使得代码更具有可读性和可扩展性。 Struts框架的核心运行原理如下: 1. 用户通过浏览器向Web服务器发送HTTP请求,例如`http://localhost:8080/web应用/action`。 2. Web服务器解析URL,找到对应的Web应用和资源路径。 3. 请求被转发给ActionServlet,这是Struts框架提供的核心控制器,无需开发者自定义,但需要在`web.xml`中配置。 4. ActionServlet查找`struts-config.xml`配置文件,这个文件定义了表单(ActionForm)、动作(Action)以及它们之间的映射关系。 5. ActionServlet根据请求信息,将用户输入的数据填充到相应的ActionForm中。 6. 然后调用对应的Action,Action从ActionForm中获取数据并处理业务逻辑,通常会调用Service层(Model)来完成实际任务。 7. Action完成后,返回一个结果给ActionServlet,ActionServlet依据`struts-config.xml`决定跳转到哪个JSP页面(View)。 8. ActionServlet将结果转化为静态HTML,返回给Web服务器,服务器再把这个响应发送回浏览器显示。 在`struts-config.xml`中,`<action>`标签的`scope`属性定义了ActionForm对象的生命周期范围。默认情况下,`scope`是`session`,意味着ActionForm会在整个会话期间保持存活,这有助于跨多个请求保持状态。如果设置为`request`,则ActionForm只在当前请求中有效,有利于减少内存占用。 过滤器在Struts中也扮演着重要角色,例如,可以创建自定义的`Filter`实现类,继承自`HttpServlet`并实现`Filter`接口。过滤器可以在请求到达ActionServlet之前进行预处理,例如进行身份验证、数据校验等操作。 在构建一个简单的登录项目时,开发者需要按照以下步骤操作: 1. 创建一个新的Web工程。 2. 引入Struts相关的库。 3. 编写登录界面`login.jsp`。 4. 定义ActionForm来接收和验证用户输入。 5. 实现Action类,处理登录逻辑。 6. 配置`struts-config.xml`,声明ActionForm和Action的映射,以及跳转的JSP页面。 7. 编写成功和错误提示页面,如`ok.jsp`和`err.jsp`。 8. 在`web.xml`中配置Struts的前端控制器(ActionServlet)过滤器。 通过这些步骤,开发者可以快速搭建起一个基本的Struts应用程序,并利用框架提供的优势来提高开发效率和代码质量。