-2
這個問題的背景是,我試圖從一個Servlet使用sendRedirect到另一個。我們可以在一個servlet項目中有兩個應用程序嗎?
所以如果我們不能在一個servlet項目中有兩個應用程序。那麼,我將不得不把這兩個servlet放在兩個不同的Servlet項目中。如果我這樣做,會sendRedirect的工作?
這個問題的背景是,我試圖從一個Servlet使用sendRedirect到另一個。我們可以在一個servlet項目中有兩個應用程序嗎?
所以如果我們不能在一個servlet項目中有兩個應用程序。那麼,我將不得不把這兩個servlet放在兩個不同的Servlet項目中。如果我這樣做,會sendRedirect的工作?
如果您希望在單個應用程序下提供多個根,您可以。使用servlet它看起來像使用前3.0規範
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>com.test.servlets.Servlet1</servlet-class>
</servlet>
<servlet>
<servlet-name>servlet2</servlet-name>
<servlet-class>com.test.servlets.TemplateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/api/servlet1/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servlet2</servlet-name>
<url-pattern>/api/servlet1/*</url-pattern>
</servlet-mapping>
所以,如果你的戰爭被稱爲TestApplication.war你轉到
http://localhost:8080/TestApplication/api/servlet1/MorePath?also=variables&go=here
http://localhost:8080/TestApplication/api/servlet2/MorePath?also=variables&go=here
你可以把一個fitler獲取到的servlet在web.xml中,可以根據您的業務規則從一個serlvet重定向到另一個,或者您可以通過servlet調度程序將請求透明地轉發給任一servlet,您可以通過request.getServletContext()。getNamedDispatcher 「servlet1」)
謝謝你的喲你的回答。 –