在SpringBoot中使用Servlet
MyServlet.java
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/my/*") // Servlet 3.0 的注解
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
resp.getWriter().print("my servlet");
}
}
在启动类上添加注解:@ServletComponentScan
@SpringBootApplication
@ServletComponentScan
public class SpringBootWebApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootWebApplication.class, args);
}
}
在SpringBoot中使用Filter
@WebFilter(“/*”)
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter("/*") // 比如拦截所有请求
public class LogFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("log filter --->:" + request.getRemoteHost());
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
在SpringBoot中使用Listener
@WebListener
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
/**
* 监听应用的启动或者停止
*
* @author Administrator
*
*/
@WebListener
public class MyContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("application startting....");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}