互联网科技程序员

Spring boot学习 (七) 之servlet、filte

2018-11-30  本文已影响2人  xml_

前言

使用Spring-Boot,可以通过扫描注解的方式注册Servlet、Filterlistener。在 启动类 上使用@ServletComponentScan注解后,Servlet、Filter、Listener 可以分别通过 @WebServlet、@WebFilter、@WebListener注解自动注册,整体来说还是很简单的,下面一起来学习一下。

正文

一,servlet的注册

@SpringBootApplication
@ServletComponentScan
public class Chapter1Application {
      public static void main(String[] args) {
        SpringApplication.run(Chapter1Application.class, args);
    }
}
/**
 * @author merlin.xu
 * @create 2018-11-30-11:34
 */
@WebServlet(urlPatterns="/*", description="说明") 
public class MyServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("》》》》》》doPost方法执行》》》》》》");

    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("》》》》》》doGet方法执行》》》》》》");
        doPost(req, resp);
  }

    @Override
    public void init() throws ServletException {
        super.init();
        System.out.println("servlet初始化");
    }

    @Override
    public void destroy() {
        super.destroy();
        System.out.println("servlet被销毁");
    }
}

二,Filter的注册

/**
 * @author merlin.xu
 * @create 2018-11-28-17:08
 * @WebFilter将一个实现了javax.servlet.Filter接口的类定义为过滤器
 * 属性filterName声明过滤器的名称,可选
 * 属性urlPatterns指定要过滤 的URL模式,也可使用属性value来声明.(指定要过滤的URL模式是必选属性)
 */
@WebFilter(filterName="myFilter",urlPatterns="/*")
public class MyFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("过滤器初始化");

    }

    @Override
    public void destroy() {
        System.out.println("过滤器被销毁");

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

        System.out.println("执行过滤操作");
        filterChain.doFilter(servletRequest, servletResponse);

    }
}

三,Listener的注册

/**
 * 监听Session的创建与销毁
 * @author merlin.xu
 * @create 2018-11-29-10:40
 */
@WebListener
public class MyHttpSessionListener implements HttpSessionListener {
    @Override
    public void sessionCreated(HttpSessionEvent se) {

        System.out.println("监听器sessiom被创建");
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        System.out.println("监听器session被摧毁");

    }
}

结果

监听器初始化
过滤器初始化
servlet初始化
执行过滤操作
》》》》》》doGet方法执行》》》》》》
》》》》》》doPost方法执行》》》》》》

原创作者:梦凌小样
作品链接:https://www.jianshu.com/p/af6ecc629320【原创不易,转载请注明出处,感谢理解】
一位爱生活,爱创作,爱分享,爱自己的90后女程序员一枚,记录工作中的点点滴滴,一起学习,共同进步,期待能和优秀的您交上朋友

上一篇下一篇

猜你喜欢

热点阅读