我創建了一個過濾器,它對我的應用程序獲取的所有請求都正常工作,爲此,我編寫了新的類ResourceRequestWrapper
,它擴展了HttpServletRequestWrapper
以修改請求。爲圖像請求重寫創建Java過濾器
例如,當請求來自於/ui/tx/images/abc.png
我已重寫的HttpServletRequestWrapper
getServletPath()
,getRequestURL()
和getRequestURI()
方法修改進入請求的文本到/txeditor/images/abc.png
。
現在,我已經通過修飾server.xml
和添加以下創建的虛擬目錄中的JBoss/Tomcat的,
<Context path="/txeditor" docBase="C:\resources\web_resources\txeditor.war" unpackWAR="false">
</Context>
我還在C:\resources\web_resources\txeditor.war
定義WEB-INF
和創建部署描述如下,
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<description>Web descriptor for the html adaptor</description>
</web-app>
上面的一切正常,每個請求都會被修改,但是當我的頁面被打開時,我無法看到任何圖像,我想當我們修改來自過濾器的請求以訪問虛擬目錄defi在server.xml
需要,它不可能?
任何人都可以有其他的想法嗎?