我想一個地圖,用來指向一個JSP直接到一個servlet的URL,但我的努力到目前爲止 - 映射以下URL模式來我的servlet ...如何將結束.jsp的url模式映射到servlet?
<url-pattern>/folder/myoldjsp.jsp</url-pattern>
失敗,導致JSP處理錯誤返回給客戶端。如何將結束.jsp
的URL映射到我的servlet?
我想一個地圖,用來指向一個JSP直接到一個servlet的URL,但我的努力到目前爲止 - 映射以下URL模式來我的servlet ...如何將結束.jsp的url模式映射到servlet?
<url-pattern>/folder/myoldjsp.jsp</url-pattern>
失敗,導致JSP處理錯誤返回給客戶端。如何將結束.jsp
的URL映射到我的servlet?
如果你的servlet沒有將請求轉發給JSP,那麼它應該可以正常工作。這將導致無限調度循環,因爲servlet本身會在RequestDispatcher#forward()
調用中再次執行。
如果重命名目標JSP文件是不是出於某種原因的選項,那麼你最好的選擇是地圖上像/foo
不同的URL模式的servlet和創建filter映射/folder/*
(或任何請求的URL匹配(S )最接近),然後確定HttpServletRequest#getRequestURI()
是否以/myoldjsp.jsp
結尾,然後將請求轉發給servlet。
E.g.
if (((HttpServletRequest) request).getRequestURI().endsWith("/myoldjsp.jsp")) {
request.getRequestDispatcher("/foo").forward(request, response);
} else {
chain.doFilter(request, response);
}
過濾器默認情況下不會在轉發的請求上被調用。如有必要,可以將JSP文件名稱配置爲過濾器<init-param>
。
謝謝。你是男人:) – dantuch
你應該發佈你的web.xml文件的其餘部分以提供更多的上下文。你的servlet是否被調用?你正在使用哪個servlet引擎? – Knubo