Sevlet

2018-07-11  本文已影响0人  lxian2shell

Servlet

init(ServletConfig config)
service(ServletRequest req, ServletResponse resp)
destroy()

ServletConfig

容器读取web.xml 生成Servlet的配置。可以获取init parameters (在<init-params></init-params> 中定义的参数)

String getServletName()
String getInitParameter(String var1)
Enumeration getInitParameterNames()
ServletContext getServletContext()

同时包含一个 ServletContext, 提供一个管理Application 级别的配置的界面

ServletContext

Filter

由Filter

init(FilterConfig filterConfig)
doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
destroy()

及FilterChain 共同构成

doFilter(ServletRequest request, ServletResponse response)

filterChain 调用相应的 filter, 将idx + 1, 将自己传入 filter.doFilter 中。filter.doFilter 中决定是否需要调用 filterChain.doFilter 继续将req, resp 传递下去。
FilterChain 维护了filter 的执行顺序,及最终filter 终点的servlet 调用。
Filter 则实现具体fitler 逻辑,可以在任意地方调用filterChain 将控制传递下去。

ServletRequest, ServletResponse

提供了一些获取request,response 的属性的方法。
提供了ServletInputStream,ServletOutputStream 令servlet 的实现者可以读取写入最下面的网络连接。

Servlet小结

提供了一系列的接口使得容器环境可以向servlet 传入配置,控制servlet的生命周期。
通过ServletRequest 和 ServletResponse 提供了ServletInputStream,ServletOutputStream 让servlet 来读入写出数据,封装了底层的网络实现。

上一篇下一篇

猜你喜欢

热点阅读