一种基于SPRING的MVC模式优化系统.pdf

上传人:a3 文档编号:4747089 上传时间:2018-11-05 格式:PDF 页数:5 大小:327.89KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410485482.4

申请日:

2014.09.22

公开号:

CN104267944A

公开日:

2015.01.07

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 9/44申请公布日:20150107|||实质审查的生效IPC(主分类):G06F 9/44申请日:20140922|||公开

IPC分类号:

G06F9/44

主分类号:

G06F9/44

申请人:

浪潮软件集团有限公司

发明人:

王贵友; 左少标; 徐宏伟

地址:

250100 山东省济南市高新区科航路2877号

优先权:

专利代理机构:

济南信达专利事务所有限公司 37100

代理人:

姜明

PDF下载: PDF下载
内容摘要

本发明提供一种基于Spring的MVC模式优化系统,随着Web应用的普及,Web开发技术也逐渐形成了一系列通用的开发模式,使得Web应用开发人员大大减少了重复性的工作量,提高了应用的开发效率。在这些模式中,基于Model、View、Controller分层结构的MVC模式具有低耦合性、可移植性高、层层分离等优点等优势而逐渐成为Web应用开发的主流模式。但是,MVC模式也有它的不足之处,主要有两方面:第一,过分依赖于ServletAPI,大大增加了单元测试的难度;第二,MVC中的Controller缓存处理需要调用Servlet的缓存机制,缺少灵活性。本文主要针对以上两种不足提供优化方案。

权利要求书

权利要求书
1.  一种基于Spring的MVC模式优化系统, 其特征在于包括:
 1)Spring MVC框架的核心类及接口:
①DispatcherServlet实现前端控制器的设计模式,提供集中访问的节点;
②HandlerMapping接口将请求映射到处理器,返回一个处理器执行链,包括处理器和多个拦截器;
③SimpleUrlHandlerMapping、DefaultAnnotationHandlerMapping类实现HandlerMapping接口,分别通过配置文件和注解,将URL映射到一个控制器类上;
④ViewResolver解析逻辑视图名到具体试图实现;
⑤HandlerExceptionResolver解析执行过程中遇到的异常;
⑥DispatcherServlet将请求映射到处理器,包括返回一个HandlerExecutionChain,它包括一个处理器、多个拦截器;
2)控制器
控制器获取客户端的请求,并将亲笔供求转化成数据模型,进行Web逻辑处理,最后通过合适的视图将处理结果展示给用户,控制器包括核心控制器和业务控制器,核心控制器负责接收客户请求,业务控制器负责处理请求的逻辑业务;
3)模型和视图封装模块
模型和视图封装模块,封装了模型和视图的处理程序,用于生成模型和展示在浏览器的视图,模型和视图对象经过DispatcherServlet处理后,被解析为模型和视图两个部分,然后将模型加载到视图中返回给用户;
客户请求处理步骤如下
①Spring容器按照配置文件中的参数进行初始化;
②用户发出请求,DispatcherServlet将请求解析后提交给核心控制器进行逻辑处理;
③创建模型视图对象,并将请求处理结果封装到该对象,返回给DispatcherServlet;
④DispatcherServlet解析模型视图对象,将结果反馈到客户端。

说明书

