对于一个Java人员来说,Servlet知识很重要,不仅企业面试时会问,在日常的项目中也有着举足轻重的作用。接下来的郑州Java学习进阶课,小编就给大家简单汇总Servlet入门知识。 Servlet是什么? Servlet是基于Java技术的Web组件,由容器管理并产生动态的内容。Servlet与客户端通过Servlet容器实现的请求/响应模型进行交互。注意:Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载。 Servlet的特点是什么? 1)高效。在服务器上仅有一个Java虚拟机在运行,它的优势在于当多个来自客户端的请求进行访问时,Servlet为每个请求分配一个线程而不是进程。 2)方便。Servlet提供了大量的实用工具例程,例如处理很难完成的HTML表单数据、读取和设置HTTP头、处理Cookie和跟踪会话等。 3)跨平台。Servlet是用Java类编写的,它可以在不同的操作系统平台和不同的应用服务器平台下运行。 4)灵活性和可扩展性。采用Servlet开发的Web应用程序,由于Java类的继承性、构造函数等特点,使得其应用灵活,可随意扩展。 5)共享数据。Servlet之间通过共享数据可以很容易地实现数据库连接池。它能方便地实现管理用户请求,简化Session和获取前一页面信息的操作。 6)安全。有些CGI版本有明显的安全弱点。即使是使用最新的标准和PERL等语言,系统也没有基本安全框架。而Java定义有完整的安全机制,包括SSL\CA认证、安全政策等规范。 Servlet的功能是什么? 当启动Web服务器或客户机第一次请求服务时,可以自动装入Servlet,之后,Servlet继续运行直到其他客户机发出请求。Servlet的功能涉及范围很广: 1)创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面; 2)创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段); 3)与其他服务器资源(包括数据库和基于Java的应用程序)进行通信; 4)用多个客户机处理连接,接收多个客户机的输入,并将结果传递到多个客户机上,例如,Servlet可以是多参与者的游戏服务器; 5)当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态;当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接,可以通过定制协议进行通信; 6)将订制的处理提供给所有服务器的标准程序。 Servlet层级关系: Servlet(接口)-->GenericServlet(抽象类,与协议无关的Servlet)-->HttpServlet(抽象类,实现了Http协议的Servlet)-->Custom Servlet(自定义的Servlet) Servlet的工作过程: 1)在客户端对web服务器发出请求。 2)web服务器接收到请求后将其发送给Servlet。 3)Servlet容器为此产生一个实例对象并调用ServletAPI中相应的方法来对客户端HTTP请求进行处理,然后将处理的响应结果返回给WEB服务器。 4)web服务器将从Servlet实例对象中收到的响应结构发送回客户端。 |
|
来自: 千锋Python学堂 > 《程序员经验分享》