HttpServlet为什么要实现serializable?在什么情况下,servlet会被序列化? 如果未显示定义serialVersionUID,系统会用什么算法给指定一个?
通过注解或servlet声明都能控制 servlet 容器如何提供 servlet 实例。
只调用一次。在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化。
验证请求的Token合法性的Filter。Token校验失败时,直接抛自定义异常,移交给Spring处理:
使用 @Order,期望 TimeCostFilter 先被执行,因为TimeCostFilter原本设计是统计这个接口性能,所以需要统计AuthFilter执行的授权过程。
该过滤器标记了 @WebFilter。所以启动程序加上扫描注解 @ServletComponentScan 让其生效:
类似Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理。
Spring Boot在内部启动了一个嵌入式Web容器。 Tomcat是组件化设计,所以就是启动这些组件。
当一个新请求到达,Tomcat会从线程池取一个线程处理,该线程会调用你的Web应用,Web应用在处理请求过程中,Tomcat线程会一直阻塞,直到Web应用处理完,才输出响应,最后Tomcat回收该线程。...
加载Servlet的类不等于创建Servlet实例,Tomcat先加载Servlet的类,然后还得在Java堆创建Servlet实例。