java在WEBINF中创建XML文件
我用http://tuckey.org/urlrewrite/来创建我网站的地图,目前我有很多链接,我无法手工编写所有规则,例如:
<rule>
<from>^/about-us$</from>
<to type="redirect">/myWeb/Controller?page=ForwardAbout</to>
</rule>
Tuckey在WEB-INF文件夹中使用一个名为urlrewrite.xml
的文件
重定向规则可以来自数据库,例如:每当创建一篇文章时,向所需链接插入一行,如:
/about-potatoes
规则会变成这样
<rule>
<from>^/about-us$</from>
<to type="redirect">/myWeb/Controller?page=ForwardPotatoes</to>
</rule>
然后应该编写urlrewrite.xml
,以便重定向到新文章
主要问题是:如何在WEB-INF中创建这个urlrewrite.xml
第二个问题:假设每周都会有新文章,每周都会创建这个urlrewrite.xml
来更新规则,那么规则是否会在不重新部署web应用的情况下适用
# 1 楼答案
在大多数应用服务器上,除非重新打包和部署应用程序,否则无法动态更改web应用程序内部的任何内容
即使您可以更改文件,例如在未打包的战争中,tuckey也可能只读取一次文件,除非重新启动应用程序,否则不会获取新规则
为什么不制定一个更动态的规则来匹配所有请求?在重写规则中,可以使用反向引用,例如“$1”,它将匹配括号之间的第一个正则表达式,例如: