Servlet 是用 Java 代码编写的服务器方软件程序,用于处理客户机和服务器之间的消息传递。Java Servlet API 为请求和响应消息定义了一个标准接口,这样 Servlets 就可以跨平台和跨不同的 Web 应用服务器间移植。
Servlet 可以通过动态构造一个发回客户机的响应来响应客户机请求。
由于 Servlet 是用 Java 编程语言编写的,它们可以访问整个 Java API 集合。这就使它们非常适合实现复杂的商业应用逻辑,特别是访问企业中其它位置的数据。Java Database Connectivity (JDBC) API 就是一个示例,它允许 Java 程序访问关系数据库(这已超出了本教程的范围)。由于没有与 Servlet 关联的图形,因此它不适合访问 GUI Java API (AWT)。
可以多次调用一个 Servlet 来响应来自多个客户机的请求。一个 Servlet 可以同时处理多个请求,并且可以使这些请求同步。Servlet 可以将请求转发到其它服务器和 Servlet。 

解决方案 »

  1.   

    JSP是Java Server Pages的缩写,是由 Sun公司1999于年推出的一种动态网页技术标准。
    JSP是基于Java Servlet 以及整个Java体系的Web开发技术,利用这一技术可以建立安全、
    跨平台的先进动态网站,这项技术还在不断的更新和优化中。你可能对Microsoft的ASP
    (Active Server Pages)比较熟悉,ASP也是一个Web服务器端的开发技术,可以开发出动
    态的、高性能的Web服务应用程序。JSP和ASP技术非常相似,ASP的编程语言是VBScript
    和JavaScript,JSP使用的是Java。与ASP相比,JSP以Java技术为基础,又在许多方面做
    了改进,具有动态页面与静态页面分离,能够脱离硬件平台的束缚,以及编译后运行等
    优点,完全克服了ASP的脚本级执行的缺点。我们相信JSP会逐渐成为Internet上的主流
    开发工具。
      

  2.   

    JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。我来胡扯几句吧。简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。 后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。 从网络三层结构的角度看,一个网络项目最少分三层:data layer,business layer, presentation layer。当然也可以更复杂。SERVLET用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer和business layer混在一起。就象前面那个朋友,把数据库处理信息放到JSP中,其实,它应该放在business layer中。 根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部份。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在JAVA BEANS中。通过JSP调用JAVA BEANS,实现两层的整合。 实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。 为什么要采用这些组件技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。 另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了。 综上所述,SERVLET是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,并且两层混杂。 所以,推出JSP+BAEN,用JSP写presentation layer,用BAEN写business layer。SUN自己的意思也是将来用JSP替代SERVLET。 可是,这不是说,学了SERVLET没用,实际上,你还是应该从SERVLET入门,再上JSP,再上JSP+BEAN。 强调的是:学了JSP,不会用JAVA BEAN并进行整合,等于没学。大家多花点力气在JSP+BEAN上。 在补充几句: 我们可以看到,当ASP+COM和JSP+BEAN都采用组件技术后,所有的组件都是先进行编译,并驻留内存,然后快速执行。所以,大家经常吹的SERVLET/JSP先编译驻内存后执行的速度优势就没有了。 反之,ASP+COM+IIS+NT紧密整合,应该会有较大的速度优势呈现。而且,ASP+COM+IIS+NT开发效率非常高,虽然BUG很多。 那么,为什么还用JSP+BEAN?因为JAVA实在前途远大。微软分拆后,操作系统将群雄并起,应用软件的开发商必定要找一个通用开发语言进行开发,JAVA一统天下的时机就到了。如果微软分拆顺利,从中分出的应用软件公司将成为JAVA的新领导者。目前的JAVA大头SUN和IBM都死气沉沉,令人失望。希望新公司能注入新活力。不过,新公司很有可能和旧SUN展开JAVA标准大战,双方各自制定标准,影响JAVA夸平台。 另外,现在的机器速度越来越快,JAVA的速度劣势很快就可以被克服。