Struts2--框架概述、前端控制器模式、依赖JAR包说明

Spring高频面试题 答案是一种设计原则,它将对象的创建、组装和管理控制权从应用程序代码内部转移到外部容器(如 Spring IoC 容器)。传统方式下,主动通过new创建依赖对象;而 IoC 下,被动接收外部注入的依赖,控制流发生了“反转”。是IoC 原则的一种具体实现方式。它描述的是:组件之间依赖关系的建立,不是在组件内部硬编码,而是通过构造器、Setter 方法或字段注入等方式,由外部容器将依赖对象“注入”到组件中。三种常见注入形式构造器注入(推荐,保证不可变、强制依赖)Setter 注入(可选依赖)字段注入。 阅读详情
Struts2框架概述

Struts2是基于MVC模式的轻量级Web框架,它自问世以来,就收到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中。目前掌握Struts2框架几乎成为Web开发者的必备技能。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构相差巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts2可以理解为WebWork的更新产品虽然从Struts1到Struts2有着巨大的变化,但是相对于WebWork,Struts2的变化很小。

Struts2拥有优良的设计和功能,其优势具体如下:

  • 项目开源,使用及拓展方便,天生优势
  • 提供Exception处理机制
  • Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转
  • 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易
  • 提供简单、统一的表达式语言来访问所有可供访问的数据
  • 提供标准、强大的验证框架和国际化框架
  • 提供强大的、可以有效减少页面代码的标签
  • 提供良好的Ajax支持
  • 拥有简单的插件,只需放入相应的JAR包,任何人都可以扩展Struts2框架,比如自定义拦截器,自定义结果类型、自定义标签等,为Struts2定制需要的功能,不需要什么特殊配置,并且可以发布给其他人使用。
  • 拥有智能的默认设置,不需要另外进行繁琐的设置。使用默认设置就可以完成大多数项目程序开发所需要的功能。
前端控制器模式

在传统的开发方式中,有一次请求就会对应一个Servlet。这样会导致出现很多Servlet。而Struts2将所有的请求都先经过一个前端控制器,在前端控制器中实现框架的部分功能,剩下具体操作要提交到具体的Action中。那么所有的请求都会经过前端控制,那么用什么来实现前端控制呢?过滤器就是最好的一个实现方式,因为需要所有的请求都可以被过滤器拦截,然后再过滤器中实现部分的功能。所以Struts2的前端控制器也是由过滤器来实现的。

传统开发方式:
在这里插入图片描述

前端控制器模式:
在这里插入图片描述

Struts2依赖的基础JAR包

在这里插入图片描述

文件名说明
asm-3.3.jar操作java字节码的类库
asm-commons-3.3.jar提供了基于事件的表现形式
asm-tree-3.3.jar提供了基于对象的表现形式
struts2-core-2.3.24.jarStruts2框架的核心类库
xwork-core-2.3.24.jarWebWork核心库,Struts2的构建基础
ognl-3.0.6.jar对象图导航语言(Object Graph Navigation Language),Struts2框架通过其读写对象的属性
freemarker-2.3.22.jarStruts2标签模板使用的类库
javassist-3.11.0.GA.jarJavaScript字节码解释器
commons-fileupload-1.3.jarStruts2文件上传组件依赖包
commons-io-2.2.jarStruts2的输入输出,传文件依赖的jar
commons-lang-2.4.jar包含一些数据类型工具,是对java.lang包的增强
log4j-api-2.2.jarStruts2的日志管理组件依赖包的api
log4j-core-2.2.jarStruts2的日志管理组件依赖包
Struts2框架核心Jar包清单与功能介绍 本文还有配套的精品资源,点击获取 简介:SSH(Spring、Struts2和Hibernate)是Java Web开发中常用的开源框架组合。本资源主要关注Struts2框架所需的基本jar包,这些包是构建企业级应用程序的核心。Struts2作为MVC框架,在应用中负责HTTP请求处理和业务逻辑管理。本文介绍了Struts2框架的核心jar包,包括struts2-core.... 阅读详情

相关推荐

Struts2开发环境搭建必备JAR包配置指南

