servlet cdi analysis

CDI中最令人兴奋的功能是允许每个人在Java EE平台中编写强大的扩展性功能,甚至于改变其核心本身。这些扩展性功能是可以完全移植到任何支持CDI的环境中。

CDI的一些主要特性

1.类型安全:CDI根据Java类型来注入对象,用以代替之前的根据名称来注入对象。当类型不能充分唯一判断出注入对象时,我们可以使用@Qualifier注解来指定注入。这可以让编译器更容易发现错误,并提供更便捷的重构。

2.POJO:几乎每一个Java对象都可以使用CDI来注入!包括EJB和JNDI的资源、持久化对象和已经实现过的工厂方法的任何对象。

3.可扩展性:每一个CDI容器,我们都能很方便的对其增加扩展性功能,增加的扩展性功能可以运行在每一个CDI容器和无论哪个厂商的J2EE 6 服务器中,这一特性通过精心设计的SPI(服务供应接口)得以实现,并成为JSR-299规范的一部分。

4.拦截器:它可以很容易的实现你自己的拦截器。因为JSR-299提供了很便捷的方式,他们现在也可以运行在每一个CDI容器和 J2EE 6 服务器中。这是通过指定一个实现了一部分JSR-299的SPI(服务提供接口)来实现的。

5.可修饰性:它允许动态的扩展已存在的接口实现和代码切面。

6.事件:CDI指定了一个低耦合的类型安全机制来发送和接受事件。

7.集成EL表达式:EL 2.2 具有很强的功能和高度的灵活性,CDI提供了对它的插件式支持。

@WebServlet("/cdiservlet")//url映射

public class NewServlet extends HttpServlet {//声明一个NewServlet类 并继承HttpServlet

@Inject private Message message;//表示运行时将动态注入(实例化)一个Message

@Override //重写父类doGet()方法

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws IOException {

response.getWriter().write(message.get());//带文本格式打印输出message.get()返回的文本

}

}

原文地址:https://www.cnblogs.com/ting-3/p/10622456.html

时间: 2024-08-01 11:44:15

servlet cdi analysis的相关文章

servlet CDI Example Analysis

原文链接:https://www.ibm.com/developerworks/cn/java/j-lo-cdijpa/ 关于 CDI JSR-299 规范原来叫做 Web Beans,其主要目的是为了整合 JSF 和 EJB.到 2009 年正式发布该规范时,JSR-299 已经改称 “Contexts and Dependency Injection for the Java EE platform”(简称 CDI ),整合 JSF 和 EJB 仍是其目的,但这并非 CDI 的唯一功能. 通

Servlet CDI Example Analysis

上下文和依赖注入(CDI)使您的对象能够自动为它们提供依赖项,而不是创建它们或将它们作为参数接收.CDI还为您管理这些依赖项的生命周期. 例如,来看下面这个servlet: @WebServlet("/cdiservlet") public class NewServlet extends HttpServlet { private Message message; @Override public void init() { message = new MessageB(); } @

servlet injection analysis

@WebServlet("/cdiservlet") public class NewServlet extends HttpServlet { private Message message; @Override ||重写doGet方法 public void init() { message = new MessageB(); ||对message初始化 } @Override public void doGet(HttpServletRequest request, HttpSe

Servlet CDI

CDI是一组服务,它们一起使用,使开发人员可以轻松地在Web应用程序中使用企业bean和JavaServer Faces技术.CDI设计用于有状态对象,还有许多更广泛的用途,允许开发人员以松散耦合但类型安全的方式集成各种组件的灵活性 CDI 2.0由JSR 365指定.CDI使用的相关规范包括以下内容: JSR 330,Java的依赖注入 Managed Beans规范,Java EE平台规范的一个分支(JSR 366) CDI提供的最基本服务如下. 上下文:此服务使您能够将有状态组件的生命周期

Cognos报表打开参数

查看门户页面 http://localhost:9300/p2pd/servlet/dispatch? b_action=xts.run &m=portal/cc.xts &gohome= 路径访问 http://localhost:9300/p2pd/servlet/dispatch? b_action=xts.run &m=portal/cc.xts &m_folder=i46F09ECF3E8F4E8498BDB3ED729A7CE1 报表访问 http://192.

Analysis servlet

@WebServlet("/cdiservlet") public class NewServlet extends HttpServlet { private Message message; @Override ||重写doGet方法 public void init() { message = new MessageB(); ||对message初始化 } @Override public void doGet(HttpServletRequest request, HttpSe

Apache CXF 3.0: CDI 1.1 Support as Alternative to Spring--reference

With Apache CXF 3.0 just being released a couple of weeks ago, the project makes yet another important step to fulfill the JAX-RS 2.0 specification requirements: integration with CDI 1.1. In this blog post we are going to look on a couple of examples

Performance analysis of our own full blown HTTP

In previous post Let's do our own full blown HTTP server with Netty 4 you and I were excited by creation of our own web server. So far so good. But how good? Given ordinary notebook cat /proc/cpuinfo | grep model\ name model name      : Intel(R) Core

Webserver/servlet容器选型

最新在做一个企业级项目,在讨论到servlet容器的选择问题. 关于概念 有个概念必须要搞清楚.什么是web容器?详见维基百科 简而言之,web容器就是带有servlet容器的webserver.所以我很不喜欢web容器这个词语,web本身没有什么容不容器的概念,容器是针对servlet而言.也就是说,必定是java语言的. 在php等世界,就只有webserver了,因为它们是脚本语言,没有从jsp编译为servlet的过程.Apache Httpd就是webserver,但它不能解析JSP,