概念:Servlet是采用Java语言编写的服务器端程序,运行于Web服务器中的Servlet容器中,主要功能是请求和响应web服务模式,可以生产动态的web内容。
优点:
- 较好的移植性。由于Java语言具有跨平台和可移植性强的特点,使得Servlet也有较好的可移植性,无需修改代码就可以部署到多种不同类型的web服务器上。
- 执行效率高。Servelt针对每个请求创建一个线程来执行,响应效率高。
- 功能强大。Servlet 可以与web服务器进行交互
- 使用方便。Servlet提供了许多有用接口用来读取或设置HTTP头消息,处理Cookie跟踪会话状态。
- 可扩展性强。由于Servlet由Java语言编写,因此具备Java语言的所有优点。
Servlet处理客户请求的步骤
- 用户通过单击一个链接向Servlet发起请求。
- Web服务器接收到请求后会把该请求交给相应的容器来处理(最常用的容器是Tomcat),当容器发现这是对Servlet发起的请求后,容器会创建两个对象:HTTPServletResponse和HTTPServletRequest。
- 容器根据请求消息中的URL消息找到对应的Servlet,然后针对该请求创建一个单独的线程,同时把第2步中创建的两个对象以参数的形式传递到新创建的线程中。
- 容器调用Servlet的service()方法唉完成对用户请求的响应,service()方法调用doPost()和doGet()方法来完成具体的响应任务,同时把生成的动态页面返回给容器。
- 容器把响应的消息封装成HTTP格式给客户端。此时线程运行结束,删除第2步创建的两个对象。