我的条目中有以下条目,web.xml
并且我需要在我的 java 文件中使用该类的实例,我该怎么做?
<servlet>
<servlet-name>DummyServlet</servlet-name>
<servlet-class>javax.faces.webapp.Xxxx</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
目前我不相信你可以作为 servlet 容器创建任何给定 servlet 的单个实例并产生线程来满足请求。访问容器也正在使用的那个实例根本不符合您的利益
还有(现已弃用)ServletContext.getServlet("yourClassName")
。但是不要这样做我很难想象在什么情况下您需要控制 DI 和良好设计无法帮助您避免的 servlet 实例。具体问题是什么?
您通常不需要,servlet 容器负责为 web.xml 中的每个 servlet 元素实例化单个 Servlet 实例,并使用这些实例来处理请求和生成响应。
否则,您可能需要解析 web.xml 并使用 Class.forName(className) 获取 servlet 类,然后使用 clazz.newInstance() 创建一个实例,假设存在默认构造函数(它应该,因为这是一个 servlet) .