5

springboot(4)添加Servlet、Listener、Filter

 2 years ago
source link: https://wakzz.cn/2018/01/22/springboot/(4)%E6%B7%BB%E5%8A%A0Servlet%E3%80%81Listener%E3%80%81Filter/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

springboot(4)添加Servlet、Listener、Filter

祈雨的博客
2018-01-22

1、添加注解支持

以下方式1中的方法,均需要向springboot的入口类添加注解@ServletComponentScan。添加该注解以后,以下注解才会生效:@WebServlet 、@WebListener、@WebFilter

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

@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");
}
}
@Bean
public ServletRegistrationBean servletRegistrationBean(){
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
servletRegistrationBean.addUrlMappings("/demo");
servletRegistrationBean.setServlet(new DemoServlet2());
return servletRegistrationBean;
}

3、Listener

@WebListener
public class TestListener implements ServletContextListener {

@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("contextInitialized");
}

@Override
public void contextDestroyed(ServletContextEvent sce) {
}

}
@Bean
public ServletListenerRegistrationBean servletListenerRegistrationBean(){
ServletListenerRegistrationBean servletListenerRegistrationBean = new ServletListenerRegistrationBean();
servletListenerRegistrationBean.setListener(new Log4jConfigListener());
servletListenerRegistrationBean.addInitParameter("log4jConfigLocation","classpath:log4j.properties");
return servletListenerRegistrationBean;
}

4、Filter

@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() {
}
}
@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;
}

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK