J2EE的13个规范之(三) Servlet简单介绍

       Servlet是一种server端脚本,它是一个特殊的Java类,继承自HttpServlet。开发中主要用于处理和响应client的请求。

       Servlet在容器中执行,事实上例的和销毁创建由容器进行控制。

每一个Servlet的执行都遵循例如以下生命周期:

       (1)(容器)创建Servlet实例。

       (2)init(初始化。显示相关Servlet实例信息,如log)。

       (3)Service(处理和响应请求。如接受表单请求參数并进行请求转发)。

       (4)destroy(销毁。释放资源)。

 

       将Servlet(即java类)编译成class文件。容器载入class文件。为了能让Servlet能处理用户请求。必需要将Servlet配置在web应用中。在web.xml中进行配置。配置Servlet需要配置两个部分:

       (1).配置Servlet的名字。

       (2).配置Servlet的URL映射。

 

Filter

        Filter并非一个标准的Servlet。它不能处理用户请求,也不能对client生成响应。主要用于HttpServletRequest进行预处理,也能够对HttpServletResponse进行后处理。是个典型的处理链。

       

        Servlet通常仅仅配置一个url,而Filter能够同一时候拦截多个请求的url创建Filter必须实现javax.servlet.Filter接口。该接口定义了三个方法:

       (1)voidinit(FilterConfig config)

       (2)voiddestroy()

       (3)void doFilter(HttpServletRequest request, HttpServletResponseresponse, FilterChain chain),实现过滤。就是对用户请求和响应添加额外处理。

在过滤器開始执行之后。wen容器每接收到与该过滤器URL模式相匹配的URL时,就会调用这种方法。

        Servlet执行于支持Java的应用server中。从实现上讲,Servlet能够响应不论什么类型的请求。但绝大多数情况下Servlet仅仅用来扩展基于HTTP协议的Webserver。

最早支持Servlet标准的是JavaSoft的Java Web Server。

此后。一些其他的基于Java的Webserver開始支持标准的Servlet。

原文地址:https://www.cnblogs.com/lcchuguo/p/5341623.html