在Java中做这个事情好像有很多中方案,比较简单的方法是使用URLRewrite的方法,把静态地址翻译成动态地址内部使用,对客户端是透明的。
我们可以使用URLRewrite,官方网站:http://tuckey.org/urlrewrite/ 。
下面给出一个使用的例子:
将下载的压缩文件解压到web项目的WebRoot目录下,修改web.xml,添加过滤器:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
修改web-inf下的urlrewrite.xml文件:
<rule>
<from>/test/([0-9]+)/([0-9]+).html</from>
<to>/test.jsp?id=$1&testid=$2</to>
</rule>
<!-- 或者:
<rule>
<from>/test/([0-9]+)/([0-9]+).html$</from>
<to>/test.jsp?id=$1&testid=$2</to>
</rule>
-->
这样访问 /test/123/456.html 就相当于访问 /test.jsp?id=123&testid=456 了。
注意: 这种方法时通过web过滤器来实现的,不需要依靠任何其他的模板框架,个人觉得还是比较好的。当然如果你要通过为静态来降低服务器的负载,那就得另寻他法了。
本文介绍了一种在 Java Web 应用中使用 URLRewrite 过滤器将静态 URL 地址转换为动态地址的方法,该方法无需依赖额外的模板框架,并提供了具体的配置示例。
164

被折叠的 条评论
为什么被折叠?