说明书一种基于Spring的MVC模式优化系统
技术领域
本发明涉及计算机应用技术领域, 具体地说是一种基于Spring的MVC模式优化系统。互联网的迅速发展对人类生活产生了巨大的影响,给社会带来了翻天覆地的变化,无论是国家、政府、企业或是个人,皆是如此。人们对信息技术的青睐,促进了信息技术、计算机技术和网络技术的飞速发展,新理论、新技术、新概念、新想法层出不穷,但是随着人们需求的不断增长,软件产品的开发过程的复杂程度也是越来越高。面对这些问题,人们又在不停的思考、摸索进而提出与之相应的解决方案,比如设计模式理念的产生。
背景技术
在过去的几年中,随着互联网的普及,基于B/S模式开发的Web应用系统,凭借其通用、易用、瘦客户端等优势取得了迅速的发展,逐渐成为电子商务系统、办公系统等应用的主流技术,其优势在政府或企业的门户网站、B2B电子商务网站等系统中更为明显。
随着Web应用的普及,Web开发技术也逐渐形成了一系列通用的开发模式,使得Web应用开发人员大大减少了重复性的工作量,提高了应用的开发效率。在这些模式中,基于Model、View、Controller分层结构的MVC模式具有低耦合性、可移植性高、层层分离等优点等优势而逐渐成为Web应用开发的主流模式。但是,MVC模式也有它的不足之处,主要有两方面:第一,过分依赖于Servlet API,大大增加了单元测试的难度;第二,MVC中的Controller缓存处理需要调用Servlet的缓存机制,缺少灵活性。本文主要针对以上两种不足提供优化方案。
对于Web应用开发者来说,缩短开发周期、降低开发成本、提高运行效率和增强可维护性是其追求的目标。J2EE平台的出现和广泛应用在一定程度上降低了Web应用开发的成本,也降低了开发过程的复杂度,但是由于它自身过于复杂的体系结构、难以准确预测应用的过程和结果以及开发和维护成本过程的价格昂贵等不足,经常使得J2EE的架构方案无法让人真正满意。针对上述提到的种种弊端和不足,许多的Web应用框架应运而生。
Struts框架:Struts是一个老牌的Web应用框架,也是现金应用中运用最广泛的框架,它主要采用Servlet和JSP技术实现,包括一个前端控制组件、一系列的动作类、动作映射、处理XML的使用工具类、服务器端JavaBean的自动填充、支持验证的Web表单以及国际化支持、生成HTML等功能和内容。Struts的主要缺点是缺少完善的权限设定,而且没有数据层的支持,因此它的使用必须完全依赖于具体的框架类。而且,在实际应用中,Struts不能将领域对象作为FormBean使用,这样会生成很多额外的FormBean,导致了不必要的重复性。同时,它的视图部分仅限于支持JSP技术,对于其他的视图技术没有提供完善的支持方案。
EJB技术:该技术产生于1998年3月,而后一直作为J2EE的核心,主要的目的在于简化企业级应用开发,使得开发人员能将更多的精力投入于业务逻辑而不是系统级问题上。
Spring框架:2002年,Rod Johnson总结当时框架技术的一些不足之处,出版了《Expert One-on-One J2EE Design and Development》的书,总结了他项目开发的一些经验,分析了EJB技术导致项目失败的原因等,该书中的内容后来成为Spring框架的核心思想。
结合Spring MVC的工作原理和特点,针对其过度依赖Servlet API和不利于单元测试的缺点,通过封装业务逻辑处理类和接口,实现了对Servlet的解耦。
发明内容
本发明的目的是提供一种基于Spring的MVC模式优化系统。
本发明的目的是按以下方式实现的,包括:
 1)Spring MVC框架的核心类及接口:
