[英]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.