叶凡网络:说说Servlet的Web应用程序

2014-01-10 10:52:11 | 新闻来源:叶凡网络 | 点击量:780

使用保守CGI编程很难做到例如将一个请求同客户关联起来,使用JavaServletAPI就能够实现一些很强大的功能。实现与客户之间有意义的对话。可以通过惯例的调用Java方法使用Servlet来访问表单和查询字符串数据,JavaServletAPI一个强大特性是其能够相对容易地处理表单数据。和传统CGI开发中四处寻找环境变量不同。

载入Servlet:Servlet引擎会调用Servletinit方法,这个方法在Servlet被加载的时候只会被调用一次,当Servlet被加载的时候。并把配置数据以ServletConfig类的实例的形式传送进来。ServletConfig对象包括有Servlet引擎和Servlet运行环境的信息。可以访问到这个数据,ServletConfig对象会向Servlet所操作的Web应用顺序公开初始化数据。使用getInitParametStringparamNam方法.

Servlet引擎就会调用这个方法。当Servlet所有的线程都卸载完毕或者超越了指定时间之后,Servlet类会公开一个方法—destroiServlet正常卸载的时候。这个方法就会被调用。被用来保存Servlet或者清除资源。

Servlet必需要能够处置来自多个客户的多个请求。由于任意数量的客户都会同时访问一个Servlet所以除了init之外的任何方法都必需以安全线程的方式被实现。下图是多个用户请求和单个Servlet实例之间的关系。

所以Servlet需要一种机制来确定是哪个客户发起哪个请求的用来识别客户请求身份最常用的机制是使用HTTPcookiHTTPcooki使用HTTP报头在浏览器客户和服务器之间传递的任意长度的信息。由于是一个Servlet处置多个用户的请求。

Servlet就会使用cooki里的信息确定是哪个客户,当Servlet接收到来自有cooki客户的请求。并由此智能地向客户回应。这看起来像是一个无足轻重的特性,但是把客户和基于 ServletWeb应用顺序之间的交互操作带进了一个新的空间。尤其,这个特性让Web应用顺序能够保管和恢复请求之间的客户状态。

而不是把客户限制在一次性的请求/回应的事务处理里。JavaServletAPI提供了一个叫做Cooki类,Servlet维护客户状态的能力能允许客户和基于ServletWeb应用顺序进行对话。能够被从请求里取回,也能被保存在回应里,这个类还能让你从cooki里获得信息或者设置信息。例如,ListC里的顺序段从请求里取回cooki打印每个cooki信息,或者创建新的cooki并把它添加到回应里。

面向ServletWeb应用顺序开发人员就能够有效地设计Web应用顺序,有了能够维持请求和回应之间客户状态的能力。这样的顺序能够在叫做会话的一段时间内和客户进行交互操作。会话能够被Servlet开发人员用来接收来自客户的数据,并根据先前请求和/或回应里接收到信息把数据传送给客户。这有助于开发高效的Web应用顺序,例如购物车、线银行和Web邮件。

开发人员可以在其中保管和取回任意对象,JavaServletAPI提供了一个叫做HttpSession类。这些对象里包括有和客户会话相关信息。对象作为名称/值被保存在HttpSession类里,并被从其中取回。

上一篇:叶凡网络:日本展开全新模式八年首访非洲 下一篇:【叶凡网络】习近平颁发奖励证书给张存浩和程开甲