①DispatcherServlet实现前端控制器的设计模式,提供集中访问的节点;
②HandlerMapping接口将请求映射到处理器,返回一个处理器执行链,包括处理器和多个拦截器;
③SimpleUrlHandlerMapping、DefaultAnnotationHandlerMapping类实现HandlerMapping接口,分别通过配置文件和注解,将URL映射到一个控制器类上;
④ViewResolver解析逻辑视图名到具体试图实现;
⑤HandlerExceptionResolver解析执行过程中遇到的异常;
⑥DispatcherServlet将请求映射到处理器,包括返回一个HandlerExecutionChain,它包括一个处理器、多个拦截器;
2)控制器
控制器获取客户端的请求,并将亲笔供求转化成数据模型,进行Web逻辑处理,最后通过合适的视图将处理结果展示给用户,控制器包括核心控制器和业务控制器,核心控制器负责接收客户请求,业务控制器负责处理请求的逻辑业务;
3)模型和视图封装模块
模型和视图封装模块,封装了模型和视图的处理程序,用于生成模型和展示在浏览器的视图,模型和视图对象经过DispatcherServlet处理后,被解析为模型和视图两个部分,然后将模型加载到视图中返回给用户;
客户请求处理步骤如下
①Spring容器按照配置文件中的参数进行初始化;
②用户发出请求,DispatcherServlet将请求解析后提交给核心控制器进行逻辑处理;
③创建模型视图对象,并将请求处理结果封装到该对象,返回给DispatcherServlet;
④DispatcherServlet解析模型视图对象,将结果反馈到客户端。
本发明的目的有益效果是:通过上述方式,控制器的优化过程是控制器和Servlet API完全解除耦合,并提供了不同级别范围的缓存功能,达到了预期优化的目的。
具体实施方式
针对其过度依赖Servlet API和不利于单元测试的缺点,通过封装业务逻辑处理类和接口,实现了对Servlet的解耦。
具体步骤如下:
①创建控制器接口OptimizingContext,声明获取HttpServletRequest和HttpServletResponse的方法。该接口的实现类可以根据不同的需求实现完成不同的功能。从而使得子类不必依赖于父类的实现。在Java中,子类可以实现多个接口,从而大大丰富了子类对象的方法。
该接口的代码如下:
public interface  OptimizingContext{
public HttpServletRequest getServletRequest();
public HttpServletResponse getServletResponse();
}
创建OptimizingContext接口的实现类OptimizingContextImpl,在此类中保存4个Map对象的引用,分别用于保存页面信息(pageInfoMap),请求数据(requestMap)、会话数据(sessionMap)、应用数据(applicationMap),实现类为4个对象提供了赋值和取值方法。
public class OptimizingContextImpl implements OptimizingContext{
      static ThreadLocal ptimizingContext = new ThreadLocal();
      private HttpServletRequest request;
      public OptimizingContextImpl(Map<String ,Object> context){
      this.context = context;
}
     public HttpServletRequest getServletRequest(){
           return request;     

      public void setServletRequest(){
           this.request = request;
}
}
②扩展控制器类
Spring MVC框架中的控制器类实现了spring框架下的控制器接口,它提供了一个方法用来处理用户请求,并返回相应的模型视图。Spring定义的控制器不是直接实现控制器接口,而是继承了扩展控制器类进行实现;
③控制器优化
优化Spring MVC框架的控制器,首先需要设计自己的控制器类,即继承扩展控制器类,重写该类的handleRequstInternal方法,主要步骤为:创建扩展名预售期的抽象子类,在子类中创建handle函数,用于处理客户请求,Handle函数的具体实现由抽象子类完成。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

一种基于SPRING的MVC模式优化系统.pdf_第1页
第1页 / 共5页
一种基于SPRING的MVC模式优化系统.pdf_第2页
第2页 / 共5页
一种基于SPRING的MVC模式优化系统.pdf_第3页
第3页 / 共5页
点击查看更多>>
资源描述

《一种基于SPRING的MVC模式优化系统.pdf》由会员分享,可在线阅读,更多相关《一种基于SPRING的MVC模式优化系统.pdf(5页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104267944 A (43)申请公布日 2015.01.07 CN 104267944 A (21)申请号 201410485482.4 (22)申请日 2014.09.22 G06F 9/44(2006.01) (71)申请人 浪潮软件集团有限公司 地址 250100 山东省济南市高新区科航路 2877 号 (72)发明人 王贵友 左少标 徐宏伟 (74)专利代理机构 济南信达专利事务所有限公 司 37100 代理人 姜明 (54) 发明名称 一种基于 Spring 的 MVC 模式优化系统 (57) 摘要 本发明提供一种基于 Spring 的 MVC 模式优 。

2、化系统, 随着 Web 应用的普及, Web 开发技术也逐 渐形成了一系列通用的开发模式, 使得 Web 应用 开发人员大大减少了重复性的工作量, 提高了应 用的开发效率。在这些模式中, 基于 Model、 View、 Controller 分层结构的 MVC 模式具有低耦合性、 可移植性高、 层层分离等优点等优势而逐渐成为 Web 应用开发的主流模式。但是, MVC 模式也有 它的不足之处, 主要有两方面 : 第一, 过分依赖于 ServletAPI, 大大增加了单元测试的难度 ; 第二, MVC 中的 Controller 缓存处理需要调用 Servlet 的缓存机制, 缺少灵活性。 本文。

3、主要针对以上两种 不足提供优化方案。 (51)Int.Cl. 权利要求书 1 页 说明书 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书3页 (10)申请公布号 CN 104267944 A CN 104267944 A 1/1 页 2 1. 一种基于 Spring 的 MVC 模式优化系统 , 其特征在于包括 : 1) Spring MVC 框架的核心类及接口 : DispatcherServlet 实现前端控制器的设计模式, 提供集中访问的节点 ; HandlerMapping 接口将请求映射到处理器, 返回一个处理器执行链, 包括处理器和 多个。

4、拦截器 ; SimpleUrlHandlerMapping、 DefaultAnnotationHandlerMapping 类实现 HandlerMapping 接口, 分别通过配置文件和注解, 将 URL 映射到一个控制器类上 ; ViewResolver 解析逻辑视图名到具体试图实现 ; HandlerExceptionResolver 解析执行过程中遇到的异常 ; DispatcherServlet 将请求映射到处理器, 包括返回一个 HandlerExecutionChain, 它包括一个处理器、 多个拦截器 ; 2) 控制器 控制器获取客户端的请求, 并将亲笔供求转化成数据模型, 。

