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

Servlet CDI 例子分析的更多相关文章

  1. spark JavaDirectKafkaWordCount 例子分析

    spark  JavaDirectKafkaWordCount 例子分析: 1. KafkaUtils.createDirectStream( jssc, String.class, String.c ...

  2. ZT 复杂的函数指针例子分析 2008

     复杂的函数指针例子分析 2008-01-26 11:38:22 分类: 一个最简单的函数指针定义如下: Void (*funcPtr) (); //funcptr是一个函数指针,它指向的函数没有参数 ...

  3. servlet简单例子1

    servlet简单例子1 分类: servlet jsp xml2012-04-18 21:54 3646人阅读 评论(3) 收藏 举报 servletloginjspaction浏览器 LoginS ...

  4. 通过例子分析MVVM

    通过一个简单的计数器例子分析MVVM. 代码 demo2.html <!DOCTYPE html> <html lang="en"> <head> ...

  5. Servlet源码分析

    Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口.在Servlet接口中定义了5个方法,其中有3个方法是 ...

  6. DirectShow Filter 开发典型例子分析 ——字幕叠加 (FilterTitleOverlay)1

    本文分析一下<DirectShow开发指南>中的一个典型的Transform Filter的例子:字幕叠加(FilterTitleOverlay).通过分析该例子,我们可以学习到Direc ...

  7. Servlet过滤器——过滤器分析流量

    1.概述 Servlet过滤器可以对用户提交的数据或服务器返回的数据进行更改.任何到达服务器的请求都会首先经过过滤器的处理.本实例应用过滤器的这个特点,编写了一个在过滤器中统计网站流量的实例. 本实例 ...

  8. Servlet处理流程分析-Servlet学习之旅(二)

    tomcat的处理处理客户端流程分析 tomcat即是servlet容器也具有web服务器的功能,即也具有html页面的功能. 1.首先客户端会将html请求发给tomcat内置的web服务器 2.w ...

  9. pytorch autograd backward函数中 retain_graph参数的作用,简单例子分析,以及create_graph参数的作用

    retain_graph参数的作用 官方定义: retain_graph (bool, optional) – If False, the graph used to compute the grad ...

随机推荐

  1. thinkphp5 404 file_put_contents 无法打开流:权限被拒绝

    如果你用TP的时间比较长,或者说你比较了解TP的人都会知道,TP的runtime它需要的权限是很大的,如果你只给一般权限肯定是不行的,通常都是给runtime权限:777: linux命令如下: cd ...

  2. Vue beaforeCreate时获取data中的数据

    异步获取即:通过    $this.$nextTick或者settimeout,这连dom都可以拿出来 beforeCreate() { this.$nextTick(function() { con ...

  3. (function(){})() 立即执行函数

    (function(){})() 立即执行函数 (function(a){})(5) 带参的

  4. 05CSS链接

    CSS链接 链接的四种状态: •  a:link - 普通的.未被访问的链接 •  a:visited - 用户已访问的链接 •  a:hover - 鼠标指针位于链接的上方 •  a:active ...

  5. 在vue中场景,循环行,点击当前行编辑数据

    当前列表 点击编辑,行变为编辑框. <Row style="color:#999;margin-bottom:11px"> <Row style="ma ...

  6. 修改mysql数据默认存储路径

    1:停止mysql服务 2:找到配置文件路径 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini 3:修改属性datadir 1.将C:/ProgramData/ ...

  7. python circle nested

    #!/usr/bin/python # -*- coding:utf- -*- # @filename: tmp2 # @author:vickey # @date: // : def circle_ ...

  8. 笔试算法题(43):布隆过滤器(Bloom Filter)

    议题:布隆过滤器(Bloom Filter) 分析: BF由一个很长的二进制向量和一系列随机映射的函数组成,通过多个Hash函数将一个元素映射到一个Bit Array中的多个点,查询的时候仅当所有的映 ...

  9. 第二次:Ubuntu16.04 安装Docker

    sudo apt-get update, 就这一个命令执行了多半天,不知道网络缘故还是怎么的,管他呢,装完总是好的. # step 1: 安装必要的一些系统工具 sudo apt-get update ...

  10. 树莓派 - RPi.GPIO

    RPi.GPIO是通过Python/C API实现的,C代码操作底层寄存器, python通过Python/C API调用这些C接口. 这是关于RPi.GPIO项目的介绍. 其中提到了有python ...