数据封装

MVC与三层架构

我们两清 提交于 2019-12-01 16:31:45
M:Model—模型 javaBean:封装数据 V:View—–视图 jsp:单纯进行页面的显示 C:Controller—-控制器 Servlet:获取数据–对数据进行封装–传递数据– 指派显示的jsp页面 大专栏 MVC与三层架构 lass="headerlink" title="三层架构">三层架构 服务器开发时 分为三层 web层:与客户端交互 service层:复杂业务处理 dao层:与数据库进行交互 开发实践时 三层架构通过包结构体现 来源: https://www.cnblogs.com/sanxiandoupi/p/11693276.html

封装一个获取变量准确类型的函数

允我心安 提交于 2019-12-01 13:24:52
function gettype(obj) { var type = typeof obj; if (type !== 'object') { return type; } //如果不是object类型的数据,直接用typeof就能判断出来 //如果是object类型数据,准确判断类型必须使用Object.prototype.toString.call(obj)的方式才能判断 return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1'); } 来源: https://www.cnblogs.com/nxmxl/p/11688322.html

drf 简介以及部分源码分析

不问归期 提交于 2019-12-01 10:19:41
目录 复习 drf框架 接口 restful接口规范 基于restful规范的原生Django接口 Postman接口工具 代码 DRF框架 请求模块:request对象 渲染模块:浏览器和Postman请求结果渲染数据的方式不一样 复习 """ 1、vue如果控制html 在html中设置挂载点、导入vue.js环境、创建Vue对象与挂载点绑定 2、vue是渐进式js框架 3、vue指令 {{ }} v-text|html => 限制一次性渲染 v-once v-if|show v-if v-else-if v-else v-for v-model v-bind [c1, c2] | {active: isActive} v-on fn | fn(...) | fn($event, ...) {{ data中出现的变量 }} v-if="data中出现的变量 的条件表达式" 4、vue实例成员 el | template components data {} | data () { return {} } methods computed:定义的是方法属性 watch:监听属性 props <div id="app"> <Nav :subdata="supdata" @subaction="supaction"></Nav> </div> 5、生命周期钩子 都是实例成员

mvc的视图渲染方式

旧巷老猫 提交于 2019-12-01 02:28:45
ModelAndView ModelAndView vm = new ModelAndView(); //封装要显示在试图上的数据 vm.addObject("msg","hello spring"); //封装视图数据名称 vm.setViewName("hello"); return vm; 下面方法不需要 视图下渲染器 ServletAPI /*resp.getWriter().println("---my name is spring mvc");*/ 重定向和请求转发 springmvc实现转发 第一种 @RequestMapping("/hello1") public String hello1(){ return "index.jsp"; } 第二种 来源: https://www.cnblogs.com/xiaozhang666/p/11648104.html

音视频RTP数据包封装

廉价感情. 提交于 2019-11-30 21:12:50
对于语音通信而言,语音码率较低,添加适当冗余是对抗网络丢包的常见方式。冗余方式有多种,包括 RED , FEC 等都是冗余的一种,如果冗余份数较多,可以采取交织的方式实现。 RFC 3350 是RTP的基础标准协议, RFC 2198 是冗余数据RTP封装的标准协议, RFC 5109 是添加FEC数据的RTP封装标准协议。 RTP格式(RFC 3350) 文档地址: RTP: A Transport Protocol for Real-Time Applications RTP(Real-time Transport Protocol, 实时传输协议)是互联网上常见的处理媒体数据流的网络协议,包括单播和多播等多种场景下的网络环境中媒体数据的传输。RTP是一种应用层协议,一般使用UDP作为底层协议实现数据传输,但并不强制底层协议的选择。RTP不提供任何机制来保证实时的传输和服务质量保证,而是由底层的服务来完成。也就是说,它不保证可靠传输和按序传输,不假定下层网络是否可靠,不限制按照顺序传送数据包。 RTP一般与RTCP同时出现,端口号相邻。一般而言,RTP负责传输数据,RTCP用于传输控制信息,比如提供数据传输质量的反馈。RTCP为每个RTP源提供一个固定的识别符 CNAME 。当SSRC因重启或者冲突发生改变时,可以更加 CNAME 跟踪参与者;或者用 CNAME

springmvc-初次接触

痴心易碎 提交于 2019-11-30 19:39:23
一,mvc做的事情   1,将url映射到java类或者java的方法。   2,封装用户提交的数据   3,处理请求--调用相关的业务处理--封装想相应的数据   4,将相应数据进行渲染,jsp或者html 二,spring mvc是一个轻量级的,基于请求响应的mvc框架。 三,为什么要学mvc   1,性能比struts2好,开发效率高,性能不高   2,简单,便捷,开发简单   3,天生和spring无缝集成,核心功能(ioc和aop)   4,使用约定优于配置, 来源: https://www.cnblogs.com/xiaozhang666/p/11637804.html

封装

瘦欲@ 提交于 2019-11-30 19:27:58
封装 (encapsulation)   隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。   封装 (encapsulation)   封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。   封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。   封装在网络编程里面的意思, 当应用程序用TCP传送数据时,数据被送入 协议栈 中,然后逐个通过每一层直到被当作一串 比特流 送入网络,其中每一层对收到的数据都要增加一些首部。 2 原则   1把尽可能多的东西藏起来.对外提供简捷的接口。   2把所有的属性藏起来。   例如,在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。   按c++的语法,时钟类的声明如下:   class Clock   {   public: //共有成员,外部接口   void SetTime(int NewH,int NewM,int NewS);   void ShowTime();   private: //私有成员,外部无法访问   int Hour,Minute,Second;   } 3 技巧  

如何更准确过滤信息?看完本篇你就知道

和自甴很熟 提交于 2019-11-30 14:44:21
无论是使用Excel办公,还是浏览器搜寻关键字,都是需要通过条件过滤来实现。今天,手把手教你实现Java web项目——实现多条件过滤功能。 分页查询 需求分析:在列表页面中,显示指定条数的数据,通过翻页按钮完成首页/上一页/下一页/尾页的查询 数据分析: 通过观察,页面上需要显示下面的几个数据: 当前页:currentPage 页面大小:pageSize 总页数:totalPage 首页:1 上一页:prevPage 下一页:nextPage 尾页:endPage 总条数:totalCount 结果集:result br/>那么,我们应该如何方便快速的将这多个数据共享到页面上呢?答案是:封装 我们应该将这几个参数封装到一个对象中,然后共享这个对象即可,所以,我们有了下面这个类 @Getter public class PageResult { public static final PageResult EMPTY_RESULT = new PageResult(Collections.EMPTY_LIST, 0, 1, 3); //1:两传 private int currentPage; private int pageSize; //2:两查 private List<?> result; private int totalCount; //3:三计算 private

透彻掌握Promise的使用

瘦欲@ 提交于 2019-11-30 10:16:22
透彻掌握Promise的使用 Promise的重要性我认为我没有必要多讲,概括起来说就是必须得掌握,而且还要掌握透彻。这篇文章的开头,主要跟大家分析一下,为什么会有Promise出现。 在实际的使用当中,有非常多的应用场景我们不能立即知道应该如何继续往下执行。最重要也是最主要的一个场景就是ajax请求。通俗来说,由于网速的不同,可能你得到返回值的时间也是不同的,这个时候我们就需要等待,结果出来了之后才知道怎么样继续下去。 // 简单的ajax原生实现 var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10'; var result; var XHR = new XMLHttpRequest(); XHR.open('GET', url, true); XHR.send(); XHR.onreadystatechange = function() { if (XHR.readyState == 4 && XHR.status == 200) { result = XHR.response; console.log(result); } } 在ajax的原生实现中,利用了onreadystatechange事件,当该事件触发并且符合一定条件时

python自动化—配置文件的使用

一笑奈何 提交于 2019-11-30 06:19:16
一、什么是配置文件? 配置文件示例   [mysql] default-character-set = utf8 [mysqld] port = 3306 basedir = c:\mysql-5.7.25-winx64\mysql-5.7.25-winx64 daradir = c:\mysql-5.7.25-winx64\mysql-5.7.25-winx64\data max_connections = 200 character-set-server = utf8 default-storage-engine = INNODB explicit_defaults_for_timestamp = true 为什么要做配置文件?   所有的代码和配置都变成模块化可配置化,这样就提高了代码的复用性,不用每次都去修改代码内部。 场景举例    1、多处地方需要使用同一个参数,这时候最好是配置化,这样改一处就可以了    2、如果是经常变化的变量,我们也可以做这个配置。---> 与参数化要区分开来 python中常见的配置文件格式    .ini、.conf、.cfg结尾的文件 配置对象 section option 二、ConfigParser模块 掌握一些比较基础的用法:跟file文件一样,要先打开才能进行读取操作 实例化ConfigParse对象:cf =