JSP HTTP服务器系统分析

开发 后端
本文介绍JSP HTTP服务器系统分析,包括稳定性,扩展性,执行效率的合理性和优化和易用性等。

系统分析

通过以上的分析和说明,读者基本上已经了解如何定制自己所需要的JSP HTTP服务器。但是对这套JSP HTTP服务器体系特性的认识可能还存在一定模糊。这里我们再从以下几个方面分析该JSP HTTP服务器的特性。

1.稳定性

该JSP HTTP服务器很大程序上借助了java体系的代码健壮性和稳定性,对异常(Exception)的处理和异步请求的处理都较为合理。程序的稳定性得到一定保障。

提示:虽然java的异常机制有时候用起来可能确实让人感觉有些繁琐,但是对系统的稳定性起到的作用是举足轻重的。

2.扩展性

由于该系统利用java开发,使得该JSP HTTP服务器系统转移到其他平台(MS Windows,Linux,Solaris)的工作变得较为简单。笔者尝过将该代码转移到Solaris 8系统中,只是修改了文件路径分割符。
对于功能而言,用户可以任意扩展服务文件类型。扩展用户特有的JSP语法和命令。使得服务形式更符合用户使用特征。

提示:当前SUN公司发布的最新jdk版本为1.6.0,支持MS Windows,Linux,Solaris。

3.执行效率的合理性和优化

(1)巧妙地结合了Java体系的Class Loader技术,遵照“先载入,后使用”的原则,真正做到了“一次载入,多次重用”,从而大大较少了磁盘访问,提高了服务器端的执行效率。
(2)客户端请求处理的多线程构架,可以支持多客户端同时访问JSP HTTP服务器。如果使用线程池(Thread Pool)构建,可以更进一步提高客户端请求处理的效率。

4.易用性

通过系统介绍我们可以看出,该JSP HTTP服务器系统的设置比较简单。

(1)系统的设置(例如:服务页的目录,默认页,系统路径分隔符等)缩减为最简单化。
(2)自定义的JSP语法也是比较简单,易于普通用户使用。只要用户了解一定的java语法就可以编写jsp语法,就如同写java源文件一样简单,甚至比写Java Application要更为简单。一下是一个简单的jsp源文件的内容:

 

5.对原有系统的支持

本系统对CGI的支持也比较灵活,可以扩展为通过多种方式将参数传递给CGI进程。这样可以维持用户原有的CGI服务体系不变的基础上进行系统升级。

总结及补充

1.技术点总结

对于开发本JSP HTTP服务器,结合了很多知识,不仅要兼顾旧的标准(例如CGI,HTTP,MIME),而且也要兼顾新的技术(Class Loader,多线程),知识面涉及到很多。笔者认为主要包括如下几点:
(1)要具备一定的网络知识。例如对HTTP标准(RFC2680),MIME标准(RFC2046),CGI标准等。
(2)多线程技术,实时处理客户端请求,合理处理请求的并发。
(3)Java技术,包括进程间通信技术,Class Loader技术,编码解码等。
(4)对系统跨平台要有一定认识和经验。例如,笔者具有熟练的Windows平台和Solaris平台的开发经验。
(5)善于学习和分析其他类似系统。例如,笔者曾经对HTML,ISAPI,IIS,CGI,PHP,Apache,Tomcat和JSP进行过深入学习和分析。找出各个系统的有缺点,并尝试出解决方案。

2.不足之处

作为非商业设计,该JSP HTTP服务器体系设计还存在很多不足之处,出于时间的原因,笔者不可能近期对该系统进行完善。笔者认为需要改善的地方主要有:

(1)设计中没有考虑多语言的情况,虽然Java体系已经可以很方便地支持多语言系统。
(2)对于MIME的考虑不够完整,本JSP HTTP服务器系统中处理的MIME类型太过有限。
(3)自定义的JSP语法过于简单,很多硬性定义可能造成用户使用不方便。例如:对于JSP表达式一行只能存在一个表达式的规定。另外,提供给服务页的公共函数过于缺乏,可以提供很多功能函数给服务页面使用,这样就可以简化服务页的代码编写。
(4)直接在jsp文件目录中创建java,class等文件的做法比较危险,容易暴露服务器内容,应该考虑使用cache的构架,将中间文件和源文件隔离开来。

【编辑推荐】

  1. 浅析JSP HTTP服务器支持CGI
  2. 使用JSP页面生成PDF报表
  3. JSP自定义标签定义步骤
  4. 详解测试JSP容器
  5. 介绍JSP HTTP服务器实现的以下特性
责任编辑:佚名 来源: IT168
相关推荐

2009-12-31 14:41:20

RADIUS服务器

2009-07-03 13:05:47

JSP HTTP服务器

2009-07-06 17:46:25

JSP HTTP服务器

2009-07-06 17:56:12

JSP HTTP服务器

2009-07-06 17:34:38

JSP HTTP服务器

2009-07-06 17:25:22

JSP HTTP服务器

2009-07-06 14:05:11

JSP服务器

2009-07-02 17:17:03

2017-11-10 08:58:49

Web服务器应用程序

2017-06-30 10:36:27

Linux系统分析工具

2017-07-14 14:35:27

Linux中断系统

2009-10-12 12:46:55

Linux内核SCSI IO

2009-07-31 11:30:05

光缆线路监测

2009-07-06 18:02:34

JSP服务器

2013-12-17 09:42:53

Nginx性能分析http服务器

2015-08-17 09:46:45

大数据

2019-07-04 15:00:32

PythonHTTP服务器

2018-01-19 10:30:48

HTTP服务器代码

2019-08-22 15:26:24

HTTP服务器Python

2019-04-23 10:48:55

HTTPTomcat服务器
点赞
收藏

51CTO技术栈公众号