2010-08-09 80 views

回答

2

你不能這樣做在web.xml。但是,您可以創建一個新的servlet,然後將該請求重定向/轉發到其他Web應用程序的servlet。重定向很簡單,只需讓URL指向特定的servlet即可。

response.sendRedirect("/otherwebapp/theservlet"); 

轉發需要更多的工作。由於安全限制,這在默認情況下是不可能的。首先,您需要配置servletcontainer以在相關Web應用程序之間啓用跨上下文訪問。目前尚不清楚您使用的是哪一個,所以這裏只是一個Tomcat目標示例,以便您瞭解應該在哪個方向上查找自己的servlet容器:對於這兩個webapps,需要將<Context>元素的crossContext屬性設置爲true

<Context crossContext="true"> 

這樣你就可以通過ServletContext#getContext()獲得servlet的內部其他方面:

ServletContext othercontext = getServletContext().getContext("/otherwebapp"); 

最後,你可以通過它轉發請求如下:

othercontext.getRequestDispatcher("/theservlet").forward(request, response);