工作需要,在resin3.1.3pro下要將諸如http://192.168.100.1/news.jsp?id=121 的網頁實際地址隱藏,
更改爲: http://192.168.100.1/121.jsp 按照某些資料及caucho網站上的參考提示進行WEB-INF/web.xml文件配置如下:
<?xml version="1.0" ?>
<web-app>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<mime-mapping>
<extension>rar</extension>
<mime-type>application/rar</mime-type>
</mime-mapping>
<filter filter-name='rewrite'
filter-class='com.caucho.filters.RewriteFilter'>
<init>
<rewrite pattern="/(/d+)/.html" target="//news.jsp/?Id=$1"/>
</init>
</filter>
<filter-mapping url-pattern='/*' filter-name='rewrite'/>
</web-app>
調試通不過,提示錯誤:找不到'com.caucho.filters.RewriteFilter',於是分析resin.jar文件,發現確實不存在所需文件類;又拿了另一個版本的resin3.0.25,居然發現此resin.jar中含有RewriteFilter.class文件,於是直接在WEB-INF文件夾下創建classes/com/caucho/filters,將RewriteFilter.class文件複製進去,重新啓動resin,輸入http://192.168.100.1/news.jsp?id=121 成功顯示;再輸入http://192.168.100.1/121.jsp 也成功顯示。
說明重定向(rewrite)成功!