Struts框架详解与实战:韩顺平笔记
5星 · 超过95%的资源 需积分: 10 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应用程序,并利用框架提供的优势来提高开发效率和代码质量。
2016-02-23 上传
2022-11-05 上传
2014-10-09 上传
2017-03-22 上传
2014-07-08 上传
点击了解资源详情
LW119118520
- 粉丝: 1
- 资源: 6
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