CN110069297A - 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质 - Google Patents

基于Spring MVC的异常处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110069297A
CN110069297A CN201910243158.4A CN201910243158A CN110069297A CN 110069297 A CN110069297 A CN 110069297A CN 201910243158 A CN201910243158 A CN 201910243158A CN 110069297 A CN110069297 A CN 110069297A
Authority
CN
China
Prior art keywords
exception
view object
resource request
model view
view
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910243158.4A
Other languages
English (en)
Other versions
CN110069297B (zh
Inventor
许永夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910243158.4A priority Critical patent/CN110069297B/zh
Priority claimed from CN201910243158.4A external-priority patent/CN110069297B/zh
Publication of CN110069297A publication Critical patent/CN110069297A/zh
Priority to PCT/CN2019/117506 priority patent/WO2020192134A1/zh
Application granted granted Critical
Publication of CN110069297B publication Critical patent/CN110069297B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种基于Spring MVC的异常处理方法、装置、计算机设备和存储介质。该方法涉及Web应用开发技术领域,该方法包括:通过前端控制器获取客户端发送的资源请求;根据资源请求中的资源标识符确定对应的目标处理器对象,并通过目标处理器对象处理资源请求,得到模型视图对象;调用拦截器接口类的回调函数对模型视图对象进行验证;当回调函数返回异常类型编码时,则调用异常处理对象对异常类型编码进行处理得到新模型视图对象;通过前端控制器根据新模型视图对象生成异常页面视图对象;异常页面视图对象用于令客户端显示包括与异常类型编码对应的异常信息的页面。采用本方法能够实现对网页服务器处理用户的资源请求时出现的各种异常信息进行统一处理。

Description

基于Spring MVC的异常处理方法、装置、计算机设备和存储 介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于Spring MVC的异常处理 方法、装置、计算机设备和存储介质。
背景技术
Spring MVC框架是围绕一个DispatcherServlet接口类来设计的,这个接 口类实现前端控制器的基本功能,会把接收到的数据请求分发给各个处理器对 象(Handler),并支持可配置的处理器映射、视图渲染、本地化。 DispatcherServlet接口类是通过各种配置文件实现的,在这些配置文件中定义 各种实现类,就可以实现前端控制器的基本功能。
然而,现有的对DispatcherServlet接口类配置较为混乱,导致前置控制 器只能处理简单的异常信息。如何利用Spring MVC框架实现对不同业务场景下 返回的各种复杂的异常信息进行统一处理,是一个需要解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对各种复杂的异常信息 进行统一处理的基于Spring MVC的异常处理方法、装置、计算机设备和存储介 质。
一种基于Spring MVC的异常处理方法,所述方法包括:
通过前端控制器获取客户端发送的资源请求;
根据所述资源请求中的资源标识符确定对应的目标处理器对象;并通过所 述目标处理器对象处理所述资源请求,得到模型视图对象;
调用拦截器接口类的回调函数对所述模型视图对象进行验证;
当所述回调函数返回异常类型编码时,则调用异常处理对象对所述异常类 型编码进行处理得到新模型视图对象;
通过所述前端控制器根据所述新模型视图对象生成异常页面视图对象;所 述异常页面视图对象用于令所述客户端显示包括与所述异常类型编码对应的异 常信息的页面。
在其中一个实施例中,所述根据所述资源请求中的资源标识符确定对应的 目标处理器对象包括:
从所述资源请求中提取资源标识符;
通过所述前端控制器根据所述资源标识符调用相应的映射器对象;
通过所述映射器对象获取与所述资源请求映射对应的处理器对象;
通过所述前端控制器查找与所述处理器对象对应的处理器适配器;
通过所述处理器适配器从所述处理器对象中确定目标处理器对象。
在其中一个实施例中,所述目标处理器对象继承自同一处理器接口类;所 述通过所述目标处理器对象处理所述资源请求,得到模型视图对象包括:
获取所述处理器接口类定义的参数处理函数;
将所述资源请求中的请求参数作为函数参数传递给所述参数处理函数,获 取所述参数处理函数返回的与所述资源请求对应的模型视图对象。
在其中一个实施例中,所述异常处理对象继承自同一异常处理接口类;所 述调用异常处理对象对所述异常类型编码进行处理得到新模型视图对象包括:
获取所述异常处理接口类定义的异常处理函数;
将所述异常类型编码作为函数参数传递给所述异常处理函数,获取所述异 常处理函数返回的新模型视图对象。
在其中一个实施例中,所述通过所述前端控制器根据所述新模型视图对象 生成异常页面视图对象包括:
通过所述前端控制器调用视图解析对象;
通过所述视图解析对象对所述新模型视图对象中的逻辑视图名进行解析, 得到页面地址;
根据所述新模型视图对象中的模型数据和所述页面地址,生成异常页面视 图对象;
将所述异常页面视图对象返回至所述客户端,以使所述客户端根据所述异 常页面视图对象渲染显示包括与所述异常类型编码对应的异常信息的页面。
在其中一个实施例中,所述模型视图对象包括逻辑视图名和模型数据,所 述方法还包括:
当所述回调函数未返回异常类型编码时,则
通过所述前端控制器获取视图解析对象;
通过所述视图解析对象对所述逻辑视图名进行解析,得到视图对象;
通过所述视图对象渲染所述模型数据,得到响应数据;
通过所述前端控制器将所述响应数据返回至客户端。
在其中一个实施例中,所述方法还包括:
获取异常信息,对各所述异常信息进行分类;
按照各所述异常信息的类型进行编码,得到异常类型编码。
一种基于Spring MVC的异常处理装置,所述装置包括:
资源请求获取模块,用于通过前端控制器获取客户端发送的资源请求;
目标处理器对象获取模块,用于根据所述资源请求中的资源标识符确定对 应的目标处理器对象,并通过所述目标处理器对象处理所述资源请求,得到模 型视图对象;
回调处理模块,用于调用拦截器接口类的回调函数对所述模型视图对象进 行验证;
异常处理模块,用于当所述回调函数返回异常类型编码时,则调用异常处 理对象对所述异常类型编码进行处理得到新模型视图对象;通过所述前端控制 器根据所述新模型视图对象生成异常页面视图对象;所述异常页面视图对象用 于令所述客户端显示包括与所述异常类型编码对应的异常信息的页面。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上 运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过前端控制器获取客户端发送的资源请求;
根据所述资源请求中的资源标识符确定对应的目标处理器对象,并通过所 述目标处理器对象处理所述资源请求,得到模型视图对象;
调用拦截器接口类的回调函数对所述模型视图对象进行验证;
当所述回调函数返回异常类型编码时,则调用异常处理对象对所述异常类 型编码进行处理得到新模型视图对象;
通过所述前端控制器根据所述新模型视图对象生成异常页面视图对象;所 述异常页面视图对象用于令所述客户端显示包括与所述异常类型编码对应的异 常信息的页面。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处 理器执行时实现以下步骤:
通过前端控制器获取客户端发送的资源请求;
根据所述资源请求中的资源标识符确定对应的目标处理器对象,并通过所 述目标处理器对象处理所述资源请求,得到模型视图对象;
调用拦截器接口类的回调函数对所述模型视图对象进行验证;
当所述回调函数返回异常类型编码时,则调用异常处理对象对所述异常类 型编码进行处理得到新模型视图对象;
通过所述前端控制器根据所述新模型视图对象生成异常页面视图对象;所 述异常页面视图对象用于令所述客户端显示包括与所述异常类型编码对应的异 常信息的页面。
上述基于Spring MVC的异常处理方法、装置、计算机设备和存储介质,在 通过前端控制器找到目标处理器对象处理客户端发送的资源请求得到模型视图 对象后,在对模型视图对象进行解析之前,通过前端控制器调用拦截器接口类 的回调函数对得到的模型视图对象进行验证,当模型视图对象存在异常时不会 通过验证,回调函数会返回与异常对应的异常类型编码,不同的异常会返回不 同的异常类型编码,实现对不同异常的统一处理,再进一步调用异常处理对象 对返回的异常类型编码进行处理得到新模型视图对象,而新的模型视图对象可 以用于生成异常页面视图对象,当客户端接收到前端控制器返回的新模型视图 对象时,可以根据新模型视图对象渲染并显示包括异常信息的页面,该异常信息与该异常类型编码对应,实现了对各种异常信息的统一处理。
附图说明
图1为一个实施例中基于Spring MVC的异常处理方法的应用场景图;
图2为一个实施例中基于Spring MVC的异常处理方法的流程示意图;
图3为一个实施例中基于Spring MVC的异常处理方法的框架示意图;
图4为一个实施例中基于Spring MVC的异常处理装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅 用以解释本申请,并不用于限定本申请。
本申请提供的基于Spring MVC的异常处理方法,可以应用于如图1所示的 应用环境中。其中,终端102与网页服务器104通过网络进行通信。终端102 获取用户在浏览器中触发的资源请求,并通过网络将该资源请求发送至网页服 务器104,网页服务器104通过前端控制器获取客户端发送的资源请求,并根据 该资源请求中的资源标识符确定对应的目标处理器对象,通过获取的目标处理 器对象处理该资源请求,得到模型视图对象;然后调用拦截器接口类的回调函 数对模型视图对象进行验证;当回调函数返回异常类型编码时,则前端控制器 可以调用异常处理对象对异常类型编码进行处理得到新模型视图对象;前端控 制器根据新模型视图对象生成异常页面视图对象;当客户端接收到该异常页面 视图对象,就可以渲染显示包括与异常类型编码对应的异常信息的页面。其中, 终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑 和便携式可穿戴设备,网页服务器104可以用独立的服务器或者是多个服务器 组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种Spring MVC的异常处理方法, 以该方法应用于图1中的网页服务器104为例进行说明,包括以下步骤:
步骤202,通过前端控制器获取客户端发送的资源请求。
其中,资源请求是客户端根据当前获取的资源标识符(URL)生成的HTTP 报文。资源标识符用于唯一标识要请求的资源,当用户访问一个网站时,客户 端根据访问的网站对应的URL生成一个资源请求,并通过网络将该资源请求发 送至网页服务器。在网页服务器接收到该资源请求后,对该资源请求中的资源 标识符进行检查,如果发现是静态资源的请求,就将该请求转由网页服务器默 认的服务端程序(Default-servlet-handler)处理,得到与该资源请求对应的 目标数据,根据目标数据生成与资源请求对应的目标资源载体对象并返回至客 户端。如果不是静态资源的请求,则根据配置文件匹配与该资源标识符对应的 服务端程序,将该资源请求转发给该服务端程序的前端控制器,由前端控制器 接收该资源请求后,调用该服务端程序所包括的其它组件处理该资源请求。
例如,如果客户端请求的是静态资源(*.htm,后缀名为*.htm的文件),则 将请求直接转交给网页服务器,之后网页服务器从文件系统中取出内容,发送 回客户端浏览器进行解析执行。如果客户端请求的是动态资源(*.jsp、*.asp、 *.aspx、*.php),则先将请求转交给服务端程序的前端控制器,经业务层处理 后从数据库中取出数据后动态拼凑页面的展示内容,再将所有的展示内容返回 给网页服务器,通过网页服务器将展示内容返回至客户端浏览器进行解析、渲 染并显示。
前端控制器是预先自定义的继承自Spring MVC框架中的SpringDispatcherServlet接口类的实现类,前端控制器比如可以是WebSupportDispatcherServlet,它是整个流程控制的中心,控制其它接口类的 调度和执行,它把用户的资源请求中的URL对应的数据经过业务处理层定义的 处理器处理之后封装成MVC架构中的模型(Model),然后再将该模型(Model) 返回给对应的界面(View)进行展示。实现类是接口类的具体实现方法,比如 某个接口类有3个实现类A,B,C,分别为不同类型的实现类,通过确定被接口 类引用的对象是类型A的实现类,就可以在调用接口类中的方法时调用类型A 的实现类中方法进行处理。
步骤204,根据资源请求中的资源标识符确定对应的目标处理器对象,并通 过目标处理器对象处理资源请求,得到模型视图对象。
其中,处理器对象是业务处理层定义的用于资源请求进行处理的对象,包 括多个处理函数,也叫处理方法,通过该处理器对象中的处理函数,对资源请 求进行处理,返回处理结果。前端控制器可以根据该资源请求中的URL查找与 该资源请求对应的处理器映射器,处理器映射器就可以根据配置文件或注解把 请求映射成目标处理器对象。
模型视图对象(Mode lAndView)用来存储处理完后的结果数据以及用于显 示该结果数据的视图信息。Model代表模型,View代表视图,目标处理器对象 处理完资源请求后,将结果数据存储在该模型视图对象的模型属性中,将要返 回的视图信息存储在该模型视图对象的视图属性中,然后将模型视图对象返回 至前端控制器,前端控制器可以调用配置文件中定义的视图解析器,对该模型 视图对象进行解析,将解析得到的结果数据显示在视图信息所指定的页面上。
在一个实施例中,根据资源请求中的资源标识符确定对应的目标处理器对 象包括:从资源请求中提取资源标识符;通过前端控制器根据资源标识符调用 相应的映射器对象;通过映射器对象获取与资源请求对应的处理器对象;通过 前端控制器查找与处理器对象对应的处理器适配器;通过处理器适配器从处理 器对象中确定目标处理器对象。
具体地,可以预先自定义继承自Spring MVC框架中的默认注解控制器映射 处理器(Defaul tAnnotationHandlerMapping)接口类的实现类,也就是自定义 的映射器对象(WebSupportHandlerMapping),前端控制器可以调用自定义的映 射器对象中的处理器获取函数(getHandler),处理器获取函数可以通过资源请 求中的URL查找处理器对象(Handler)和多个拦截器对象 (HandlerInterceptor),映射器对象将查找到的处理器对象和多个拦截器对象 封装成一个处理器执行链(HandlerExecuteChain)并返回给前端控制器,前端控 制器遍历配置的所有处理器适配器,从所有的适配器对象中查找与处理器执行链中的处理器对象(Handler)对应的处理器适配器(HandlerAdapter),由处 理器适配器从处理器对象中调用具体的目标处理器对象来处理用户的资源请 求。
在一个实施例中,在通过目标处理器对象处理资源请求,得到模型视图对 象之前,前端控制器还调用执行链中各个拦截器对象中的预处理函数 (preHandler),对资源请求进行预处理,当它返回为false时,表示请求的 整个过程结束。当返回值为true时,就会继续调用下一个拦截器对象的预处 理函数,直至最后一个拦截器对象也返回true时,就会执行步骤206,通过目 标处理器对象中的函数处理资源请求。
在其中一个实施例中,目标处理器对象继承自同一处理器接口类;通过目 标处理器对象处理资源请求,得到模型视图对象包括:获取处理器接口类定义 的参数处理函数;将资源请求中的请求参数作为函数参数传递给参数处理函数, 获取参数处理函数返回的与资源请求对应的模型视图对象。
具体地,可以根据业务逻辑自定义处理器对象中的参数处理函数,与资源 请求对应的处理器对象有多种类型,不同的资源请求对应的处理器对象可以是 不同的,不同的处理器对象可以继承自同一处理器接口类或实现了同一个处理 器接口。参数处理函数可以预先定义在该处理器接口类中,可以根据不同的业 务逻辑创建继承自该处理器接口类的处理器对象。在对该资源请求进行处理时, 可将资源请求中的请求参数作为函数参数传递给处理器接口类中的参数处理函 数,经过该参数处理函数的处理后,返回与资源请求对应的模型视图对象。
在一个实施例中,通过前端控制器确定与处理器对象适配的目标处理器对 象的步骤具体包括:前端控制器遍历所有的处理器适配器,查找与处理器对象 对应的处理器适配器,通过该处理器适配器调用与处理器对象适配的具体的目 标处理器,通过目标处理器处理用户的请求。
在一个实施例中,基于Spring MVC框架的注解功能,在处理器对象的注解 @Controller之后利用预先确定的注解类型@ControllerService写入处理器对 象类的属性,可以在前端控制器接收到资源请求时,自动根据上下文获取到处 理器对象,在该处理器对象中通过自定义的注解类型引入对应的参数处理函数, 以便处理器对象直接引用该参数处理函数对资源请求进行处理。
步骤206,调用拦截器接口类的回调函数对模型视图对象进行验证。
具体地,在处理资源请求之后,前端控制器调用通过映射器对象确定的拦 截器对象中的回调函数(即在处理了资源请求之后执行的函数),对得到的模型 视图对象进行验证,实现处理器的后处理,可以通过模型视图对象中的结果数 据或视图信息进行处理,以对模型视图对象包括的结果数据进行检查。
步骤208,当回调函数返回异常类型编码时,则调用异常处理对象对异常类 型编码进行处理得到新模型视图对象。
其中,异常类型编码是对各自异常信息进行分类后各自对应的统一编码。 可以预先自定义继承自Spring MVC框架中异常处理接口类的实现类,作为异常 处理对象。比如,异常处理对象WebSupportDispatcherServlet继承自 SimpleMappingExceptionResolver,SimpleMappingExceptionResolver是 Spring MVC框架中异常处理接口类HandlerExceptionResolver的实现类。该异 常处理对象就具有了该异常处理接口类中所包括的处理方法,无需重复编码。 具体地,当拦截器接口类中的回调函数对模型视图对象进行验证并返回异常编 码类型时,则可以调用异常处理对象所包括的处理方法对异常类型编码进行处 理,得到新模型视图对象。新模型视图对象包括显示该异常类型编码所对应的 异常信息所需要的异常信息数据和视图信息。本实施例中,对于任意业务中出 现的异常,都会被拦截器的回调函数确定相应的异常类型,并通过返回新模型 视图对象来显示相应的异常信息,能够实现对各种复杂异常信息的统一处理。
在其中一个实施例中,上述方法还包括:获取异常信息,对各异常信息进 行分类;按照各异常信息的类型进行编码,得到异常类型编码。
具体地,可以根据实际的业务需要将不同的异常信息进行分类并进行统一 编码,还可以指定一个处理方式,以提示用户。以下为拦截器中的回调函数返 回的异常类型编码与前端控制器要返回的各种异常信息的对应关系的示例:
000000——验证通过;
100002——没有找到对应接口;
100003——保存失败;
100004——编辑保存失败。
在其中一个实施例中,异常处理对象继承自同一异常处理接口类;调用异 常处理对象对异常类型编码进行处理得到新模型视图对象包括:获取异常处理 接口类定义的异常处理函数;将异常类型编码作为函数参数传递给异常处理函 数,获取异常处理函数返回的新模型视图对象。
具体地,可以根据业务逻辑自定义异常处理对象中的异常处理函数,在对 异常编码类型进行处理时,可以均采用统一的异常处理对象中的异常处理函数 对异常编码类型进行处理,获取返回的包括异常信息数据的新模型视图对象。
在其中一个实施例中,模型视图对象包括逻辑视图名和模型数据,方法还 包括:当回调函数未返回异常类型编码时,则通过前端控制器获取视图解析对 象;通过视图解析对象对逻辑视图名进行解析,得到视图对象;通过视图对象 渲染模型数据,得到响应数据;通过前端控制器将响应数据返回至客户端。
具体地,当拦截器接口类的回调函数对模型视图对象进行验证未出现异常 时,则直接通过前端控制器请求视图解析器对模型视图对象进行解析,得到视 图对象,并返回视图对象至前端控制器,再由前端控制器通过视图对象渲染模 型数据,得到响应数据,并将响应数据返回至客户端,客户端就可以根据响应 数据显示网页页面。
步骤210,通过前端控制器根据新模型视图对象生成异常页面视图对象;异 常页面视图对象用于令客户端显示包括与异常类型编码对应的异常信息的页 面。
具体地,对于得到的新模型视图对象,前端控制器可以调用视图解析对象 进行解析后得到异常页面视图对象,并根据异常页面视图对象生成响应数据后 反馈至客户端,客户端可以根据响应数据中所包括的异常页面视图信息显示包 括异常信息的页面。
在其中一个实施例中,通过前端控制器根据新模型视图对象生成异常页面 视图对象包括:通过前端控制器调用视图解析对象;通过视图解析对象对新模 型视图对象中的逻辑视图名进行解析,得到页面地址;根据新模型视图对象中 的模型数据和页面地址,生成异常页面视图对象;将异常页面视图对象返回至 客户端,以使客户端根据异常页面视图对象渲染显示包括与异常类型编码对应 的异常信息的页面。
具体地,前端控制器调用视图解析对象,请求视图解析对象对新模型视图 对象进行解析,视图解析对象解析后得到页面地址,该页面地址中的页面是用 于显示与该异常类型编码对应的错误信息,前端控制器可以根据返回的页面地 址和新模型视图对象中的模型数据,生成异常页面对象,这样,客户端就可以 根据异常页面对象渲染显示包括与出现的异常类型编码对应的异常信息的页 面,用户可以根据异常信息明确异常原因。
上述基于Spring MVC的异常处理方法,在通过前端控制器找到目标处理器 对象处理客户端发送的资源请求得到模型视图对象后,在对模型视图对象进行 解析之前,通过前端控制器调用拦截器接口类的回调函数对得到的模型视图对 象进行验证,当模型视图对象存在异常时不会通过验证,回调函数会返回与异 常对应的异常类型编码,不同的异常会返回不同的异常类型编码,实现对不同 异常的统一处理,再进一步调用异常处理对象对返回的异常类型编码进行处理 得到新模型视图对象,而新的模型视图对象可以用于生成异常页面视图对象, 当客户端接收到前端控制器返回的新模型视图对象时,可以根据新模型视图对 象渲染并显示包括异常信息的页面,该异常信息与该异常类型编码对应,实现了对各种异常信息的统一处理。
如图3所示,为一个具体的实施例中基于Spring MVC的异常处理方法的框 架示意图。参照图3,该方法具体包括以下步骤:
1、通过前端控制器(WebSupportDispatcherServlet)接收资源请求,并 根据该资源请求中的资源标识符查找与该资源请求对应的处理器映射器 (WebSupportHandlerMapping);
2、若未查找到处理器映射器,则根据资源标识符获取相应的静态资源,若 找不到相应的静态资源,则报404错误;
3、若查找到处理器映射器,则映射处理器根据自己的配置或注解 (WebSupportWeb2AppBeanPostProcessor)把请求映射为执行链对象 (HandlerExecutionChain),并将执行链对象返回给前端控制器,执行链对象 包括一个处理器对象(Handler)和多个拦截器对象(HandlerInterceotor);
4、前端控制器遍历配置的所有适配器,查找与处理器对象对应的处理器适 配器HandlerAdapter;
5、调用拦截器对象的预处理(preHandle)方法,该方法将在用户的资源 请求被处理之前被调用,当该方法被调用后并返回true时,才会执行步骤6;
6、处理器适配器调用与处理器对象适配的具体的目标处理器,通过目标处 理器处理资源请求,目标处理器处理完毕后返回模型视图对象(ModelAndView);
7、在处理资源请求之后,调用拦截器对象的回调函数(postHandler),对 得到的模型视图对象进行操作;
8、若存在异常,并返回了异常类型编码,则调用继承自异常处理接口(HandlerExceptionResolver)的异常处理类(WebMappingExceptionResolver) 对异常类型编码进行处理,返回发生新模型视图对象给前端控制器;
9、前端控制器将新模型视图对象传递给视图解析器ViewResolver,视图解 析器根据配置将新模型视图对象中的逻辑视图名解析为具体的视图对象 (View),并返回给前端控制器;前端控制器根据视图对象对传进来的模型数据 进行渲染得到响应数据。
应该理解的是,虽然图2、图3的流程图中的各个步骤按照箭头的指示依次 显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有 明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的 顺序执行。而且,图2、图3中的至少一部分步骤可以包括多个子步骤或者多个 阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同 的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以 与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执 行。
在一个实施例中,如图4所示,提供了一种基于Spring MVC的异常处理装 置400,包括:资源请求获取模块402、目标处理器对象获取模块404、模型视 图对象获取模块406、回调处理模块408和异常处理模块410,其中:
资源请求获取模块402,用于通过前端控制器获取客户端发送的资源请求;
模型视图对象获取模块404,用于根据资源请求中的资源标识符确定对应的 目标处理器对象,并通过目标处理器对象处理资源请求,得到模型视图对象;
回调处理模块406,用于调用拦截器接口类的回调函数对模型视图对象进行 验证;
异常处理模块408,用于当回调函数返回异常类型编码时,则调用异常处理 对象对异常类型编码进行处理得到新模型视图对象;通过前端控制器根据新模 型视图对象生成异常页面视图对象;异常页面视图对象用于令客户端显示包括 与异常类型编码对应的异常信息的页面。
在其中一个实施例中,模型视图对象获取模块404还用于从资源请求中提 取资源标识符;通过前端控制器根据资源标识符调用相应的映射器对象;通过 映射器对象获取与资源请求对应的处理器对象;通过前端控制器查找与处理器 对象对应的处理器适配器;通过处理器适配器从处理器对象中确定目标处理器 对象。
在其中一个实施例中,目标处理器对象继承自同一处理器接口类;模型视 图对象获取模块404还用于获取处理器接口类定义的参数处理函数;将资源请 求中的请求参数作为函数参数传递给参数处理函数,获取参数处理函数返回的 与资源请求对应的模型视图对象。
在其中一个实施例中,异常处理对象继承自同一异常处理接口类;异常处 理模块408还用于获取异常处理接口类定义的异常处理函数;将异常类型编码 作为函数参数传递给异常处理函数,获取异常处理函数返回的新模型视图对象。
在其中一个实施例中,异常处理模块408还用于通过前端控制器调用视图 解析对象;通过视图解析对象对新模型视图对象中的逻辑视图名进行解析,得 到页面地址;根据新模型视图对象中的模型数据和页面地址,生成异常页面视 图对象;将异常页面视图对象返回至客户端,以使客户端根据异常页面视图对 象渲染显示包括与异常类型编码对应的异常信息的页面。
在其中一个实施例中,模型视图对象包括逻辑视图名和模型数据,装置还 包括视图解析模块,视图解析模块用于当回调函数未返回异常类型编码时,则 通过前端控制器获取视图解析对象;通过视图解析对象对逻辑视图名进行解析, 得到视图对象;通过视图对象渲染模型数据,得到响应数据;通过前端控制器 将响应数据返回至客户端。
在其中一个实施例中,装置还包括异常信息编码模块,异常信息编码模块 用于获取异常信息,对各异常信息进行分类;按照各异常信息的类型进行编码, 得到异常类型编码。
上述基于Spring MVC的异常处理装置,在通过前端控制器找到目标处理器 对象处理客户端发送的资源请求得到模型视图对象后,在对模型视图对象进行 解析之前,通过前端控制器调用拦截器接口类的回调函数对得到的模型视图对 象进行验证,当模型视图对象存在异常时不会通过验证,回调函数会返回与异 常对应的异常类型编码,不同的异常会返回不同的异常类型编码,实现对不同 异常的统一处理,再进一步调用异常处理对象对返回的异常类型编码进行处理 得到新模型视图对象,而新的模型视图对象可以用于生成异常页面视图对象, 当客户端接收到前端控制器返回的新模型视图对象时,可以根据新模型视图对 象渲染并显示包括异常信息的页面,该异常信息与该异常类型编码对应,实现了对各种异常信息的统一处理。
关于基于Spring MVC的异常处理装置的具体限定可以参见上文中对于基于Spring MVC的异常处理方法的限定,在此不再赘述。上述基于Spring MVC的异 常处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述 各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件 形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对 应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器, 其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、 存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控 制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失 性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存 储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用 于存储网页资源数据。该计算机设备的网络接口用于与外部的终端通过网络连 接通信。该计算机程序被处理器执行时以实现一种基于Spring MVC的异常处理 方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关 的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定, 具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件, 或者具有不同的部件布置。
在一个实施例中,本申请提供的基于Spring MVC的异常处理装置可以实现 为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。 计算机设备的存储器中可存储组成该基于Spring MVC的异常处理装置的各个程 序模块,比如,图4所示的资源请求获取模块402、模型视图对象获取模块404、 回调处理模块406和异常处理模块408。各个程序模块构成的计算机程序使得处 理器执行本说明书中描述的本申请各个实施例的基于Spring MVC的异常处理方 法中的步骤。
例如,图5所示的计算机设备可以通过如图4所示的基于Spring MVC的异 常处理装置中的资源请求获取模块402执行步骤202。计算机设备可通过模型视 图对象获取模块404执行步骤204。计算机设备可通过回调处理模块406执行步 骤208。计算机设备可通过异常处理模块408执行步骤210和步骤212。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器 存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述基于 Spring MVC的异常处理方法的步骤。此处基于Spring MVC的异常处理方法的步 骤可以是上述各个实施例的基于Spring MVC的异常处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序, 计算机程序被处理器执行时,使得处理器执行上述基于Spring MVC的异常处理 方法的步骤。此处基于Spring MVC的异常处理方法的步骤可以是上述各个实施 例的基于Spring MVC的异常处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于 一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述 各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、 存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。 非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM (EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存 取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形 式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据 率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM (SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM (DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述 实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特 征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改 进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权 利要求为准。

Claims (10)

1.一种基于Spring MVC的异常处理方法,所述方法包括:
通过前端控制器获取客户端发送的资源请求;
根据所述资源请求中的资源标识符确定对应的目标处理器对象,并通过所述目标处理器对象处理所述资源请求,得到模型视图对象;
调用拦截器接口类的回调函数对所述模型视图对象进行验证;
当所述回调函数返回异常类型编码时,则调用异常处理对象对所述异常类型编码进行处理得到新模型视图对象;
通过所述前端控制器根据所述新模型视图对象生成异常页面视图对象;所述异常页面视图对象用于令所述客户端显示包括与所述异常类型编码对应的异常信息的页面。
2.根据权利要求1所述的方法,其特征在于,所述根据所述资源请求中的资源标识符确定对应的目标处理器对象包括:
从所述资源请求中提取资源标识符;
通过所述前端控制器根据所述资源标识符调用相应的映射器对象;
通过所述映射器对象获取与所述资源请求对应的处理器对象;
通过所述前端控制器查找与所述处理器对象对应的处理器适配器;
通过所述处理器适配器从所述处理器对象中确定目标处理器对象。
3.根据权利要求1所述的方法,其特征在于,所述目标处理器对象继承自同一处理器接口类;所述通过所述目标处理器对象处理所述资源请求,得到模型视图对象包括:
获取所述处理器接口类定义的参数处理函数;
将所述资源请求中的请求参数作为函数参数传递给所述参数处理函数,获取所述参数处理函数返回的与所述资源请求对应的模型视图对象。
4.根据权利要求1所述的方法,其特征在于,所述异常处理对象继承自同一异常处理接口类;所述调用异常处理对象对所述异常类型编码进行处理得到新模型视图对象包括:
获取所述异常处理接口类定义的异常处理函数;
将所述异常类型编码作为函数参数传递给所述异常处理函数,获取所述异常处理函数返回的新模型视图对象。
5.根据权利要求1所述的方法,其特征在于,所述通过所述前端控制器根据所述新模型视图对象生成异常页面视图对象包括:
通过所述前端控制器调用视图解析对象;
通过所述视图解析对象对所述新模型视图对象中的逻辑视图名进行解析,得到页面地址;
根据所述新模型视图对象中的模型数据和所述页面地址,生成异常页面视图对象;
将所述异常页面视图对象返回至所述客户端,令所述客户端根据所述异常页面视图对象渲染显示包括与所述异常类型编码对应的异常信息的页面。
6.根据权利要求1至5所述的方法,其特征在于,所述模型视图对象包括逻辑视图名和模型数据,所述方法还包括:
当所述回调函数未返回异常类型编码时,则
通过所述前端控制器获取视图解析对象;
通过所述视图解析对象对所述逻辑视图名进行解析,得到视图对象;
通过所述视图对象渲染所述模型数据,得到响应数据;
通过所述前端控制器将所述响应数据返回至客户端。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
获取异常信息,对各所述异常信息进行分类;
按照各所述异常信息的类型进行编码,得到异常类型编码。
8.一种基于Spring MVC的异常处理装置,其特征在于,所述装置包括:
资源请求获取模块,用于通过前端控制器获取客户端发送的资源请求;
模型视图对象获取模块,用于根据所述资源请求中的资源标识符确定对应的目标处理器对象;并通过所述目标处理器对象处理所述资源请求,得到模型视图对象;
回调处理模块,用于调用拦截器接口类的回调函数对所述模型视图对象进行验证;
异常处理模块,用于当所述回调函数返回异常类型编码时,则调用异常处理对象对所述异常类型编码进行处理得到新模型视图对象;通过所述前端控制器根据所述新模型视图对象生成异常页面视图对象;所述异常页面视图对象用于令所述客户端显示包括与所述异常类型编码对应的异常信息的页面。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910243158.4A 2019-03-28 2019-03-28 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质 Active CN110069297B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910243158.4A CN110069297B (zh) 2019-03-28 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
PCT/CN2019/117506 WO2020192134A1 (zh) 2019-03-28 2019-11-12 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910243158.4A CN110069297B (zh) 2019-03-28 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110069297A true CN110069297A (zh) 2019-07-30
CN110069297B CN110069297B (zh) 2024-06-28

Family

ID=

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727537A (zh) * 2019-10-21 2020-01-24 深圳前海环融联易信息科技服务有限公司 统一处理响应报文的方法、装置、计算机设备及存储介质
CN111427701A (zh) * 2020-03-09 2020-07-17 中国建设银行股份有限公司 一种工作流引擎系统和业务处理方法
CN111722881A (zh) * 2020-05-22 2020-09-29 广东浪潮大数据研究有限公司 一种容器云平台的资源扩展方法、系统及装置
WO2020192134A1 (zh) * 2019-03-28 2020-10-01 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN112083952A (zh) * 2020-08-26 2020-12-15 武汉普利商用机器有限公司 一种基于spring架构的异常处理方法及系统
CN112363720A (zh) * 2020-11-30 2021-02-12 中国银行股份有限公司 基于Spring Restful框架实现公共控制逻辑的方法及装置
CN112766769A (zh) * 2021-01-26 2021-05-07 南京利特嘉软件科技有限公司 一种基于大数据的客户评估方法及系统
CN113741870A (zh) * 2021-08-20 2021-12-03 苏州浪潮智能科技有限公司 一种获取Spring框架中数据的方法、系统、设备和存储介质
CN113778726A (zh) * 2020-06-09 2021-12-10 武汉斗鱼网络科技有限公司 一种错误信息处理方法、装置、服务器和存储介质
CN114579194A (zh) * 2022-03-08 2022-06-03 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955510A (zh) * 2014-04-30 2014-07-30 广西电网公司电力科学研究院 基于etl云平台上传的海量电力营销数据整合方法
CN104267944A (zh) * 2014-09-22 2015-01-07 浪潮软件集团有限公司 一种基于Spring的MVC模式优化系统
CN104317591A (zh) * 2014-10-23 2015-01-28 西安未来国际信息股份有限公司 一种基于OSGi的web界面框架系统及web业务处理方法
CN105843609A (zh) * 2016-03-18 2016-08-10 浪潮软件集团有限公司 一种基于Spring和MyBatis的MVC框架
CN105867948A (zh) * 2016-04-26 2016-08-17 江苏物联网研究发展中心 基于AJAX和SpringMVC的WEB开发方法
CN106446023A (zh) * 2016-08-29 2017-02-22 江苏数加数据科技有限责任公司 基于AngularJS和Bootstrap实现的双公示生产数据前端展示系统及方法
CN107172122A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种异常处理方法及装置
CN107590202A (zh) * 2017-08-21 2018-01-16 深圳市华宇兄弟科技股份公司 一种企业平台快速应用的方法及系统
CN107705079A (zh) * 2017-11-08 2018-02-16 厦门旺集信息科技有限公司 物流仓储管理系统处理方法以及跨境电商交易方法
CN108762966A (zh) * 2018-06-05 2018-11-06 中国平安人寿保险股份有限公司 系统异常拦截方法、装置、计算机设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955510A (zh) * 2014-04-30 2014-07-30 广西电网公司电力科学研究院 基于etl云平台上传的海量电力营销数据整合方法
CN104267944A (zh) * 2014-09-22 2015-01-07 浪潮软件集团有限公司 一种基于Spring的MVC模式优化系统
CN104317591A (zh) * 2014-10-23 2015-01-28 西安未来国际信息股份有限公司 一种基于OSGi的web界面框架系统及web业务处理方法
CN105843609A (zh) * 2016-03-18 2016-08-10 浪潮软件集团有限公司 一种基于Spring和MyBatis的MVC框架
CN105867948A (zh) * 2016-04-26 2016-08-17 江苏物联网研究发展中心 基于AJAX和SpringMVC的WEB开发方法
CN106446023A (zh) * 2016-08-29 2017-02-22 江苏数加数据科技有限责任公司 基于AngularJS和Bootstrap实现的双公示生产数据前端展示系统及方法
CN107172122A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种异常处理方法及装置
CN107590202A (zh) * 2017-08-21 2018-01-16 深圳市华宇兄弟科技股份公司 一种企业平台快速应用的方法及系统
CN107705079A (zh) * 2017-11-08 2018-02-16 厦门旺集信息科技有限公司 物流仓储管理系统处理方法以及跨境电商交易方法
CN108762966A (zh) * 2018-06-05 2018-11-06 中国平安人寿保险股份有限公司 系统异常拦截方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
青玉伏案: "JavaEE开发之SpringMVC中的自定义拦截器及异常处理", pages 1 - 4, Retrieved from the Internet <URL:博客园:https://www.cnblogs.com/ludashi/p/6518296.html> *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020192134A1 (zh) * 2019-03-28 2020-10-01 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN110727537A (zh) * 2019-10-21 2020-01-24 深圳前海环融联易信息科技服务有限公司 统一处理响应报文的方法、装置、计算机设备及存储介质
CN110727537B (zh) * 2019-10-21 2023-12-26 深圳前海环融联易信息科技服务有限公司 统一处理响应报文的方法、装置、计算机设备及存储介质
CN111427701A (zh) * 2020-03-09 2020-07-17 中国建设银行股份有限公司 一种工作流引擎系统和业务处理方法
CN111722881A (zh) * 2020-05-22 2020-09-29 广东浪潮大数据研究有限公司 一种容器云平台的资源扩展方法、系统及装置
CN111722881B (zh) * 2020-05-22 2023-08-08 广东浪潮大数据研究有限公司 一种容器云平台的资源扩展方法、系统及装置
CN113778726A (zh) * 2020-06-09 2021-12-10 武汉斗鱼网络科技有限公司 一种错误信息处理方法、装置、服务器和存储介质
CN112083952A (zh) * 2020-08-26 2020-12-15 武汉普利商用机器有限公司 一种基于spring架构的异常处理方法及系统
CN112363720A (zh) * 2020-11-30 2021-02-12 中国银行股份有限公司 基于Spring Restful框架实现公共控制逻辑的方法及装置
CN112363720B (zh) * 2020-11-30 2024-02-23 中国银行股份有限公司 基于Spring Restful框架实现公共控制逻辑的方法及装置
CN112766769A (zh) * 2021-01-26 2021-05-07 南京利特嘉软件科技有限公司 一种基于大数据的客户评估方法及系统
CN112766769B (zh) * 2021-01-26 2023-11-21 南京利特嘉软件科技有限公司 一种基于大数据的客户评估方法及系统
CN113741870A (zh) * 2021-08-20 2021-12-03 苏州浪潮智能科技有限公司 一种获取Spring框架中数据的方法、系统、设备和存储介质
CN113741870B (zh) * 2021-08-20 2023-07-14 苏州浪潮智能科技有限公司 一种获取Spring框架中数据的方法、系统、设备和存储介质
CN114579194A (zh) * 2022-03-08 2022-06-03 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和系统
CN114579194B (zh) * 2022-03-08 2024-04-05 杭州每刻科技有限公司 一种基于Spring远程调用的异常处理方法和系统

Also Published As

Publication number Publication date
WO2020192134A1 (zh) 2020-10-01

Similar Documents

Publication Publication Date Title
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
CN108573371B (zh) 数据审批方法、装置、计算机设备和存储介质
CN109474578B (zh) 报文消息校验方法、装置、计算机设备和存储介质
CN109460527A (zh) 产品数据配置方法、装置、计算机设备和存储介质
CN110209652A (zh) 数据表迁移方法、装置、计算机设备和存储介质
CN110597730B (zh) 基于场景法的自动化测试用例生成方法及系统
CN103246606B (zh) Esb平台的性能测试方法和系统
CN109710677A (zh) 实验数据处理方法、装置、计算机设备和存储介质
CN109905293A (zh) 一种终端设备识别方法、系统及存储介质
CN112035363A (zh) 接口自动化测试方法及装置
CN113435608B (zh) 联邦学习模型的生成方法、装置、计算机设备及存储介质
CN109062925A (zh) 自动生成insert语句的方法、装置、计算机设备及存储介质
CN109361628A (zh) 报文组装方法、装置、计算机设备和存储介质
CN112615759A (zh) 全链路压测组件、全链路压测方法及装置
CN111414369A (zh) 一种数据处理方法、装置及设备
CN108809896A (zh) 一种信息校验方法、装置和电子设备
CA3138761A1 (en) Method, device, computer equipment and storage medium for verifying inter-system data admission
CN109783606A (zh) 数据处理方法、装置、计算机设备和存储介质
CN110069297A (zh) 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN110377292A (zh) 服务配置方法、装置、计算机设备及存储介质
CN109614188A (zh) 一种页面在线帮助方法、装置、计算机设备及存储介质
CN113157754B (zh) 流程表单数据展示方法、装置、设备及存储介质
CN114637508A (zh) 基于vue的标签参数传递方法、装置、设备及存储介质
CN113608995A (zh) 一种造数方法、装置、计算机设备及存储介质
CN110069297B (zh) 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant