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, HttpServletResponse response)
                  throws IOException {              ||抛出可能出现IO异常
        response.getWriter().write(message.get());   ||捕获可能发生的异常
    }
}

public interface Message {         ||servlet实现Message接口的一个对象实例
    public String get();
}
public class MessageB implements Message {          ||servlet创建以下对象的实例
    public MessageB() { }

    @Override
    public String get() {
        return "message B";
    }
}
@WebServlet("/cdiservlet")              ||使用CDI,servlet声明它对Message实例的依赖性,并让它由CDI运行时自动注入
public class NewServlet extends HttpServlet {
    @Inject private Message message;

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
                  throws IOException {       ||抛出可能出现IO异常
          response.getWriter().write(message.get());  ||捕获可能发生的异常 }}
 

原文地址:https://www.cnblogs.com/clling/p/10596877.html

时间: 2024-08-30 17:04:41

servlet injection analysis的相关文章

剖析servlet injection及源码分析.

@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 analysis

CDI中最令人兴奋的功能是允许每个人在Java EE平台中编写强大的扩展性功能,甚至于改变其核心本身.这些扩展性功能是可以完全移植到任何支持CDI的环境中. CDI的一些主要特性 1.类型安全:CDI根据Java类型来注入对象,用以代替之前的根据名称来注入对象.当类型不能充分唯一判断出注入对象时,我们可以使用@Qualifier注解来指定注入.这可以让编译器更容易发现错误,并提供更便捷的重构. 2.POJO:几乎每一个Java对象都可以使用CDI来注入!包括EJB和JNDI的资源.持久化对象和已

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.

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 的唯一功能. 通

DRUPAL-PSA-CORE-2014-005 && CVE-2014-3704 Drupal 7.31 SQL Injection Vulnerability /includes/database/database.inc Analysis

目录 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 Use Drupal to build everything from personal blogs to enterprise applications. Thousands of add-on modules and designs let you build any site you can imagine. Join us!Drupal是使用PHP语言编写的开

CVE: 2014-6271 Bash Specially-crafted Environment Variables Code Injection Vulnerability Analysis

目录 1. 漏洞的起因 2. 漏洞原理分析 3. 漏洞的影响范围 4. 漏洞的POC.测试方法 5. 漏洞的修复Patch 1. 漏洞的起因 这个漏洞的起因源自于Bash(Bourne Again SHell)的ENV指令 http://ss64.com/bash/env.html env: Display, set, or remove environment variables, Run a command in a modified environment. Syntax env [OPT

Analysis of container and Injection in Java, their history and future.

Container: 发展历程: 2000 年的时候 FreeBSD 开发了一个类似于 chroot 的容器技术 Jails,这是最早期,也是功能最多的容器技术.Jails 英译过来是监狱的意思,这个“监狱”(用沙盒更为准确)包含了文件系统.用户.网络.进程等的隔离. 2001 Linux 也发布自己的容器技术 Linux VServer,2004 Solaris 也发布了 Solaris Containers,两者都将资源进行划分,形成一个个 zones,又叫做虚拟服务器. 2005 年推出

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

Servlet CDI Example Analysis

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