5、进行 Web 逻辑处理, 最后通 过合适的视图将处理结果展示给用户, 控制器包括核心控制器和业务控制器, 核心控制器 负责接收客户请求, 业务控制器负责处理请求的逻辑业务 ; 3) 模型和视图封装模块 模型和视图封装模块, 封装了模型和视图的处理程序, 用于生成模型和展示在浏览器 的视图, 模型和视图对象经过 DispatcherServlet 处理后, 被解析为模型和视图两个部分, 然后将模型加载到视图中返回给用户 ; 客户请求处理步骤如下 Spring 容器按照配置文件中的参数进行初始化 ; 用户发出请求, DispatcherServlet 将请求解析后提交给核心控制器进行逻辑处 理 ;。

6、 创建模型视图对象, 并将请求处理结果封装到该对象, 返回给 DispatcherServlet ; DispatcherServlet 解析模型视图对象, 将结果反馈到客户端。 权 利 要 求 书 CN 104267944 A 2 1/3 页 3 一种基于 Spring 的 MVC 模式优化系统 技术领域 0001 本发明涉及计算机应用技术领域 , 具体地说是一种基于 Spring 的 MVC 模式优化 系统。 互联网的迅速发展对人类生活产生了巨大的影响, 给社会带来了翻天覆地的变化, 无 论是国家、 政府、 企业或是个人, 皆是如此。人们对信息技术的青睐, 促进了信息技术、 计算 机技术和。

7、网络技术的飞速发展, 新理论、 新技术、 新概念、 新想法层出不穷, 但是随着人们需 求的不断增长, 软件产品的开发过程的复杂程度也是越来越高。 面对这些问题, 人们又在不 停的思考、 摸索进而提出与之相应的解决方案, 比如设计模式理念的产生。 背景技术 0002 在过去的几年中, 随着互联网的普及, 基于 B/S 模式开发的 Web 应用系统, 凭借其 通用、 易用、 瘦客户端等优势取得了迅速的发展, 逐渐成为电子商务系统、 办公系统等应用 的主流技术, 其优势在政府或企业的门户网站、 B2B 电子商务网站等系统中更为明显。 0003 随着 Web 应用的普及, Web 开发技术也逐渐形成了。

8、一系列通用的开发模式, 使得 Web 应用开发人员大大减少了重复性的工作量, 提高了应用的开发效率。在这些模式中, 基 于 Model、 View、 Controller 分层结构的 MVC 模式具有低耦合性、 可移植性高、 层层分离等 优点等优势而逐渐成为 Web 应用开发的主流模式。但是, MVC 模式也有它的不足之处, 主 要有两方面 : 第一, 过分依赖于 Servlet API, 大大增加了单元测试的难度 ; 第二, MVC 中的 Controller 缓存处理需要调用 Servlet 的缓存机制, 缺少灵活性。本文主要针对以上两种 不足提供优化方案。 0004 对于 Web 应用开。

9、发者来说, 缩短开发周期、 降低开发成本、 提高运行效率和增强可 维护性是其追求的目标。 J2EE平台的出现和广泛应用在一定程度上降低了Web应用开发的 成本, 也降低了开发过程的复杂度, 但是由于它自身过于复杂的体系结构、 难以准确预测应 用的过程和结果以及开发和维护成本过程的价格昂贵等不足, 经常使得 J2EE 的架构方案 无法让人真正满意。针对上述提到的种种弊端和不足, 许多的 Web 应用框架应运而生。 0005 Struts 框架 : Struts 是一个老牌的 Web 应用框架, 也是现金应用中运用最广泛的 框架, 它主要采用Servlet和JSP技术实现, 包括一个前端控制组件、。

10、 一系列的动作类、 动作 映射、 处理 XML 的使用工具类、 服务器端 JavaBean 的自动填充、 支持验证的 Web 表单以及国 际化支持、 生成 HTML 等功能和内容。Struts 的主要缺点是缺少完善的权限设定, 而且没有 数据层的支持, 因此它的使用必须完全依赖于具体的框架类。而且, 在实际应用中, Struts 不能将领域对象作为 FormBean 使用, 这样会生成很多额外的 FormBean, 导致了不必要的重 复性。同时, 它的视图部分仅限于支持 JSP 技术, 对于其他的视图技术没有提供完善的支持 方案。 0006 EJB 技术 : 该技术产生于 1998 年 3 月。

11、, 而后一直作为 J2EE 的核心, 主要的目的在 于简化企业级应用开发, 使得开发人员能将更多的精力投入于业务逻辑而不是系统级问题 上。 0007 Spring 框架 : 2002 年, Rod Johnson 总结当时框架技术的一些不足之处, 出版了 说 明 书 CN 104267944 A 3 2/3 页 4 Expert One-on-One J2EE Design and Development 的书, 总结了他项目开发的一些经 验, 分析了 EJB 技术导致项目失败的原因等, 该书中的内容后来成为 Spring 框架的核心思 想。 0008 结合Spring MVC的工作原理和特点。

