Servlet、Filter、Listener

Servlet

Servlet默认是单实例多线程的。在第一个请求到来时进行初始化。对每一个请求从线程池中取一个线程进行响应。Servlet不是线程安全的。

public interface Servlet {
    void init(ServletConfig var1) throws ServletException;

    ServletConfig getServletConfig();

    void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;

    String getServletInfo();

    void destroy();
}
  • SpringMVC中的DispatcherServlet
  <servlet>
        <servlet-name>chapter2</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>chapter2</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

Filter

Listener

SpringMVC中的Interceptor

基于Spring AOP
和filter有如下区别:
+ filter的过滤范围比interceptor大,filter除了过滤请求外通过通配符可以保护页面、图片、文件等,而interceptor只能过滤请求,只对action起作用,在action之前开始,在action完成后结束(如被拦截,不执行action);

猜你喜欢

转载自blog.csdn.net/define_us/article/details/80000620