Struts2是一个基于MVC设计模式的企业级Java Web应用框架,其核心价值在于通过配置驱动和拦截器机制实现业务逻辑与视图的解耦。它并非Servlet-based的原始框架,而是构建在Filter链之上的请求处理引擎,利用XWork核心实现命令模式的Action调度。Struts2内置多种结果类型,控制Action执行后如何渲染响应:类型描述使用场景dispatcher转发到JSP页面(默认)内部跳转redirect重定向到新URL表单提交防重复。

weixin_35835030的博客 1028

Struts2中的pom.xml所需要的基本依赖

<!-- servlet依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> &l...

小小&大大 2615

Struts 1.2.4 Java Web开发框架完整JAR包与实战解析

Struts 1.2.4 是Apache基金会推出的经典Java Web框架,基于MVC设计模式构建,实现了表现层的职责分离。其核心通过前端控制器统一接收请求,依据配置将请求分发至对应的Action处理类,实现流程控制与业务解耦。该框架以ActionForm封装表单数据,利用反射机制自动绑定请求参数,结合定义导航规则,形成清晰的请求响应链条。MVC三层结构在Struts中体现为:JSP/标签库为View,Action。

weixin_36047538的博客 789

Struts2依赖的JAR包

依赖的JAR包Struts2依赖的基础JAR包,如下asm-3.3.jar操作Java字符码的类库Asm-commons-3.3.jar提供了基于事件的表现形式Asm-tree-3.3.jar提供了基于对象的表现形式Struts2-core-2.3.24.jarStruts2框架的核心类库Xwork-core-2.3.24.jarWebWork核心库,Struts2的构建基础Ognl-3.0.6.j

天高任鸟飞 3750

基于SSM框架的Java Web商城项目实战:从入门到进阶完整指南

Java Web开发是构建企业级应用的核心技术栈,其核心在于通过MVC分层架构实现业务逻辑与数据展示的分离。Spring框架通过IoC(控制反转)和AOP(面向切面编程)原理,实现了组件间的解耦和声明式事务管理,极大地提升了代码的可维护性和可测试性。Spring MVC作为Web层框架,负责请求分发和视图解析,而MyBatis则作为持久层框架,通过灵活的SQL映射提供了高效的数据访问能力。这一经典组合(常被称为SSM框架)在电商、管理后台等需要处理复杂业务逻辑和数据交互的应用场景中具有重要技术价值。本文聚焦

weixin_30582943的博客 274

struts2 开发依赖的所有jar包

Struts2开发依赖的所有jar包,把这些包丢到项目里面去就可以了,这个包含了完整的Struts2集成开发的所有jar包。本人在eclipse,tomcat 8 ,jdk8的环境下可以正常运行,

Struts2 Lib 包详解

Struts2 Core Libraries 必须引入的包struts2-core.jar——Struts2的核心包xwork-core.jar——Command模式框架,WebWork和Struts2都基于xworkcommons-logging.jar——Java日志工具类包freemarker.jar——模板引擎,一个基于模板生成文本输出的通用工具ognl.jar

4270

struts2 基本依赖包(来自官网)

struts2 的基本依赖包 - 8个-官网下载的

Struts2

创建项目 选择命名空间 1.1入门案例 1.添加struts2相关依赖 2.修改web.xml,加载struts2配置 3.编写Action控制器 4.编写index.jsp页面 5.编写struts2.xml文件 1.1.1添加struts2相关依赖 在pom.xml文件中加入struts2的依赖代码: <dependency> <groupId>org.apache.struts</groupId> <...

weixin_52009525的博客 175

struts2.3.34依赖jar包

这是struts2.3.34的依赖jar包,直接导入到项目中,即可添加struts2.3.34的支持

Struts2项目所依赖的jar包

struts2-core-2.1.6.jar,xwork-2.1.2.jar,ognl-2.6.11.jar,freemarker-2.3.13.jar,commons-fileupload-1.2.1.jar。

Struts2 框架**核心基础包**,所有Struts2应用必备依赖,承载Struts2 MVC运行主干逻辑

### 步骤: 1. 前往Apache官网下载Struts2完整发行包 https://struts.apache.org/download.cgi 2. 解压,找到 `/lib/struts2-core-x.x.x.jar` 3. 将jar复制到项目目录:`WEB-INF/lib/` 4. IDE操作: - Eclipse:右键jar → Build Path → Add to Build Path - IDEA:右键lib目录 → Add Library → Project Libra

