论文部分内容阅读
摘要:在云计算里,服务器的体积因素是非常重要的。轻量级Web服务器的开发和设计能够满足云计算服务器体积较小且足够灵活的要求。本文对系统实现所用到的技术做了详细的研究与说明。
关键词:Web容器 多线程 技术
轻量级Web服务器的开发和设计涉及到Java以及网络的相关技术,其中主要包含Java语言,HTTP协议,Servlet规范方面的相关技术。能否很好的理解使用这些相关的技术,直接影响到该系统能否有效地完成,系统是否能够拥有很好的性能。
1、HTTP技术
HTTP技术的特点有支持客户/服务器模式、简单快速灵活、无连接、无状态、元信息等,一次HTTP操作称为一个事务,工作过程可分为四步:首先建立连接,单击某个超链接,客户端与服务器端的连接建立,HTTP工作开始;建立连接后,客户端发送一个请求给服务器端,请求方式的格式为:URL、协议版本号,后边是请求修饰符、客户机信息以及一些可能的内容;服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是服务器信息、实体信息和可能的内容;客户端接收到服务器所返回的信息,并通过浏览器显示在用户的显示屏上,然后客户端与服务器断开连接。
2、Servlet相关技术
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面,担当客户请求与服务器响应的中间层。Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Servlet可完成如下功能:创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面;创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段);与其它服务器资源(包括数据库和基于Java 的应用程序)进行通信;用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上;当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态,当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接,可以通过定制协议或标准(如IIOP)进行通信;对特殊的处理采用 MIME 类型过滤数据;将定制的处理提供给所有服务器的标准例行程序,例如,Servlet 可以修改如何认证用户。
3、多线程技术
多线程设计技术的优点:响应能力-多线程处理一个交互应用程序的时候,当线程的一部分被阻塞的时候,该应用程序还能继续运行,因此对用户增强了响应能力;资源共享-线程共享它们所属进程的内存和资源。共享的好处就是一个应用程序可以有多个拥有相同地址空间的不同线程在运行;节约-为进程的创建分配内存和资源是很昂贵的开销,因为线程共享它们所属的进程的资源,所以在创建和上下文转换线程的时候就要节约很多;多进程结构体系的利用-多进程结构体系因为可以让进程在不同的进程中并行执行而可以充分发挥多线程的优点,在一个单线程结构体系中,CPU在不同的线程之间快速转换,让线程看起来好像是并行执行的,但实际上在一个时刻中只有一个线程在执行。
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。
4、Java语言
Java是新一代面向对象程序设计语言,特别适合于Internet应用程序开发,较通用的编译环境有JDK(Java Develop Kit)与JWS(Java Workshop)。特点:语言简单、面向对象、分布式环境、结构中立、安全性、可移植性、高性能 多线程等。
5、开发环境
5.1 Eclipse
Eclipse是一个开放源代码的、基于Java 的可扩展开发平台,是著名的跨平台的自由集成开发环境(IDE),附带一个标准的插件集包括 Java 开发工具JDT,用来开发Java语言,甚至通过插件使其作为其他计算机语言比如C++和Python的开发工具,灵活性较强。Eclipse专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台,主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目组成,具体包括四个部分组成—Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供一个通用的开发平台,提供建造块和构造并运行集成软件开发工具的基础,允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,可以一次下载,提供一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。
5.2 SVN版本管理
SVN 能够对数据的创建时间、拥有者、修改者及其修改时间和数据本身进行记录,并能够恢复其到早期版本,或者检查数据修改历史,这些数据可以是源代码,也可以是其他类型文件。能够解决以下问题:1.由于实际开发过程,无论是选择瀑布,螺旋或者别的开发模型,总会有需求变更,重复出现等现象;2.团队开发过程中,同一目录,同一功能里多个成员协同开发,造成各自代码之间相互影响与冲突;3.Bug调试:修改时查看历史代码,追查bug来源;4.代码优化。
轻量级Web服务器的开发和设计使用了独立的SVN服务器作为服务器端对整个工程提供版本管理服务,开发人员独立拥有一台电脑装载SVN客户端并给Eclipse装载SVN插件,以及一个唯一的账号。
参考文献
[1] 林铁瀛.Java语言多线程技术应用研究[J].科技创新导报.2011(11)
关键词:Web容器 多线程 技术
轻量级Web服务器的开发和设计涉及到Java以及网络的相关技术,其中主要包含Java语言,HTTP协议,Servlet规范方面的相关技术。能否很好的理解使用这些相关的技术,直接影响到该系统能否有效地完成,系统是否能够拥有很好的性能。
1、HTTP技术
HTTP技术的特点有支持客户/服务器模式、简单快速灵活、无连接、无状态、元信息等,一次HTTP操作称为一个事务,工作过程可分为四步:首先建立连接,单击某个超链接,客户端与服务器端的连接建立,HTTP工作开始;建立连接后,客户端发送一个请求给服务器端,请求方式的格式为:URL、协议版本号,后边是请求修饰符、客户机信息以及一些可能的内容;服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是服务器信息、实体信息和可能的内容;客户端接收到服务器所返回的信息,并通过浏览器显示在用户的显示屏上,然后客户端与服务器断开连接。
2、Servlet相关技术
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面,担当客户请求与服务器响应的中间层。Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Servlet可完成如下功能:创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面;创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段);与其它服务器资源(包括数据库和基于Java 的应用程序)进行通信;用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上;当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态,当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接,可以通过定制协议或标准(如IIOP)进行通信;对特殊的处理采用 MIME 类型过滤数据;将定制的处理提供给所有服务器的标准例行程序,例如,Servlet 可以修改如何认证用户。
3、多线程技术
多线程设计技术的优点:响应能力-多线程处理一个交互应用程序的时候,当线程的一部分被阻塞的时候,该应用程序还能继续运行,因此对用户增强了响应能力;资源共享-线程共享它们所属进程的内存和资源。共享的好处就是一个应用程序可以有多个拥有相同地址空间的不同线程在运行;节约-为进程的创建分配内存和资源是很昂贵的开销,因为线程共享它们所属的进程的资源,所以在创建和上下文转换线程的时候就要节约很多;多进程结构体系的利用-多进程结构体系因为可以让进程在不同的进程中并行执行而可以充分发挥多线程的优点,在一个单线程结构体系中,CPU在不同的线程之间快速转换,让线程看起来好像是并行执行的,但实际上在一个时刻中只有一个线程在执行。
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。
4、Java语言
Java是新一代面向对象程序设计语言,特别适合于Internet应用程序开发,较通用的编译环境有JDK(Java Develop Kit)与JWS(Java Workshop)。特点:语言简单、面向对象、分布式环境、结构中立、安全性、可移植性、高性能 多线程等。
5、开发环境
5.1 Eclipse
Eclipse是一个开放源代码的、基于Java 的可扩展开发平台,是著名的跨平台的自由集成开发环境(IDE),附带一个标准的插件集包括 Java 开发工具JDT,用来开发Java语言,甚至通过插件使其作为其他计算机语言比如C++和Python的开发工具,灵活性较强。Eclipse专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台,主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目组成,具体包括四个部分组成—Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供一个通用的开发平台,提供建造块和构造并运行集成软件开发工具的基础,允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,可以一次下载,提供一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。
5.2 SVN版本管理
SVN 能够对数据的创建时间、拥有者、修改者及其修改时间和数据本身进行记录,并能够恢复其到早期版本,或者检查数据修改历史,这些数据可以是源代码,也可以是其他类型文件。能够解决以下问题:1.由于实际开发过程,无论是选择瀑布,螺旋或者别的开发模型,总会有需求变更,重复出现等现象;2.团队开发过程中,同一目录,同一功能里多个成员协同开发,造成各自代码之间相互影响与冲突;3.Bug调试:修改时查看历史代码,追查bug来源;4.代码优化。
轻量级Web服务器的开发和设计使用了独立的SVN服务器作为服务器端对整个工程提供版本管理服务,开发人员独立拥有一台电脑装载SVN客户端并给Eclipse装载SVN插件,以及一个唯一的账号。
参考文献
[1] 林铁瀛.Java语言多线程技术应用研究[J].科技创新导报.2011(11)