网络应用

浅谈基础平台

跟風遠走 提交于 2020-11-22 04:42:25
一、 什么是基础平台 基础平台对应于业务应用,主要处理技术问题,是为业务应用提供技术支撑以及技术方案的模块或者组件。其目的是使得应用组件可只关注于业务逻辑,而不考虑或者少考虑技术问题。 基础平台通常包括如下:基础功能,开发类库,开发模式以及开发部署工具。 二、 为何要基础平台 应用系统的设计可以说是将一个业务语言翻译成程序语言的过程,这个过程同时处理两个内容:业务和技术。 1. 学习业务,编写的代码符合用例的流程; 2. 学习技术,编写的代码符合技术平台的规范和要求。 这里不同底层技术的难易度不同,导致学习成本、开发成本和应用成本也不同。同时对于一个有较长生命周期的软件项目或者产品,其依赖的底层技术的升级也会带来相应的维护成不 面对特定领域的软件项目或者产品,其所依赖的底层技术的广度和深度相对稳定,基础平台可以填平或者减少技术层面的鸿沟。 那么,我们就面临另一个问题,即:业界已经存在大量优秀的开源框架,我们为何要基础平台。 首先,大量优秀开源框架可以帮助我们,但是: 1. 优秀的开源框架通常偏向通用性,而面向特定领域的相关特性和功能还不支持;即便有面向特定领域的,其支持的特性还存在一定差异性;同时其未必支持相应的基础设施。 因此需要进行二次开发,以完善所需的基础设施; 2. 优秀的开源框架在通用性支持广泛,提供多种选择,同时还有一定学习成本;而面向特定领域,需要的模式相对固定。

Servlet Specification V2.4——SRV.1 Overview

一个人想着一个人 提交于 2019-12-05 02:43:27
SRV.1 Overview SRV.1.1 What is a Servlet? 基于Java技术,由容器管理,可以生成动态内容的web组件。 和其他基于Java技术的组件一样,servlet是跨平台的。并且它还运行于可以支持Java技术的web服务器 container,我们有时候称为servlet引擎,是支持servlet的web server。 servlet通过container实现的request/response模型与web client进行交互。 SRV.1.2 What is s Servlet Container? Servlet container是web server/application server的一部分, 这种server通过发送request/response,解码基于MIME的request,并且格式化基于MIME的response来提供网络服务。 一个servlet container必须构建在宿主web服务器之内,或者作为一个附加组件被安装到web服务器上,通过其服务器的原生扩展API。Servlet container也可以或者有能力被被构建在支持web的应用程序服务器上。 所有的servlet container必须支持HTTP作为request和reponse的协议,但附加的基于request/response的协议

(五)用JAVA编写MP3解码器——解析文件信息

断了今生、忘了曾经 提交于 2019-12-02 20:28:36
前文提到解析MP3标签,程序源码中也已经出现了调用解析MP3标签、打印MP3文件信息的功能,这儿先说说MP3文件信息的解析。 解析MP3的文件信息对MP3解码器来说只是一个附加功能,如果不加入这部分源码,同时删除掉前文源码中的相关调用,不影响解码播放。如果你想编写“迷你”型的MP3解码器,可以忽略这些附加的功能。 MP3的标签信息位于文件开始处或结尾处,用于表达MP3文件的相关信息,常见的有ID3、APE等。 ID3 V1 位于文件最后的128字节,如果读取的是网络文件而服务器又不支持随机读取的话,意味着不对对其解析这部分信息。这128字节共表示7个信息: [0..2] 3 bytes: ID3 v1标识 -- 'TAG' [3..32] 30 bytes: 标题 [33..62] 30 bytes: 艺术家 [63..92] 30 bytes: 专辑名 [93..96] 4 bytes: 发行年份 [97..126] 30 bytes: v1.0 -- 注释/附加/备注信息 v1.1 -- 前29 bytes注释/附加/备注信息,最后1 byte音轨信息 [127] 1 byte : 流派 从“标题”开始,每部分内容之间用'\0'(字符串结束标志)或'\20'(空格)隔开。 ID3 V2 表示的信息更丰富,结构更复杂,位于文件开始处或位于APE标签之后。ID3

Android的三种网络通讯方式详解

放肆的年华 提交于 2019-12-01 19:47:07
‍ 1.标准Java接口 java.net.*提供与联网有关的类,包括流、数据包套接字(socket)、Internet协议、常见Http处理等。比如:创建URL,以及URLConnection/HttpURLConnection对象、设置链接参数、链接到服务器、向服务器写数据、从服务器读取数据等通信。这些在Java网络编程中均有涉及,我们看一个简单的socket编程,实现服务器回发客户端信息。 下面用个例子来说明: A、客户端: 新建Android项目工程:SocketForAndroid(这个随意起名字了吧,我是以这个建立的!) 下面是main_activity.xml的代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android