簡體   English   中英

如何在Spring Boot XML文件中注冊servlet?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM