Struts1.x与2.x全面解析:大牛整理的知识精华
需积分: 9 75 浏览量
更新于2024-09-12
收藏 49KB DOC 举报
"这是一份关于Struts框架的全面知识点总结,涵盖了1.x和2.x版本。Struts是一个基于MVC设计模式的Java Web框架,它帮助开发者组织代码,实现业务逻辑与显示层的分离。"
Struts框架是Apache组织开发的一个开源项目,主要用于构建Java Web应用程序。它遵循Model-View-Controller(MVC)架构,旨在简化开发过程,提高代码的可维护性和可重用性。
在Struts1.x中,MVC模式的执行流程大致如下:
1. 用户通过浏览器发送HTTP请求到服务器。
2. 请求经过`ActionServlet`,这是Struts的核心组件,它负责拦截请求。
3. `ActionServlet`根据`struts-config.xml`配置文件中的信息,找到对应的`Action`类。
4. `Action`类执行相关的业务逻辑,并可能与`Model`进行交互,处理数据库操作等。
5. `Action`完成后,会返回一个`Forward`或`ActionForward`,指示应该跳转到哪个JSP页面(`View`)来展示结果。
6. `ActionServlet`将控制权交给`View`,JSP页面渲染并返回响应给客户端。
配置Struts1.x主要涉及以下步骤:
1. 将Struts库(包括所有必需的JAR文件)复制到`WEB-INF/lib`目录下。
2. 配置`web.xml`文件,声明`ActionServlet`作为Servlet容器的监听器和服务。
3. 创建`struts-config.xml`配置文件,定义`action-mappings`,指定`Action`类、`ActionForm`、转发路径等。
在`<action>`标签中,有几个关键属性:
- `name`:指定了与`ActionForm`类相对应的名称,`ActionForm`用于收集和验证用户输入。
- `path`:定义了请求URL的路径,通常以斜杠`/`开头,匹配用户的请求。
- `scope`:定义了`ActionForm`对象的存储范围,可以是`request`或`session`。`request`范围表示对象只在当前请求中有效,`session`则在整个会话期间有效。
- `validate`:布尔值,决定是否在调用`execute`方法前验证`ActionForm`的数据。
Struts2.x相对于1.x版本进行了很多改进,例如:
- 使用更灵活的配置方式,如XML、注解或纯Java配置。
- 提供了更强大的拦截器(Interceptor)机制,用于处理事务、权限验证等通用逻辑。
- 引入了`ValueStack`概念,使得模型数据可以直接在视图层使用,无需手动设置请求或会话属性。
- 支持更多视图技术,如FreeMarker、Velocity等,而不局限于JSP。
无论是Struts1.x还是2.x,它们都是为了简化Web应用开发,通过MVC模式使开发者能更好地组织代码,提高开发效率。理解并熟练掌握Struts框架,对于Java Web开发者来说是非常重要的技能。
2014-02-19 上传
2019-03-28 上传
2021-11-26 上传
2021-05-12 上传
2021-03-24 上传
2024-12-28 上传
2024-12-28 上传
2024-12-28 上传
sealooker
- 粉丝: 0
- 资源: 3
最新资源
- Ori and the Will of the Wisps Wallpapers Tab-crx插件
- 欧拉法:求出函数,然后用导数欧拉法画出来-matlab开发
- fpga_full_adder:FPGA实现全加器
- ecommerce:Projeto电子商务后端
- deploy_highlyavailable_website
- goclasses-theme:UTFPR-SH可以在WordPress上使用WordPress的方式进行转换
- A5Orchestrator-1.0.4-py3-none-any.whl.zip
- iz-gone:存档IZ *一个数据
- 找不到架构x86_64的符号
- Floats
- zen_garden
- kadai任务列表
- 模拟退火算法python实现
- Mosh-React-App:使用 CodeSandbox 创建
- python-pytest-azure-demo
- 菜单视图与UIPageviewController相结合