Spring-Boot注册web三大组件Servlet、Filter和 Listener

Spring-Boot注册web三大组件Servlet、Filter和 Listener

Spirng-Boot 注册servlet
创建一个config.java文件

package com.xlh.config;

import com.xlh.servelet.MyServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class MyConfig {

    @Bean
    public ServletRegistrationBean servletBean(){
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
        servletRegistrationBean.setServlet(new MyServlet());
        servletRegistrationBean.setName("myServlet");
        servletRegistrationBean.addUrlMappings("/my");
        return servletRegistrationBean;
    }



}

创建一个servlet.java测试我们的前面写的config文件是否管用
package com.xlh.servelet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get被调用了");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service被调用了");
    }
}

最后通过controller层来访问路径查看Servlet的doGet和doPost方法是否被调用
在这里插入图片描述在这里插入图片描述
Spirng-Boot 注册Filter

创建一个Filter config文件

@Bean
    public FilterRegistrationBean filterBean(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setName("myFilter");
        filterRegistrationBean.setFilter(new MyFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        return filterRegistrationBean;
    }

创建一个MyFilter.java文件

package com.xlh.servelet;

import javax.servlet.*;

import java.io.IOException;


public class MyFilter implements Filter {

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

        System.out.println("经过过滤器");

        filterChain.doFilter(servletRequest,servletResponse);


    }
}

在这里插入图片描述Spirng-Boot 注册Listener

创建一个Listener config文件

 @Bean
    public ServletListenerRegistrationBean configContextListener() {
        ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean();
        bean.setListener(new ConfigContextListener());
        return bean;
    }

创建一个Listener.java文件

package com.xlh.servelet;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class ConfigContextListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("config context 监听开启");
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("java context 销毁");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2、对Spring Boot项目进行打包,可以在项目pom.xml文件中加入Maven打包插件 。 3、答案解析:IDEA开发工具对项目打包后,会在项目的 目录查看打成的包文件。 4、Spring Boot中自定义国际化文件区域信息解析器时,可以定制一个实现 接口的解析器类。 5、在Spring Boot中,使用路径扫描的方式整合内嵌式Servlet容器的ServletFilterListener三大组件时,需要在自定义组件上添加 、 和 注解进行声明。 6、Spring Boot区域信息解析器源码中是通过请求头中的 来确定具体需要使用哪种国际化语言文件的。 7、spring.thymeleaf.suffix指定了Thymeleaf模板页面的名称后缀,默认为 。 8、Spring Boot整合Redis时,需要添加 依赖启动器。 9、Spring Boot应用的启动类上标记有 注解。 10、使用@ConfigurationProperties注解注入属性值,可以添加Spring Boot提供的配置处理器依 赖 。 11、Windows下Redis安装包解压后包括一个服务启动指令: 。 12、构建Spring Boot项目选择Web依赖后,项目pom.xml中出现 和 两个核心依赖。 13、使用Spring Initializr方式构建Spring Boot项目默认以 方式打包。 14、Spring Boot整合Spring MVC实现Web开发,需要引入依赖启动器 。 15、Spring Boot中配置国际化文件,文件后缀名必须为 。 16、Spring Boot中可以通过使用 属性选择激活对应的多环境配置文件。 17、<form>表单中进行文件上传时,必须设置enctype= 。
最新发布
06-02

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值