峰哥说技术系列-11Spring Boot整合web基础组件


峰哥说技术系列-11Spring Boot整合web基础组件

今日份主题‘

Spring Boot整合web基础组件(Servlet、Filter、Listener)

一般情况下,使用了Spring MVC这些框架后,基本上就不会再去使用Servlet、Filter和Listener这些web组件。但是有时候需要使用第三方的框架,就可能需要使用。比如在使用报表插件的时候,可能就需要使用这些web组件。这也是我们在这里讲解的原因之一。 它们的整合非常简单,可以在工程中直接定义Servlet、Filter和Listener,不需要使用web.xml,也不需要加任何的依赖。最后就是在启动类中添加注解@ServletComponentScan。这个注解可以扫描这三种类型的web组件。下面用一个案例来说明。

案例

新建一个工程,在工程中使用web基础组件,并进行测试。

步骤.01

创建工程chapter04-webcomponent,添加web依赖


峰哥说技术系列-11Spring Boot整合web基础组件


峰哥说技术系列-11Spring Boot整合web基础组件


02.创建Servlet

@WebServlet(urlPatterns = "/hello_servlet")public class HelloServlet 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("hello,Servlet");


}
}



03.创建Filter

@WebFilter

public class HelloFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("hello Filter init");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("hello Filter doFilter");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
System.out.println("hello Filter destroy");
}
}



04.创建Listener

@WebListener
public class HelloHttpSessionListener implements ServletRequestListener {
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("HelloHttpSessionListener requestDestroyed");
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("HelloHttpSessionListener requestInitialized");
}
}



05.在启动类添加注解@ServletComponentScan

@SpringBootApplication
@ServletComponentScan(basePackages= "com.java.chapter04webcomponent.webcomponent")
public class Chapter04WebcomponentApplication {
public static void main(String[] args) {
SpringApplication.run(Chapter04WebcomponentApplication.class, args);
}
}



06.启动项目,可以看到如下结果。


峰哥说技术系列-11Spring Boot整合web基础组件

大家可以看到过滤器初始化。然后在浏览器中输入:http://localhost:8080/hello_servlet

大家可以看到监听器、过滤器、servlet都发挥了作用了。


峰哥说技术系列-11Spring Boot整合web基础组件

经过峰哥耐心的解说,估计大家对这个问题一定有了全新的认识。大家在平时的学习中如果有类似的疑问,都可以提出来,在后台留言即可。峰哥看到后,觉得有价值,会以文章的形式专门说明。



分享到:


相關文章: