分析servlet injection

@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()); \\捕获可能发生的异常
}
}

posted @ 2019-04-07 17:35  XZY30  阅读(101)  评论(0编辑  收藏  举报