[英]How to register a servlet in Spring Boot XML file?
我为Spring Boot应用程序编写了一个servlet。 我用的时候很有效
contextHandler.addServlet(MyClass.class, "/v1/route");
现在我正在尝试将beans.xml文件中的servlet注册为bean。 这个
<bean id="myId" class="com.abc.MyClass"/>
不包含路线。 MyClass扩展了HttpServlet并覆盖了doGet方法。
如何注册一个也是bean的servlet?
这种方法对我有用。 它是XML声明和完全程序化注册的混合体。
在beans.xml文件中,我已经指定了一个传递ServletContextHandler的构造函数参数,如下所示:
<bean id="myId" class="com.abc.MyClass">
<constructor-arg ref="servletContextHandler"/>
</bean>
在MyClass构造函数中,我将servlet与route一起添加到servlet持有者,从而将其注册为servlet:
public MyClass(ServletContextHandler h) {
h.addServlet(new ServletHolder(this), "/v1/route");
}
当然这可能会干扰其他要求,比如构造函数可能需要其他参数,可能还需要其他初始化。 但是在这里我正在用XML注册bean并以编程方式注册servlet。 可能是servlet注册也可以在没有显式Java代码的情况下完成,我不知道该怎么做。
xerx593,我看过那个页面,但那些例子对我想要的东西看起来不够好。 还是要谢谢你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.