内嵌servlet容器支持
Spring Boot支持内嵌的Tomcat, Jetty和Undertow服务器。多数开发者只需要使用合适的’Starter POM’来获取一个完全配置好的实例即可。默认情况下,内嵌的服务器会在8080端口监听HTTP请求。
如果您选择在CentOS上使用Tomcat,请注意,默认情况下,临时目录用于存储编译的JSP,文件上传等。tmpwatch当您的应用程序运行时,目录可能会被删除,从而导致故障。为了避免这种情况,您可能需要自定义tmpwatch配置,以便tomcat.* 不删除或配置目录server.tomcat.basedir,以便嵌入式Tomcat使用不同的位置
为应用添加Servlet,Filter或ServletContextListener
任何Servlet,Filter或者Servlet *Listener实例,它是一个Spring bean将与嵌入容器注册。如果您想application.properties在配置过程中引用一个值,这可能会非常方便。
默认情况下,如果上下文只包含一个Servlet,它将被映射到/。在多个Servlet bean的情况下,bean名称将用作路径前缀。过滤器将映射到/*。
如果以公约为基础测绘不够灵活,你可以使用 ServletRegistrationBean,FilterRegistrationBean而ServletListenerRegistrationBean 类的完全控制。
自定义filter
package com.lf.filter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Created by LF on 2017/4/17.
*/
@WebFilter(filterName="myFilter",urlPatterns="/*")
public class MyFilter implements Filter {
private static Logger logger = LoggerFactory.getLogger(MyFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String url = httpRequest.getRequestURI();
logger.info("请求的地址是{}", url);
chain.doFilter(httpRequest, httpResponse);
}
@Override<