工作需要,在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)成功!