SpringBoot自定义mvc配置和三大组件

该博客介绍了如何在Spring MVC中进行自定义配置,包括创建MyMvcConfig配置类实现WebMvcConfigurer接口来添加视图控制器。同时,展示了如何自定义Servlet、Filter和ServletContextListener三大组件,并通过ServletConfig类将它们注册到Spring容器中。这些配置和组件对于理解和扩展Spring MVC应用至关重要。
摘要由CSDN通过智能技术生成

1.mvc 配置

创建myMvcConfig配置类 实现WebMvcConfigurer接口

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/toLoginPage").setViewName("login");
        registry.addViewController("/").setViewName("login");
        registry.addViewController("/login.html").setViewName("login");
    }
}

2. 自定义三大组件

1. 自定义servlet 继承httpServelt

@Component
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("进入doGet方法");
        resp.getWriter().println("访问myServlet");
        this.doPost(req, resp);
    }

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

2.自定义filter 实现Filter接口

@Component
public class MyFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, 
    ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("过滤器---doFilter");
        filterChain.doFilter(servletRequest, servletResponse);
    }
}

3.自定义listenter 实现ServletContextListener接口

@Component
public class MyListenter implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("容器创建");
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("容器销毁");
    }
}

4.自定义myServlet配置类 将创建的组件加入到容器中

@Configuration
public class ServletConfig {

    @Bean
    public ServletRegistrationBean getServlet(MyServlet myServlet) {
        ServletRegistrationBean servletRegistrationBean =
                new ServletRegistrationBean(myServlet, "/myServlet");
        return servletRegistrationBean;
    }

    @Bean
    public FilterRegistrationBean getFilter(MyFilter filter) {
        FilterRegistrationBean registrationBean = new FilterRegistrationBean(filter);
        registrationBean.setUrlPatterns(Arrays.asList("/toLoginPage", "/myFilter"));
        return registrationBean;
    }
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值