Struts2框架知识分享

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 【6月更文挑战第7天】Struts2框架知识分享

Struts2 是 Apache 软件组织推出的一个相当强大的 Java Web 开源框架,本质上相当于一个 servlet。Struts2 基于 MVC 架构,框架结构清晰。通常作为控制器(Controller)来建立模型与视图的数据交互,用于创建企业级 Java web 应用程序

     Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

Struts2是一个基于MVC设计模式的Web应用框架,大家可以看看之前分享过的一篇介绍什么是MVC:https://developer.aliyun.com/article/1549674?spm=a2c6h.26396819.creator-center.6.744d3e18e6rdqI


Struts2框架概述

Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会维护,目的是简化Web应用的开发过程。Struts2的核心组件包括模型(负责数据和业务逻辑)、视图(负责用户界面展示)和控制器(处理用户输入并调用模型和视图)。

Struts2框架的特点

  • MVC架构:Struts2采用MVC架构,将应用程序分成模型、视图和控制器三个部分,有助于代码的解耦和模块化开发。
  • 轻量级:Struts2作为一个轻量级框架,不会给应用带来过多负担。
  • 灵活性:Struts2提供了丰富的配置选项,允许开发者根据具体需求调整框架。
  • 社区支持:Struts2拥有庞大的社区,提供丰富的文档和资源支持。

Struts2框架的应用场景

Struts2广泛应用于电子政务、电子商务、内容管理系统等多种Web应用程序中。

Struts2框架的执行流程

  1. 请求拦截:用户发起请求后被Struts2的核心过滤器(如StrutsPrepareAndExecuteFilter)拦截。
  2. Action映射:根据struts.xml配置文件中的映射关系,将请求映射到相应的Action类。
  3. Action处理:调用Action类中的execute方法处理请求,该方法通常返回一个结果视图。
  4. 结果呈现:根据Action返回的结果类型,如JSP页面或FreeMarker模板,呈现给用户。

Struts2框架的优势

  • 易于维护:MVC设计模式使得代码结构清晰,易于维护。
  • 丰富的标签库:Struts2提供丰富的标签库,简化JSP页面开发。
  • 强大的拦截器:拦截器提供了数据校验、日志记录等功能。
  • 灵活的扩展性:Struts2支持通过插件扩展功能。

Struts2框架的未来趋势

  • 人工智能集成:预计Struts2将与AI技术集成,增强数据分析能力。
  • 移动端优化:Struts2将加强移动端支持,提升用户体验。
  • 云计算应用:Struts2将探索云计算应用,优化资源利用。

Struts2框架的实际应用案例

在实际开发中,Struts2框架常用于处理用户注册、登录、信息发布等业务逻辑。例如,用户提交注册信息后,Struts2框架会拦截请求,根据配置文件找到对应的Action类处理请求,并返回成功或失败的视图。

结论

Struts2框架因其轻量级、灵活性和强大的社区支持,在Java Web开发中占据了重要地位。它不仅简化了开发过程,还提供了丰富的功能和易于维护的代码结构。随着技术的发展,Struts2将继续集成新技术,优化现有功能,以适应不断变化的Web开发需求。

Struts2详细工作流程?

    a.浏览器发出welcome.action请求

    b.请求到达Struts的Filter控制器(由于web.xml配置)

c.Struts控制器判断请求类型,如果是/welcome.action或/welcome格式请求,将调用struts.xml配置,寻找对应的Action组件

    d.调用Action组件的execute方法处理请求,最后返回一个String视图标识

    e.Struts控制器根据视图标识寻找相应的JSP(struts.xml中result配置)

    f.调用JSP视图生成响应界面给浏览器显示。

Struts2控制流程?

        1)请求到来

        2)创建ValueStack(Action放栈顶),进行初始化

        3)调用拦截器Interceptor,在拦截器中是可以访问ValueStack的

        4)调用Action,执行execute()方法

        5)调用Result,Result负责把数据显示给用户

        6)最后到页面,通过标记库(Taglib)取出数据

     

