zoukankan      html  css  js  c++  java
  • Servlet CDI 例子分析

    @WebServlet("/cdiservlet")       //以@WebServlet注释开头,注释指定相对于上下文根的URL模式,即在根目录下使用/cdiservlet来访问
    public class NewServlet extends HttpServlet {   //创建一个NewServlet类继承的是HttpServlet类
        private Message message;
    
        @Override
        public void init() { //该servlet重写该init方法
            message = new MessageB();   //对message初始化
        }
    
        @Override
        public void doGet(HttpServletRequest request, HttpServletResponse response) //该servlet重写该doGet方法,实现GET HTTP方法
                      throws IOException {   //抛出可能出现IO异常
            response.getWriter().write(message.get());  //捕获可能发生的异常
        }
    }

    使用CDI后的实例

    servlet可以声明它的依赖Message实例和由CDI运行时自动注射

    @WebServlet("/cdiservlet")  //以@WebServlet注释开头,注释指定相对于上下文根的URL模式,即在根目录下使用/cdiserlvlet来访问
    public class NewServlet extends HttpServlet {
        @Inject private Message message;
    
        @Override
        public void doGet(HttpServletRequest request, HttpServletResponse response) //该servlet重写该doGet方法
                      throws IOException { //抛出可能出现IO异常
            response.getWriter().write(message.get());  //捕获可能发生的异常
        }
    }

    CDI实现运行时查找类Message界面,找到了MessageB类,创建一个新的实例, 在运行时注入到servlet。 管理的生命周期 新实例,CDI运行时需要知道的范围 实例。 在这个例子中,servlet只需要实例 处理HTTP请求; 实例可以被垃圾收集。

  • 相关阅读:
    在Python中调用C++模块
    [转载]科学家真懂统计学吗?
    [原]基因组变异检测概述
    [原]测序量估计
    软考之路—解答数据流图
    软考之路-搞定ER图到关系模式
    软考之路-网络攻击:主动攻击和被动攻击
    软考之路-计算机病毒
    初识ADO.net-访问数据的两种方式
    vb.net小试三层架构
  • 原文地址:https://www.cnblogs.com/luv-letter/p/10639805.html
Copyright © 2011-2022 走看看