在Java中实现伪静态页面
在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过滤器来实现的,不需要依靠任何其他的模板框架,个人觉得还是比较好的。当然如果你要通过为静态来降低服务器的负载,那就得另寻他法了。