注册Servlet三大组件(servlet、Filter、Listener)
由于SpringBoot默认是以jar包的方式启动嵌入式Servlet容器来启动SpringBoot的web应用,没有web.xml文件
注册三大组件用以下方式:
ServletRegistrationBean
FilterRegistrationBean
ServletListenerRegistrationBean
@Configuration
public class MyMvcConfig extends WebMvcConfigurationSupport {
@Bean
public ServletRegistrationBean myServlet(){
ServletRegistrationBean registrationBean = new ServletRegistrationBean(new MyServlet(),"/hello");
return registrationBean;
}
}
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPost");
}
}
这是注册servlet,其他两个注册器同样方式
使用其他Servlet容器
默认是使用tomcat
Jetty(长连接) 时使用即聊天程序
Undertow(不支持jsp),但性能高,并发无阻塞
//把tomcat引入的jar包排除,然后引入jetty即可,undertow类似
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>