12、, 针对其过度依赖Servlet API和不利于单元 测试的缺点, 通过封装业务逻辑处理类和接口, 实现了对 Servlet 的解耦。 发明内容 0009 本发明的目的是提供一种基于 Spring 的 MVC 模式优化系统。 0010 本发明的目的是按以下方式实现的, 包括 : 1) Spring MVC 框架的核心类及接口 : DispatcherServlet 实现前端控制器的设计模式, 提供集中访问的节点 ; HandlerMapping 接口将请求映射到处理器, 返回一个处理器执行链, 包括处理器和 多个拦截器 ; SimpleUrlHandlerMapping、 DefaultAnn。

13、otationHandlerMapping 类实现 HandlerMapping 接口, 分别通过配置文件和注解, 将 URL 映射到一个控制器类上 ; ViewResolver 解析逻辑视图名到具体试图实现 ; HandlerExceptionResolver 解析执行过程中遇到的异常 ; DispatcherServlet 将请求映射到处理器, 包括返回一个 HandlerExecutionChain, 它包括一个处理器、 多个拦截器 ; 2) 控制器 控制器获取客户端的请求, 并将亲笔供求转化成数据模型, 进行 Web 逻辑处理, 最后通 过合适的视图将处理结果展示给用户, 控制器包括核。

14、心控制器和业务控制器, 核心控制器 负责接收客户请求, 业务控制器负责处理请求的逻辑业务 ; 3) 模型和视图封装模块 模型和视图封装模块, 封装了模型和视图的处理程序, 用于生成模型和展示在浏览器 的视图, 模型和视图对象经过 DispatcherServlet 处理后, 被解析为模型和视图两个部分, 然后将模型加载到视图中返回给用户 ; 客户请求处理步骤如下 Spring 容器按照配置文件中的参数进行初始化 ; 用户发出请求, DispatcherServlet 将请求解析后提交给核心控制器进行逻辑处 理 ; 创建模型视图对象, 并将请求处理结果封装到该对象, 返回给 Dispatcher。

15、Servlet ; DispatcherServlet 解析模型视图对象, 将结果反馈到客户端。 0011 本发明的目的有益效果是 : 通过上述方式, 控制器的优化过程是控制器和Servlet API 完全解除耦合, 并提供了不同级别范围的缓存功能, 达到了预期优化的目的。 具体实施方式 0012 针对其过度依赖 Servlet API 和不利于单元测试的缺点, 通过封装业务逻辑处理 类和接口, 实现了对 Servlet 的解耦。 说 明 书 CN 104267944 A 4 3/3 页 5 0013 具体步骤如下 : 创 建 控 制 器 接 口 OptimizingContext,声 明 获。

16、 取 HttpServletRequest 和 HttpServletResponse的方法。 该接口的实现类可以根据不同的需求实现完成不同的功能。 从而使得子类不必依赖于父类的实现。在 Java 中, 子类可以实现多个接口, 从而大大丰富 了子类对象的方法。 0014 该接口的代码如下 : public interface OptimizingContext public HttpServletRequest getServletRequest(); public HttpServletResponse getServletResponse(); 创建 OptimizingContext 接。

17、口的实现类 OptimizingContextImpl, 在此类中保存 4 个 Map 对象的引用, 分别用于保存页面信息 (pageInfoMap) , 请求数据 (requestMap) 、 会话数 据 (sessionMap) 、 应用数据 (applicationMap) , 实现类为 4 个对象提供了赋值和取值方法。 0015 public class OptimizingContextImpl implements OptimizingContext static ThreadLocal ptimizingContext = new ThreadLocal(); private H。

18、ttpServletRequest request; public OptimizingContextImpl(Map context) this.context = context; public HttpServletRequest getServletRequest() return request; public void setServletRequest() this.request = request; 扩展控制器类 Spring MVC 框架中的控制器类实现了 spring 框架下的控制器接口, 它提供了一个方 法用来处理用户请求, 并返回相应的模型视图。Spring 定义的控制器不是直接实现控制器 接口, 而是继承了扩展控制器类进行实现 ; 控制器优化 优化Spring MVC框架的控制器, 首先需要设计自己的控制器类, 即继承扩展控制器类, 重写该类的 handleRequstInternal 方法, 主要步骤为 : 创建扩展名预售期的抽象子类, 在 子类中创建 handle 函数, 用于处理客户请求, Handle 函数的具体实现由抽象子类完成。 0016 除说明书所述的技术特征外, 均为本专业技术人员的已知技术。 说 明 书 CN 104267944 A 5 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1