基于MVC设计模式的WEB应用框架研究

Spring MVC:构建现代 Web 应用的基石 Spring MVC 是一个基于 MVC 设计模式的 Web 框架,它属于 Spring Framework 的一部分。负责处理应用程序的数据和业务逻辑。负责展示数据给用户,通常是 HTML 页面。负责接收用户请求,调用 Model 处理数据,并将结果传递给 View 进行展示。Spring MVC 提供了一套强大的工具和机制,帮助开发者轻松地构建基于 MVC 模式的 Web 应用。Spring MVC 是一个功能强大且易于使用的 Web 框架,它为构建现代 Web 应用程序提供了坚实的基础。 阅读详情
摘要 MVC设计模式是基于J2EE的WEB应用开发的首选模式,当前许多流行的框架也都是基于MVC设计模式的。本文简要介绍了MVC设计模式和Struts 框架,并提出了一种基于MVC模式的新型WEB应用开发框架——WebFramework,并对该框架的各个层次的组成、功能进行了详细的描述。

  关键词 MVC设计模式; J2EE;框架; Struts

  引言

   随着开源软件的兴起,各种框架也纷纷出现,如Apache 的开源框架Struts就是典型的代表。在实际软件开发中运用这些框架,大大降低了J2EE开发的复杂度和难度,降低了开发成本。但是这些框架也有不足的 地方,如难于掌握,配置复杂等等。本文研究的目的在于设计出一种简单易行的WEB开发框架——WebFramework,WebFramework结构清 晰,易于理解,增加系统的可扩展性,可维护性,降低开发成本。

  MVC设计模式

  基于J2EE的 WEB应用系统,多数都利用MVC模式来实现其体系结构。MVC(Model-View-Controller)是八十年代为编程语言 Smalltalk-80发明的一种软件设计模式。MVC模式将交互式应用分成模型(Model)、视图(View)和控制器(Controller)三 部分[1]。模型是指从现实世界中挖掘出来的对象模型,是应用逻辑的反映。模型封装了数据和对数据的操作,是实际进行数据处理的计算的地方。视图是应用和 用户之间的接口,它负责将应用显现给用户和显示模型的状态。控制器负责视图和模型之间的交互,控制对用户输入的响应响应方式和流程,它主要负责两方面的动 作:把用户的请求分发到相应的模型;将模型的改变及时反应到视图上。MVC将这些对象分离以提高灵活性和复用性。MVC模式的结构如图1所示:


图1 MVC设计模式的结构

  Struts框架

   Struts是Apache基金会Jakarta项目组的一个Open Source项目,它将Servlet2.2和JSP1.1标记用作实现的一部分,它由一组相互协作的类、servlet和JSP标记,组成一个可重用的 系统设计。它能够很好地帮助Java开发者利用J2EE开发WEB应用。它将设计模式中“分离显示逻辑与业务逻辑”的能力发挥的淋漓尽致。因此,越来越多 的大型的WEB应用项目的开发都纷纷采用Struts框架,或者借鉴Struts架构设计,进行基于MVC模式的应用系统的开发。

  Struts的工作原理如图2所示:

