论文部分内容阅读
摘要:在现在的商业软件开发领域,越来越多的公司使用J2EE架构来开发商用软件。J2EE架构有很多自身的优势。在J2EE架构所包含的众多技术中,如何选择合适与应用的技术来使我们的软件开发达到最好的效果是一个很值得研究的问题。有些开发人员倾向于使用最新的技术,但是在很多情况下我们应该根据项目的具体情况选择技术。该文用一个真实的商用软件开发来展示如何根据项目需求在有限资源下帮助项目达到最大的效率。
全文查看链接
接下来我要详细地分析一下如何有效地构建服务端的结构。在构建服务端架构时,SERVLET成为了第一选择。SERVLET是J2EE架构中负责处理服务器端的通信任务。而applet和SERVLET之间有自己一套独特的通信方式。这套独特的通讯方式使用起来比较简单同时又非常的高效。对于为远程客户机提供服务的服务器来说有两个最主要的职责。第一个是处理网络连接,第二个是负责对发起连接的客户机产生相应的回应。对于第一个职责来说牵涉到了socket上的编程,系统需要从每个请求中获取相应的信息,实现客户端和服务端通信的相关协议,比如HTTP或者FTP协议等。而对于第二个任务来说,产生相应的方式就有很多种了,主要是根据所采用的传输协议不同。如果服务器采用FTP协议,那么产生的回应就相应来说比较简单,只需要把文件存放在客户机的制定位置即可。而对于采用HTTP作为传输协议服务器来说,服务器的功能比较齐全,所以产生回应的方式就相对复杂很多。服务器必须动态的产生回应。产生动态回应就涉及到了很多复杂的任务,包括从数据库存取数据,应用复杂的商业逻辑,生成不同用户需要的输出格式等等。在构造HTTP服务器时,一种办法是把所有的业务逻辑编写成一个可执行的程序部署在服务端。这个可执行的程序复杂处理,包括管理网络连接,存储数据,产生回应等。但是对于处理企业级应用的HTTP服务器来说,我们需要服务器有很高的灵活性能够应付复杂的业务扩展,如果我们用一个可执行文件处理所有的这些任务,当业务需要扩展的时候我们需要对我们的代码进行彻底的更改,这是我们不希望看到的。在这种情况下,SERVLET可以很好的完成我们的任务。SERVLET是使用Java SERVLET应用程序设计接口及相关类和方法的Java程序。它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。Java SERVLET对于Web服务器就好像Java Applet对于Web浏览器。Applet装入Web浏览器并在Web浏览器内执行,而SERVLET则是装入Web服务器并在Web服务器内執行。Java SERVLET API 定义了SERVLET和服务器之间的一个标准接口,这使得SERVLET具有跨服务器平台的特性。SERVLET通过创建一个框架扩展服务器的能力,采用请求-响应模式提供Web服务。当客户机发送请求至服务器时,服务器将请求信息发送给SERVLET,SERVLET生成响应内容并将其传给Server,然后再由Server将响应返回给客户端。在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而使用SERVLET时,服务器上仅有一个Java虚拟机在运行,只有当SERVLET被调用时,它才被加载,且直到SERVLET更改时,它才会被再次加载。在传统CGI中,如果有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于SERVLET,处理请求的是N个线程,只需要一份SERVLET类代码。在性能优化方面,SERVLET也比CGI有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动,等等。 通过使用SERVLET API,开发人员不必担心服务器的内部运作方式。表格资料、服务器头、cookies等皆可通过SERVLET处理。另外,因为SERVLET是用Java写的,能将其从一个服务器移到另一个服务器以供发布,同时不必担心操作系统或服务器的类型。这一优点充分体现了Java"一次编写,随处运行"的优越特性。图2显示了SERVLET的生命周期。
全文查看链接
SERVLETConnection.setDoInput(true);
全文查看链接