1、添加注解支持
以下方式1中的方法,均需要向springboot的入口类添加注解@ServletComponentScan。添加该注解以后,以下注解才会生效:@WebServlet 、@WebListener、@WebFilter
1 2 3 4 5 6 7 8 9 10 11 12 13
| package com.wxtx;
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan;
@ServletComponentScan @SpringBootApplication public class TXSpringBootApplication { public static void main(String[] args) { SpringApplication.run(TXSpringBootApplication.class, args); } }
|
2、Servlet
方式1:
1 2 3 4 5 6 7 8
| @WebServlet(name="testServlet",urlPatterns="/testServlet") public class TestServlet extends HttpServlet {
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().write("hello world"); } }
|
方式2:
1 2 3 4 5 6 7
| @Bean public ServletRegistrationBean servletRegistrationBean(){ ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(); servletRegistrationBean.addUrlMappings("/demo"); servletRegistrationBean.setServlet(new DemoServlet2()); return servletRegistrationBean; }
|
3、Listener
方式1:
1 2 3 4 5 6 7 8 9 10 11 12 13
| @WebListener public class TestListener implements ServletContextListener {
@Override public void contextInitialized(ServletContextEvent sce) { System.out.println("contextInitialized"); }
@Override public void contextDestroyed(ServletContextEvent sce) { }
}
|
方式2:
1 2 3 4 5 6 7
| @Bean public ServletListenerRegistrationBean servletListenerRegistrationBean(){ ServletListenerRegistrationBean servletListenerRegistrationBean = new ServletListenerRegistrationBean(); servletListenerRegistrationBean.setListener(new Log4jConfigListener()); servletListenerRegistrationBean.addInitParameter("log4jConfigLocation","classpath:log4j.properties"); return servletListenerRegistrationBean; }
|
4、Filter
方式1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| @WebFilter(urlPatterns="/*") public class TestFilter implements Filter {
@Override public void init(FilterConfig filterConfig) throws ServletException { }
@Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; System.out.println(request.getRemoteAddr()); chain.doFilter(req, resp); }
@Override public void destroy() { } }
|
方式2:
1 2 3 4 5 6 7 8 9
| @Bean public FilterRegistrationBean filterRegistrationBean(){ FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(new OpenSessionInViewFilter()); Set<String> set = new HashSet<String>(); set.add("/"); filterRegistrationBean.setUrlPatterns(set); return filterRegistrationBean; }
|