zoukankan      html  css  js  c++  java
  • servlet injection analysis

    @WebServlet("/cdiservlet")      ||url映射
    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());  ||捕获可能发生的异常
    }
    }
  • 相关阅读:
    多线程常见面试题
    Redis常见面试题总结
    ehcache缓存技术的特性
    sar 命令详解
    面试题
    BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
    课后习题-10
    ulimit 命令详解
    课后习题-9
    netstat 命令详解
  • 原文地址:https://www.cnblogs.com/carpe/p/10635869.html
Copyright © 2011-2022 走看看