2015-05-22 104 views
0

我有一個j2ee應用程序,其中包含一個具有默認servlet的web.xml來處理所有請求。從Tomcat 6升級到Tomcat後的問題8

<servlet> 
    <servlet-name>controller</servlet-name> 
    <servlet-class>gr.comp.pjx.controller.FrontController</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>controller</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

奇怪的行爲是應用程序的上下文加載時。所以,當netbeans加載http://localhost:8080/my_application/時,我發現我的servlet類(即gr.comp.pjx.controller.FrontController)沒有收到請求。使用Tomcat 6時情況並非如此。除此之外,當我手動輸入頁面URL時,例如http://localhost:8080/my_application/login.jsp相同的servlet類正常捕獲請求,因爲它是預期的。

有沒有人有類似的問題?

+0

這個xml屬於tomcat 8嗎? – hurricane

+0

不,這屬於我的申請。 – jkonst

+1

請參閱http://stackoverflow.com/questions/4140448/difference-between-and-in-servlet-mapping-url-pattern – Pino

回答

0

我用空字符串添加一個servlet映射解決了這個問題,使應用程序上下文(即http://localhost/my_application)可以通過gr.comp.pjx.controller.FrontController

<servlet> 
    <servlet-name>controller1</servlet-name> 
    <servlet-class>gr.eworx.pjx.controller.FrontController</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>controller1</servlet-name> 
    <url-pattern></url-pattern> 
</servlet-mapping> 

擔任所以,這個servlet映射是在現有servlet與默認servlet映射之前添加的。 現在每個請求都可以由gr.eworx.pjx.controller.FrontController提供 但是,沒有回答的問題是爲什麼'/'url模式不能用於爲Tomcat中的應用程序上下文根提供服務> 6