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请求; 实例可以被垃圾收集。

  • 相关阅读:
    Ubuntu安装gfortran
    Ubuntu12.04安装vscode i386
    PowerShell让系统可以执行.ps1文件
    Gitlab. Disable user creation on welcome page
    开源项目和工具列表
    布隆过滤器 (Bloom Filter)
    信息系统综合知识概览
    Hadoop实战之四~hadoop作业调度详解(2)
    Hadoop实战之三~ Hello World
    Hadoop实战之二~ hadoop作业调度详解(1)
  • 原文地址:https://www.cnblogs.com/luv-letter/p/10639805.html
Copyright © 2011-2022 走看看