[Blog][Domain] programb.blog.youkuaiyun.com 196

Struts2依赖类库

commons-logging-1.0.4.jar、freemarker-2.3.15.jar、commons-fileupload-1.2.1.jar、ognl-2.7.3.jar、struts2-core-2.1.8.1.jar、xwork-core-2.1.6.jar

Struts2入门

Struts2入门 Struts2基本概述 百度百科 WEB 层的框架都会基于前端控制器的模式      什么是前端控制器模式呢?传统方式的开发,有一次请求就会对应一个Servlet。这样会导致出现很多 Servlet。而Struts2将所有的请求都先经过一个前端控制器,在前端控制器中实现框架的部分功能,剩下具体操作要提交到具体的Action中。那么所有的请求都会经过前端控

Switch的博客 1721

struts2 依赖包

struts2 用到的最少依赖包

68页|大型车企集团数字化转型汽车数字化信息系统平台规划方案

这份PPT文档提供了一个全面的汽车集团数字化转型规划方案,涵盖了项目目标、规划思路、实施关注点、解决方案建议以及合作优势等多个方面。

baidu_25525561的博客 1328

Struts2学习第一天

本人是一个小白,正在自学SSH框架,其实已经把SSH过了一遍了,但是没有记下什么笔记,决定重新再来一遍,把学到的都记下来,如果以后忘了,还能看一看,也分享给大家,互相学习。如果我的笔记有错误,请大家帮我多多指出。谢谢。Struts2学习第一天第一天学习的知识点:1.Struts2的执行原理和流程2.jar包的导入3.第一个Struts2小程序(HelloWord)一.Struts2的执行原理和流程...

qq_38922435的博客 216

Mann-Kendall检验全解析:从原理到11种变体及Python实现

本文全面解析Mann-Kendall检验,从基础原理到应对自相关、季节性等复杂数据的11种关键变体,如Hamed-Rao修正、季节性MK和趋势自由预白化(TFPW)。详细阐述各方法的适用场景与数学原理,并提供完整的Python实战代码,帮助研究者针对不同数据特性选择最稳健的趋势分析方法。

weixin_29050271的博客 458

Struts2新手避坑指南:从零搭建第一个MVC项目(附完整代码)

本文为Java Web开发新手提供了一份详尽的Struts2快速入门指南。通过从零搭建第一个MVC项目的完整流程,包括环境准备、核心配置、代码编写及部署测试,帮助开发者理解MVC设计模式,并重点解析了常见错误排查方案,旨在让初学者高效掌握这一经典Web应用框架的核心实践。

weixin_29209805的博客 137

从服装打版到激光切割:二维异形件排版算法在实际生产中的避坑指南

本文深入探讨二维异形件排版算法在服装、家具等行业的实际应用,对比NFP和重叠移除两种核心策略的优缺点,并提供算法落地的五大实战陷阱与解决方案。通过案例分析和技术要点解析,帮助生产管理者提升材料利用率5%-15%,优化生产效率。

weixin_28717431的博客 416

自制温湿度计——STM32-L432KC驱动lcd1602和dht11温湿度显示

先给大家甩一张图片哈(附上网址)简单说一下这块板子在这个小项目里的小缺点:一、引脚有点少,lcd1602本来有两种传输数据方式,一种是4bit,另一种是8bit,但是这块板子对于这个项目来说引脚有点少,所以建议用4bit模式。然而,在网上是很难找到设置4bit传输模式的lcd1602的,这也是为什么我写这个blog。二、mbed-os有时候会有大大小小的问题,搞人心态是真的。比如库函数离奇失踪,从官网上下载库函数失败,重装也解决不了然后莫名其妙好了。

m0_72994251的博客 3912

练功秘籍---A

常用整理

CarryBest的博客 1650

Cadence 17.2配置CIS数据库报错?手把手解决ODBC驱动位数不匹配问题

本文详细解析了Cadence 17.2配置CIS数据库时常见的ODBC驱动位数不匹配问题,提供了从系统环境检查到分步解决方案的完整指南。重点解决32位应用程序与64位ODBC驱动之间的架构冲突,包含驱动安装、DSN配置及高级排查技巧,帮助电子工程师快速恢复设计环境。

play7的博客 970
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值