[英]Spring MVC and Spring WS dispatcher servlet configuration in one web application
[英]Jboss: RestEasy + spring dispatcher servlet = no servlet class has been specified for servlet javax.ws.rs.core.Application
我有一個部署到Jboss eap 6.4的應用程序。 在web.xml中,我將javax.ws.rs.core.Application
定義為servlet,並為所有以'api'( /api/*
)開頭的URL注冊。
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>1</url-pattern>
</servlet-mapping>
前段時間,我添加了一個Spring DispatcherServlet作為第二個servlet,它注冊了所有以'admin'( /admin/*
)開頭的URL。
<servlet>
<servlet-name>admin dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>...</init-param>
</servlet>
<servlet-mapping>
<servlet-name>admin dispatcher</servlet-name>
<url-pattern>/admin/*</url-pattern>
</servlet-mapping>
你猜怎么了? 當我啟動一個應用程序時,出現了該主題的錯誤。
沒有為servlet javax.ws.rs.core.Application指定servlet類
通過調試RestEasy源,如果RestEasy發現在web.xml中spmewhere使用了“ org.springframework.web.servlet.DispatcherServlet”(硬編碼字符串),它似乎在Jboss / RestEasy集成中的某個深處,它只是停止自動配置,后來失敗了,因為配置錯誤。
有一個棘手的解決方法-僅擴展spring的調度程序servlet MyDispatcherServlet extends DispatcherServlet
並在web.xml中而不是spring上使用它。 這是在欺騙硬編碼的字符串。
瞧-RestEasy和春季的煩惱者開始一起工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.