图2 Struts 的工作原理

  Struts的优点主要体现在两个方面:表单验证和页面导航。表单验证解决了请求数据的验证问题,增强了系统健壮性。而页面导航使系统的业务流程脉络清晰,系统各部分之间的联系可以通过配置文件反映出来,从而在一定程度上简化了系统以后的维护工作。

  但是Struts也存在一些不足:

  1)陡峭的学习曲线。Taglib是Struts的标记库,如果能灵活运用,能大提高开发效率,但对初学者来说,却需要一个持续学习的过程,增加了系统的开发成本。

  2)增加了系统的复杂度。业务层和表现层之间的耦合度太高,使得开发人员无法专注于表现层的设计和实现。

  3)没有对表单数据前端验证提出方案,不利于在大型系统中使用。

  4)配置文件过于复杂繁索,随着系统规模的增大,struts-config.xml越来越庞大,维护也变得越来越困难。

  WebFramework框架

   针对Struts框架的以上不足之处,本文提出WebFramework框架,与Struts框架相比,WebFramework更简单易行,它通过简 化表现层的设计,降低开发难度,节约开发成本;使用VO(Value Object)作为数据传递的方式,降低系统复杂度;运用简单的浏览器端表单字段数据验证,提高系统的运行效率;简化的配置文件,便于系统的维护。

  设计目标

   遵循J2EE规范,基于多层分布式应用软件开发框架,分布式的层次构架方式可以提高软件系统性能上的可扩展性,从长期的角度上保障了客户对当前的软件投 资;实现软件系统在异常情况下也可以正常地提供服务,提高软件系统的稳定性;各个构架层次逻辑分离,有利于软件开发过程中团队成员的协同工作,提高生产效 率。

  2、框架结构

  在设计策略中,将软件系统从构架上分为数据层、业务逻辑层和表示层,主要集中在业务表示与业 务逻辑层。将普通三层架构的表示层细分成视图格式层和表示控制逻辑层。表示层涉及基于“瘦客户”技术的用户视图格式服务器端表示和相应的交互式控制逻辑。 视图格式层,只保留了构建客户端用户视图必要的显示格式和事件触发;而在表示控制逻辑层则如名称所描述的那样,实现了人机交互所需控制逻辑和部分业务会话 逻辑,再加上贯穿所有系统逻辑层的业务实体,则构成了以MVC模式为核心的表示层架构,将显示格式、显示控制逻辑、模型数据三部分有效地分隔开来,大大加 强了系统架构的可扩展性和应用子系统的可插拔性。

  业务层细分成业务会话层和业务持久化层。业务层集中在业务流程中处理逻辑的组件化封 装,且与数据层平台和外部系统无关。业务会话层,侧重于业务活动,将一项业务的所有活动事务性地封装起来,也确保业务流程处理的一致性和高效率;而业务持 久化层则是为业务会话层提供支持,提供业务数据的持久化操作,在业务与数据库之间建立分离作用的中间层,构成松耦合的架构。

  本分层模型中实现了MVC设计模式。其中,Servlet组件对应于MVC中的控制器(Controller)部分,JSP及Browser对应于视图(View)部分,而会话外观、逻辑Bean及值对象则对应于模型(Model)部分。其结构图3所示:

  2.1、数据层

  (1)层定义

  数据层对数据进行管理,并向业务逻辑层提供标准化的开放访问接口。

   数据层目前主要提供两种形式的服务方式:数据库方式和文件方式。数据库主要提供业务操作数据等具有明显结构化特性的数据的存储和访问服务;文件主要提供 包括扫描文档图像、传真、照片、计算机生成的报告、字处理文档、电子表格、演示文稿、语音和视频片段等非结构化数据的存储和访问服务。

  主要功能:数据创建、数据存储、数据查询、数据更新、数据删除、数据安全、事务支持、数据备份/恢复。

  (2)与其他层接口

  1)数据库方式的数据层面向业务逻辑层提供数据库访问服务接口,业务逻辑层通过JDBC协议访问数据库服务。

  2)文件方式的数据层面向业务逻辑层提供文件级的访问服务接口,业务逻辑层通过操作系统本身提供的文件访问API访问文件数据。


图3 MyFramework框架结构图

  2.2 业务逻辑层

  (1)层定义

   业务逻辑层接受从表示层输入的用户请求,将其转化为业务逻辑过程能够理解的方式,根据特定的业务逻辑有序地向数据层发送数据请求,并将数据层返回的数据 解释及组合成用户所需信息,返回给表示层,是整个应用软件系统中业务逻辑的实现和处理核心。业务逻辑层运行在基于J2EE应用服务器的EJB及WEB容器 中。

  (2)组件定义

  业务逻辑层包含会话外观(Session Fa?ade)、逻辑Bean(Logic Bean)和和数据存取Bean(Data Access Bean)等三个逻辑组件。

  1)会话外观

  提供了面向表示层的统一的业务逻辑调用接口;是数据存取事务的边界,所有数据存取事务都由会话外观进行管理,即会话外观负责数据存取事务的开始和关闭。

  业务逻辑完成方式:通过调用逻辑Bean实现业务逻辑。

  2)逻辑Bean

  提供了业务逻辑具体实现;具有可复用性:可以直接被会话外观调用,实现会话外观所需的业务逻辑;可以被其他逻辑Bean调用,此时此逻辑Bean作为一个更复杂的业务逻辑的一个组成部分。

  业务逻辑完成方式:可以通过调用其他的逻辑Bean实现相对复杂的业务逻辑;可以直接调用数据存取Bean完成相对简单的业务逻辑。

  3)数据存取Bean

  提供了数据层的访问接口;不负责管理事务,它只是被动的使用调用者传入的事务环境;与数据库表的映射方式,通常采取单个数据表对应单个数据存取Bean的映射方式,由单个数据存取Bean包含对应单个数据表的所有相关数据访问操作。

  4)值对象

   包含业务逻辑实体的属性,不包括业务逻辑实体的操作;是表示层和业务逻辑层数据交换的主体单元,和会话外观一同组成了完整的业务逻辑实体,提供了业务逻 辑层面向表示层的统一接口;与数据库表的映射方式,通常采取单个数据表对应单个值对象的映射方式;可以与不同类型值对象以聚合方式组成新的值对象。

  (3)与其他层接口

  1)由会话外观提供面向表示层的业务逻辑调用接口,表示层通过Java本地调用访问业务逻辑层。

  2)数据存取Bean通过JDBC访问数据库服务。

  3)数据存取Bean通过操作系统提供的系统服务访问文件数据。

  2.3 表示层

  (1)层定义

  表示层接受用户提交的输入请求,通过对业务逻辑层的访问,获得并向用户输出可视化响应。

  (2)组件定义

  采用MVC设计模式,由Servlet提供页面请求和请求响应的总体控制,JSP和浏览器提供请求结果响应的可视化显示。

  1)Servlet

  接收所有用户由通过浏览器提交的业务请求,并合成相应的值对象,访问业务逻辑层完成业务逻辑实体的业务处理;将业务逻辑实体的变化以值对象的方式通知并转向相应的JSP。

  2)JSP

  根据Servlet告知的值对象,合成请求响应结果的最终输出格式化文本(HTML);将合成格式化文本以网络协议的方式发送给提交业务请求的用户浏览器。

  3)浏览器

  提供用户输入业务请求数据的输入界面,数据验证通过后提交业务请求;接收业务请求响应的HTML文本,将业务请求响应结果以可视化的访问呈现给用户。

  4)WebService

  是业务逻辑层对外部系统提供服务的边界和接口,完成和外部系统的集成和交互。

  (3)与其他层接口

  1)Servlet通过Java本地调用访问业务逻辑层。

  2)浏览器通过HTTP/HTTPS协议向表示层提出业务请求并接收表示层的业务响应。

  3、框架的配置文件

  (1)系统初始化配置文件:web.xml

  该文件是Controller专属的配置信息文件。控制器在第一次启动时需要从这个文件载入系统的配置信息。文件内容如下:

<servlet>
<servlet-name>controlservlet</servlet-name>
<servlet-class>mytools.control.web.ControlHan-dler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controlservlet</servlet-name>
<url-pattern>/controler</url-pattern>
</servlet-mapping>

  (2)页面导航配置文件:web_config.xml

<?xml version="1.0" encoding="GB2312"?>
<web-config>
<forwards>
<forward name="XX" path="filename.jsp"/>
…………
</forwards>
<action-mappings>

<action name="XX" type="ActionClassName" method="methodName"/>
…………
</action-mappings>
</web-config>

   web_config.xml文件是整个框架的重要部分,它控制了系统执行时的执行流程。该文件包括两种元素:<forwards>和<action- mappings>,其中<forwards>元素用来设置当前要转向调用的JSP页面,而<action-mappings>则设置了当前用户提交的操 作要调用哪一个Action 类,及当前类中的哪个方法。

  总结

  WebFramework框架已经在一个航运管理项目中经过测试和检验,实践证明,此框架在中大型项目开发中,可以缩短开发周期,提高开发效率,系统运行稳定,易于维护。

  有关应用开发框架的研究是一个不断深入,逐步完善的过程,在对WebFramework不断推广试用的基础上,还将进一步扩展其功能,使其应用领域更加广泛。
技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理   


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器
MVC框架知识详解 阅读详情

相关推荐

【electron】- 从零到一:在electron-vite项目中集成better-sqlite3的工程化实践

本文详细介绍了在electron-vite项目中集成better-sqlite3数据库的完整工程化实践。针对原生模块的编译挑战,提供了从环境配置、路径规划、服务封装到IPC通信的解决方案,并重点解决了开发与生产环境的数据库路径分离及打包部署等核心问题,帮助开发者构建稳定高效的Electron桌面应用数据层。

weixin_29306571的博客 207

MVC架构设计浅析

关键词:MVC;SpringMVC;分层;视图;控制器;模型 0 引言 Web应用的根本都是从数据存储和检索数据并将其显示给用户。在用户更改数据之后,系统再将更新内容存储到数据存储中。因为关键的信息流发生在数据存储和用户界面之间,所以很多Web应用将数据和用户界面这两部分绑在一起,以减少编码量并提高应用程序性能。但是,这种看起来自然而然的方法有一些大问题。一是,用户界面的更改往往比数据存储系统的更改频繁得多。二是,这种情况下耦合往往会合并其他的业务逻辑。那么如何让 Web 应用程序的用户界面功能实现模块

m0_67261762的博客 1792

ComfyUI安装包运行前准备:安装Git

Git 是一个分布式版本控制系统(Version Control System, VCS),用于跟踪和管理文件(尤其是代码)的变更历史。 简单理解就是,git是用来管理文件的版本的,如果有新的版本,就可以使用git来更新。

聚梦小课堂 2万+

如何实现自定义MVC框架(秘籍上)

1.1.1 在Java中,MVC(Model-View-Controller)是一种常见的软件架构模式,用于组织和管理应用程序的代码。MVC框架将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。模型(Model):模型是应用程序的数据和业务逻辑的表示。它负责处理数据的读取、存储和更新,并且可以包含一些与数据相关的操作和验证。模型通常封装了应用程序的数据结构,以及对数据的访问和操作方法。视图(View):视图是用户界面的表示,负责展示数据给用户。

m0_73647713的博客 552

智能车学习日记【二】————十字和斜入十字

智能车学习日记【二】————十字和斜入十字 文章目录 智能车学习日记【二】————十字和斜入十字 前言 一、普通十字补线 二、斜入十字 1.判断是否为斜入十字和斜入十字类型 2.找斜入十字拐点 总结 前言 经过了一个多月的学习,小白的我终于也是能较稳定调出了2.8m以上的四轮车,过程中也遇到了很多困难,其中就有十字补线和斜入十字补线。尤其是斜入十字也是困扰了我快一周,现在和大家分享一下我处理斜入十字的方法(我的方法其实还有很多漏洞需要改进,仅供大家参考理解一下,欢迎各位在评论区指点出可

bsefef的博客 2743

遥感数据处理必看:哨兵1 SLC与GRD预处理差异全解析

本文详细解析了哨兵1号卫星SLC与GRD数据的预处理差异,从数据基础认知到实战应用全流程对比。重点介绍了SLC数据的轨道校正、辐射校正等关键步骤,以及GRD数据的简化处理流程,帮助用户根据应用场景选择合适数据类型。通过SNAP等工具的实际操作示例,提升遥感数据处理效率。

weixin_29035405的博客 340

【Web基础】Web应用体系结构 — 容器 + MVC设计模式

在很长的一段时间内,听 SpringBoot 的课非常痛苦,后来才发现是我操之过急,我的 Web 基础太差了,遂写此文,希望可以帮到和我一样基础不好的大家。本文中的全部内容提炼于 Head First Servlet & JSP

liuwanqing233333的博客 730

保姆级教程:彻底清理Win11更新缓存并解除外设,一次搞定0xc1900101更新错误

本文提供了一套完整的Win11更新报错0xc1900101解决方案,涵盖软件环境净化和硬件设备隔离。通过终止干扰进程、重置更新组件、清理临时文件以及断开外设等步骤,有效提升更新成功率。特别强调外设驱动兼容性对解决0xc1900101错误的关键作用。

weixin_33483304的博客 420

java mvc设计模式框架_javaweb三大框架和MVC设计模式

javaweb三大框架和MVC设计模式转载,原文请见https://blog.csdn.net/sunpeng19960715/article/details/50890705一、MVC设计模式1.MVC的概念首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Control...

weixin_30781567的博客 555

YOLOv8-seg模型后处理实战:从输出解析到mask生成的完整流程

本文详细解析了YOLOv8-seg实例分割模型的后处理完整流程,从理解output0与output1的双输出结构,到实现检测框的置信度过滤、坐标转换与NMS,再到核心的掩膜生成数学原理与矩阵乘法实现。文章深入探讨了如何将掩膜系数与原型掩膜库结合,生成像素级分割结果,并提供了掩膜上采样、边缘优化、性能提升及解决实际应用难题的实战方案。

xgboost6farmer的博客 318

前端使用二开Thingsboard一、二、三事(四)-部件库

以项目实战为基础,逐步介绍前端在thingsboard系统二次开发中的一些注意事项以及一些thingsboard一些页面功能讲解,为前端人员开发使用thingsboard提供一种可靠思路,打造一个完美的物联网系统。

weixin_43163457的博客 743

基于MVC设计模式的WEB应用框架研究~~转

MVC设计模式是基于J2EE的WEB应用开发的首选模式,当前许多流行的框架也都是基于MVC设计模式的。本文简要介绍了MVC设计模式和Struts框架,并提出了一种基于MVC模式的新型WEB应用开发框架——WebFramework,并对该框架的各个层次的组成、功能进行了详细的描述。  关键词 MVC设计模式; J2EE;框架; Struts  引言  随着开源软件的兴起,各种框架也纷纷出现,如Apa

小艺的专栏 804

AD22等长布线规则

本文介绍了PCB布线中实现信号线等长的详细操作步骤:1.创建网络类(NetClass),将需要等长的信号线归入同一组;2.设置高速布线规则(High-SpeedRule),定义等长容差等参数;3.进行交互式等长布线(InteractiveLengthTuning),使用蛇形线调整线长;4.实时调整与最终检查,确保所有网络满足等长要求。文中还提供了实用技巧,如使用快捷键调整蛇形线参数、为关键信号设置更严格规则等。操作需在PCB设计软件中完成,通过统一管理、规则设置和精确调整来实现信号同步传输。

whm128的博客 1561

mvc框架 ajax,基于Ajax框架和MVC设计模式的Web应用研究

摘要:C/S应用程序,是从二十世纪九十年代随着Windows的出现和客户端处理能力的增强而出现的应用程序,它采用图形用户界面,客户端的数据处理能力比较强,具有强大的数据操作和事物处理能力。但是随着应用程序的复杂程度不断提高,C/S架构存在部署成本高、客户端应用程序更新、维护困难等问题。由于C/S架构的种种弊端,九十年代中期,随着互联网飞速发展,出现了B/S应用程序,Web的广泛使用解决了C/S应用...

weixin_36149997的博客 302

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Web应用程序开发方法研究

Web应用程序开发方法研究   摘要:如今已进入了web2.0高速发展的网络时代,各种基于互联网的Web应用程序如雨后春笋般出现。近几年,Web开发技术层出不穷,日趋成熟。本文介绍了Web技术的前世今生,对计算机科学前辈们孕育的软件设计模式、JavaEE平台下的流行开发框架进行了分析。总结了Web应用程序开发的一般步骤,提出了将软件复用技术,经典设计模式、开源框架合理应用于程序开发以达到高效开

鸟哥哥的专栏 7756

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Spring MVC】MVC设计模式的Java Web框架

Spring MVC 是 Spring 框架中的一个模块,基于 Model-View-Controller (MVC) 设计模式,用于构建灵活和可扩展的 Java Web 应用程序。它通过前端控制器 DispatcherServlet 处理所有请求,并将请求分发给对应的控制器,负责业务逻辑处理,再将结果传递给视图进行渲染,简化了开发过程并实现了应用程序的高效组织和维护。​

科马的博客 3384

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Spring MVC 框架:构建高效 Java Web 应用的利器

MVC 设计模式将一个应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型(Model):负责处理应用程序的数据和业务逻辑。它可以是一个 JavaBean,也可以是与数据库交互的 DAO(数据访问对象)或服务层组件。模型封装了应用程序的状态和行为,为视图提供数据支持。视图(View):负责将模型中的数据呈现给用户。常见的视图技术包括 JSP、Thymeleaf、FreeMarker 等。视图只关注数据的展示,不涉及业务逻辑的处理。

zsnandzmn的博客 1971

创建和配置Spring MVC框架构建Web应用

基于xml配置的项目结构图如下:可以发现,关于spring、spring mvc的配置文件统一放到src/main/resources/config下,web.xml放到src/main/webapp/WEB-INF下。src/main/java/com/qdu主要放controller包和service包。src/main/webapp下放网络的静态资源(src/main/webapp/static),src/main/webapp/WEB-INF放的除了web.xml还有jsp页面。

amdkk的博客 1424

的mvc_一文快速理解Web应用框架MVC设计模式

Web开发之MVC设计模式MVC设计模式是Web应用程序的基本应用架构之一,也是目前在Web开发过程中较为流程的开发架构之一。MVC设计模式与具体所使用的的服务器端语言无关,各主流Web服务器端语言基本上都提供基于MVC设计模式的完整解决方案。通过使用MVC设计模式可以有效实现Web程序前后端的分离,可以提高Web开发的效率与质量。本文主要从MVC基本原理角度对该设计模式进行说明,并给出部分编程语...

weixin_39990250的博客 236

Java Web开发基础——Java Web项目中的MVC设计模式

本节将深入探讨MVC设计模式的概念、分层设计方法,以及如何在Java Web项目中通过Servlet和JSP实现MVC架构。通过分层设计和Servlet与JSP的配合,开发者可以构建出更高效、可维护的Web应用。15年互联网开发、带过10-20人的团队,多次帮助公司从0到1完成项目开发,在TX等大厂都工作过。控制器处理用户请求并调用相应的业务逻辑,同时将数据传递到视图。控制器使用Servlet实现,接收请求、调用业务逻辑并决定要返回的视图。接收用户请求并将其路由到相应的业务逻辑,同时决定要返回的视图。

好看资源网的博客 2107

Spring MVC: 构建Web应用的强大框架

Spring MVC 是 Spring Framework 的一个子项目,它基于MVC模式构建。清晰的角色分离可重用和可替换的组件灵活的配置与 Spring 生态系统的无缝集成Spring MVC 是一个功能强大且灵活的框架,适用于构建各种规模的 Web 应用。通过合理的结构设计和丰富的功能支持,它大大简化了 Web 开发的复杂性。

随喜 1619
上一篇: 从服务器上导出excel文件到本地
下一篇: Spring MVC framework深入总体分析
弘里木扇
博客等级 码龄17年 69粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值