Struts2中常用的集中Result组件?

   1)JSP响应

        dispatcher :采用请求转发方式调用JSP组件响应。

        redirect:采用请求重定向方式调用JSP组件响应。(在重定向后,原request和action都被销毁掉,因此在JSP获取不到值)

   2)Action响应

        redirectAction:采用重定向方式发出一个*.action请求

        chain:采用转发方式发出一个*.action请求

   3)流响应

         典型功能:验证码和下载。

         stream:可以将Action中的一个InputStream类型属性以流方式响应输出。

   4)JSON响应

          负责对Ajax请求进行数据响应。

         json:可以将Action中的一个属性或多个属性以json格式响应输出

       (注意:使用前需要引入struts-json-plugin.jar,然后将<package>元素的extends设置成"json-default")


目录
相关文章
|
2月前
|
数据采集 NoSQL 数据可视化
用Playwright打造可靠的企业级采集方案--从单机验证到集群化落地
本项目将单机Playwright爬虫逐步演进为分布式集群,解决脚本不稳定、限速、维护难等问题。以招聘数据采集为例,实现从页面解析、代理IP轮换、Redis任务队列到多机并发的完整链路,结合MongoDB/Elasticsearch落库与可视化,形成可复用的生产级爬虫架构,适用于数据分析、岗位监控等场景。
237 0
用Playwright打造可靠的企业级采集方案--从单机验证到集群化落地
|
安全 Java API
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
阿里云短信服务提供API/SDK和控制台调用方式,支持验证码、通知、推广等短信类型。需先注册阿里云账号并实名认证,然后在短信服务控制台申请资质、签名和模板,并创建AccessKey。最后通过Maven引入依赖,使用工具类发送短信验证码。
5475 3
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
|
9月前
|
JSON API 数据格式
微店商品列表接口(微店 API 系列)
微店商品列表接口是微店API系列的一部分,帮助开发者获取店铺中的商品信息。首先需注册微店开发者账号并完成实名认证,选择合适的开发工具如PyCharm或VS Code,并确保熟悉HTTP协议和JSON格式。该接口支持GET/POST请求,主要参数包括店铺ID、页码、每页数量和商品状态等。响应数据为JSON格式,包含商品详细信息及状态码。Python示例代码展示了如何调用此接口。应用场景包括商品管理系统集成、数据分析、多平台数据同步及商品展示推广。
|
8月前
|
API 数据库
什么是请求资源(Request Resource)?
请求资源是Web开发和API设计中的核心概念,指客户端通过URL访问或操作的服务器目标。它包括路径资源(如`/users/123`)、查询资源(如`?category=electronics`)和请求体资源(如POST提交的数据)。良好的API设计应遵循资源名用名词、使用复数形式及避免深层嵌套等原则,以提升可读性和一致性。掌握请求资源的概念有助于优化API交互效率与维护性。
|
供应链 搜索推荐 数据管理
CDGA|数据治理:解锁各行业数据驱动业务发展的新篇章
数据治理已成为推动各行业业务发展的重要引擎。通过实施科学的数据治理策略,企业能够充分挖掘数据价值,提升运营效率,优化决策过程,实现可持续发展。未来,随着技术的不断进步和数据的持续积累,数据治理将在更多领域发挥重要作用,为企业和社会创造更大价值。
|
人工智能 弹性计算 算法
【云故事探索】NO.5:PETKIT小佩,科技与爱,共绘宠物智能生活新篇章
在数字化浪潮中,中国宠物行业蓬勃发展,国内养宠规模已超2亿,形成千亿市场。成立于2013年的PETKIT小佩,专注智能宠物用品,服务遍布40+国家。面对618、双11等高峰挑战,阿里云ECS弹性扩容助其稳定运行。借助阿里云全球化部署能力,小佩成功出海。最新可视喂食器结合AI算法与OSS存储,提升用户体验。未来,双方将进一步探索AI大模型在宠物行业的应用,持续优化养宠体验。
|
SQL 安全 PHP
CTF--Web安全--SQL注入之Post-Union注入
CTF--Web安全--SQL注入之Post-Union注入
|
物联网 持续交付 开发工具
RT-Thread 学习-Env开发环境搭建(一)
RT-Thread 学习-Env开发环境搭建(一)
437 0
RT-Thread 学习-Env开发环境搭建(一)
|
存储 数据采集 安全
|
Java 数据库连接 API
Springboot实现优雅的参数校验(Spring Validation)和 if else说再见
Springboot实现优雅的参数校验(Spring Validation)和 if else说再见
657 0