springboot中三大web组件

  • 三大组件是什么?
    1 Servlet
    2 Filter
    3 Listener
- springboot项目如何注册三个组件
1 /*spring boot 注册servlet组件来进行请求访问*/
@WebServlet("/firstServlet")
public class FirstServlet extends HttpServlet {


    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /** 获取session 才可以触发session监听器*/
        HttpSession session = req.getSession(true);
        System.out.println(session);
        System.out.println("这个是get请求");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("这个是post请求");
    }
}
-- 注意启动类上
@SpringBootApplication
@EnableScheduling//开启定时任务注解
@ServletComponentScan//开启web组件扫描
public class SpringbootmybatisApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootmybatisApplication.class,args);

    }
}
2 创建一个过滤器
/* 过滤器 设置过滤路径
* 拦截方式 /* 拦截所有请求 或是可以拦截指定请求路径
*
* */
@WebFilter(urlPatterns = {"/firstServlet","/html/*"})
public class FirstFilter 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("进入filter...");
        /** tomcat创建Servlet对象,调用init方法
         * tomcata创建出Request和Response并传递给service方法
         * request对象用来接收请求数据,response对象是响应给浏览器的数据对象
         * 关系 ServletRequest -> httpServletRequest -> 是实现类
         *
        * */
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        String method = request.getMethod();
        String contextPath = request.getContextPath();
        StringBuffer requestURL = request.getRequestURL();
        String remoteAddr = request.getRemoteAddr();
        request.setCharacterEncoding("utf-8");
        request.setAttribute("请求","参数");
        System.out.println("输出信息"+method+contextPath+requestURL+remoteAddr);

        //放行
        filterChain.doFilter(servletRequest,servletResponse);
        System.out.println("离开filter...");
    }
}
3 创建一个监听器
/**监听器
 * 只初始化一次 应用启动而启动 工作做一些初始化工作
 * 有三种监听器
 * 1监听应用
 * 2 监听session
 * 3 监听请求
 * 监听session 可以统计在线人数
 * */
@WebListener
public class FirstListener implements HttpSessionListener, HttpSessionAttributeListener {
   private static int num = 0;

    @Override
    public void sessionCreated(HttpSessionEvent se) {
        System.out.println("打开了一个session");
        num++;
        System.out.println(num);
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        System.out.println("关闭了session");
        num--;
        System.out.println(num);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个开源的Java框架,它可以帮助开发者快速搭建和配置基于Spring的应用程序。Spring Boot提供了许多内置的组件,可以简化开发过程并提高生产力。下面是一些常用的Spring Boot组件: 1. 自动配置(Auto-configuration):Spring Boot根据应用程序的类路径和已有的配置自动配置各种常见的功能,如数据库连接、Web服务等。开发人员只需少量的配置,即可获得一个可运行的应用程序。 2. 起步依赖(Starter Dependencies):Spring Boot提供了一系列预定义的依赖关系,称为起步依赖,可以方便地导入所需的库和框架。这样就不需要手动添加大量的依赖项,减少了配置的复杂性。 3. 嵌入式Web服务器:Spring Boot内置了多个嵌入式Web服务器,如Tomcat、Jetty和Undertow,可以直接将应用程序打包成可执行的JAR文件,并运行在这些服务器上。 4. Actuator:Actuator是Spring Boot提供的一组监控和管理应用程序的工具。它可以提供关于应用程序健康状况、请求追踪、性能指标等方面的信息,帮助开发者更好地了解和管理应用程序。 5. Spring Boot CLI:CLI(Command Line Interface)是Spring Boot提供的命令行工具,可以帮助开发者快速创建和运行Spring Boot应用程序。通过CLI可以快速搭建原型应用、执行Groovy脚本等。 这些是Spring Boot的一些常见组件,它们可以帮助开发者更快地构建和部署应用程序。当然,Spring Boot还有很多其他的功能和组件,可以根据具体需求进行选择和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值