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

时间:2022-03-19 21:24:28

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进行后处理。是个典型的处理链。

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmdob25namllMDMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

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。