`

LightFramework (四) 服务层框架(light-service)

阅读更多

服务层框架:

      服务就是系统提供出来可访问的功能集合。可以通过Ajax来访问,也可以直接输入一个URL来访问,无论是通过Ajax来访问还是通过非Ajax来访问,其实都是需要先进行业务处理,不同的是业务处理完的渲染,有时候需要将结果数据以一定的形式返回,有时候需要返回一个JSP页面返回展示。

      目前开源有很多调用服务的框架,比如Struts、SpringMVC、DWR等,但是或多或少的有一些不尽人意的地方,Struts和SpringMVC都是比较重型一些,第一方面,服务的发布需要配置的地方有些多了,另一方面,实现服务需要太多的类了,其实我们要的实现功能很简单,就是一个服务(一个类的其中一个方法)。DWR调用简单,但本身只支持Ajax方式调用,还不够。

 

设计原则:

(1)前后台分离,遵守一定的协议规则和数据交互规则。

(2)编写很少的代码,就可以实现业务功能的前后台交互。

(3)很好的维护性,易于跟踪和分析。

(4)易于扩展,支持开闭原则。

 

要点说明:

(1) 前后台数据交互格式转换

数据在不同地方有不同的表现形式,比如在浏览器端,数据总是以弱类型的方式表示,在后台Java里面,数据则表现为Java对象的强类型表示,前台传递到后台基本都是以字符串的格式传递过去的,怎么把这些字符串参数转换为Java对应的对象类型是前后台数据交互的一个非常重要的问题。

 

(2)前后台交互协议

后台总是以服务的形式提供各种各样的功能出来,前台通过调用这些服务来实现数据库的各种各样操作,所以如何才能做到很容易的将后台的类发布成可访问的服务、前台怎么最简单的访问这些发布出来的服务才是我们关注的重点。前台应该给后台传递怎么样的数据格式,后台处理完后应该给前台返回怎么样的数据格式。这些也是一个必须考虑的问题。

 

功能特性:

(1)支持基于SpringBean的服务发布(只需将服务类注册成一个Bean就可以访问该Bean的方法)或者支持通过类路径直接访问类的方法

(2)支持前提传入JSON格式的数据,后台方法接收对象参数

(3)支持请求数据和处理数据对象自动邦定功能(前台提交数据自动会组装到服务方法的传入参数对象中)

(4)支持多种处理结果渲染器(Json、JSP等)

(5)支持统一的服务测试页面

 

分享到:
评论

相关推荐

    去雾算法Light-DehazeNet_去雾算法

    四、Light-DehazeNet的优势 1. 高效率:相比于其他复杂的深度学习去雾模型,Light-DehazeNet的轻量级设计使得其在运行速度上具有显著优势,更适合实时应用场景。 2. 准确性:通过学习大量的训练样本,Light-...

    AdobeSongStd-Light-Acro

    标题中的“AdobeSongStd-Light-Acro”指的是Adobe公司的一款字体——Adobe Song Std Light,它是一种专门为Adobe Acrobat(Acro)优化的轻量级中文字体。在处理PDF文档时,有时会出现某些字体缺失的情况,这可能导致...

    Ultra-Light-Fast-Generic-Face-Detector-1MB-master.zip

    本文将深入探讨一个名为"Ultra-Light-Fast-Generic-Face-Detector-1MB-master"的项目,它是一个专门针对人脸检测的轻量级深度学习模型,其核心优势在于模型小巧,仅1MB大小,却能在多种场景下实现高效、实时的检测。...

    Win64OpenSSL-Light-1-1-1d.exe

    《Win64 OpenSSL-Light-1-1-1d.exe:64位系统下的轻量级QTSSL库解析》 在IT行业中,安全通信是至关重要的,而这离不开SSL(Secure Socket Layer)及其升级版TLS(Transport Layer Security)协议的支持。当我们谈论...

    MvvmLight-Sample-master.zip

    MvvmLight-Sample-master.zip是一个压缩包,包含了C#编程语言实现的WPF(Windows Presentation Foundation)应用程序架构的源代码示例,主要基于MvvmLight框架。MvvmLight(Model-View-ViewModel Light)是由...

    pdf转换需要的字体-AdobeSongStd-Light-Acro

    在这个情况下,"AdobeSongStd-Light-Acro" 是一种用于PDF文件的字体,它属于Adobe字体库的一部分。 AdobeSongStd-Light-Acro是一种中文字体,主要用于显示中文字符。在PDF文件中,如果缺少这种字体,某些中文字符...

    Light-Year-Admin-Template-master.zip

    《Light-Year-Admin-Template-master.zip》是一款在码云平台上开源的前端页面模板,专为开发者提供实践和学习用途。这个模板集成了多种常见的后台管理系统的功能和设计元素,包括登录页面、后台系统架构、数据操作...

    win64openssl_light-1-0-2.exe

    win64openssl_light-1-0-2.exe OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

    Light-Head R-CNN源代码,tensorflow版本

    Light-Head R-CNN是一种深度学习的目标检测框架,它的核心思想是通过优化网络的头部设计,大幅减少计算量,从而实现高效且精确的目标检测。在TensorFlow版本的实现中,这个理念得到了充分的体现。本项目名为"light_...

    Win64OpenSSL_Light-3_0_0.exe

    Win64OpenSSL_Light-3_0_0

    Win64OpenSSL-Light-3-1-4安装包

    标题中的“Win64OpenSSL-Light-3-1-4安装包”指的是OpenSSL的轻量级版本,适用于64位Windows操作系统的一个版本。OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,它包含了各种加密算法、常用的...

    Win64OpenSSL_Light-3_0_0.rar

    标题中的"Win64OpenSSL_Light-3_0_0.rar"指的是一个适用于Windows 64位操作系统的OpenSSL轻量级版本的压缩文件,版本号为3.0.0。OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,同时提供了各种...

    light-task-scheduler-1.7.0.zip

    "light-task-scheduler"(简称LTS)是一个轻量级的分布式任务调度框架,旨在简化分布式环境下的任务调度管理。1.7.0版本是该框架的一个稳定发布,包含了许多优化和改进,使得它更适合大规模、高并发的业务场景。 二...

    Win64OpenSSL_Light-1.1.1

    Win64OpenSSL_Light-1.1.1版,适合制作证书等等,搬运分享。

    light-bot-2

    light-bot-20-6061 国外的小游戏编程的 很不错哈哈 这是第二个版本 网页打不开的同学可以试试这个

    SAE J2954-2020 Wireless Power Transfer for Light-Duty Plug-in_Electric Vehicles and Alignment Methodology - 完整英文版(194页).pdf

    SAE J2954-2020 Wireless Power Transfer for Light-Duty Plug-in_Electric Vehicles and Alignment Methodology - 完整英文版(194页).pdf

    Win64OpenSSL_Light-1_1_1j.zip

    1. **OpenSSL的安装**:解压"Win64OpenSSL_Light-1_1_1j.zip"后,找到"Win64OpenSSL_Light-1_1_1j.exe"执行文件,双击运行进行安装。安装过程中,建议选择“Typical”(典型)安装,以便将OpenSSL添加到系统路径,使其...

    Light-Bot-2.0(灯光机器人)

    Light-Bot-2.0(灯光机器人) Light-Bot-2.0(灯光机器人) Light-Bot-2.0(灯光机器人) Light-Bot-2.0(灯光机器人)

    Win32OpenSSL_Light-1_0_2d

    Win32OpenSSL_Light-1_0_2d,windows下openssl安装文件

Global site tag (gtag.js) - Google Analytics