【问题标题】:Access Servlet which is initialize during webserver startup在网络服务器启动期间初始化的访问 Servlet
【发布时间】:2015-05-03 01:51:29
【问题描述】:

这与问题有关 How do i get servlet instance from web.xml in my java class

人们不清楚这类问题的用例是什么。我有同样的问题,想给出一个用例。

在我的应用程序中,我有一个名为 Configuration 的类,它扩展了 HttpServlet。在我的 web.xml 中,我为配置定义了一个加载启动 servlet。此类读取应用程序所需的所有属性,并且绝对有必要在启动期间读取此属性,因为我根据属性为我的网络服务器的每个实例做不同的事情。现在我需要在我的 spring 控制器中获取这个实例的句柄,以便我可以获得属性的值。我该怎么做?

【问题讨论】:

    标签: spring-mvc servlets servlet-3.0


    【解决方案1】:

    Configuration 是一个 Servlet 有什么特别的原因吗?如果这个类的唯一目的是读取稍后使用的属性并且它本身不服务任何请求,那么它不应该是一个 Servlet。

    有两种方法可以做这些配置类。

    一,你可以把这个类注解为@Component,让这个类在启动时被Spring实例化。然后你可以在任何你需要的地方注入这个 bean。

    第二种方法,不使用 Spring,在你的 web.xml 中注册一个 ServletContextListener。创建一个实现 ServletContextListener 的类,并在 contextInitialized() 方法中调用属性加载逻辑所在的 Configuration 类的方法。

    http://www.mkyong.com/servlet/what-is-listener-servletcontextlistener-example/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多