1.Springboot注册web:
<1.> 什么是web的三个组件?
Servlet和Filter以及Linstener监听器。
<2.>为什么要注册这三个组件呢?
因为后面springboot有可能要集成第三方框架,而第三方框架的底层可能就依赖于过滤器或者servlet.
<3.>如何注册呢?
思考: 早期:
<1>Servlet类
<2>注册到Tomcat容器web.xml
<servlet>
<servlet-name></servlet-name>
<servlet-class>Servlet类</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
</url-parterrn>/</url-parterrn>
</servlet-mapping>
创建一个配置类:
@Configuration //该类为配置类 xml文件
public class MyConfig {
@Bean //理解为配置文件中<bean >
public ServletRegistrationBean<Servlet> registrationBean(){
//创建一个Servlet注册器.
ServletRegistrationBean<Servlet> registrationBean=new ServletRegistrationBean<>();
registrationBean.setName("my");
registrationBean.setServlet(new MyServlet());
registrationBean.addUrlMappings("/my");
return registrationBean;
}
}
以前如何注册过滤器: web.xml
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
</filter>
<filter-mapping>
<filter-name></filter-name>
<url-partter></url-partter>
</filter-mapping>
现在:
@Bean
public FilterRegistrationBean<Filter> filterRegistrationBean(){
FilterRegistrationBean<Filter> filterRegistrationBean=new FilterRegistrationBean<>();
filterRegistrationBean.setName("myfilter");
filterRegistrationBean.setFilter(new MyFilter());
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}