如何在jboss上重写URL

如何在jboss上重写URL,jboss,url-rewriting,Jboss,Url Rewriting,我正在开发一个JavaEE项目(使用EJB3、JSF和maven),作为4.2.x.GA应用服务器在JBoss上运行 我想在页面之间传递参数值时重写URL。 例如,当用户单击提交按钮时,一些参数会添加到URL的末尾;但我希望它更清晰,比如: ../testApp/testPage/12 instead of ../testApp/testPage.jsf?id=.. 如何实现这一点?Java最常用的解决方案是。 较新版本的语法也非常类似于使用非常广泛且已知的“mod_rewrite”(因为这

我正在开发一个JavaEE项目(使用EJB3、JSF和maven),作为4.2.x.GA应用服务器在JBoss上运行

我想在页面之间传递参数值时重写URL。 例如,当用户单击提交按钮时,一些参数会添加到URL的末尾;但我希望它更清晰,比如:

../testApp/testPage/12 instead of ../testApp/testPage.jsf?id=.. 

如何实现这一点?

Java最常用的解决方案是。 较新版本的语法也非常类似于使用非常广泛且已知的“mod_rewrite”(因为这是大多数基于ApacheHTTPD的服务器使用的语法)

您可以在那里找到文档和示例,以及google group上的许多解决方案,因为您在问题中提到的是许多应用程序的一个常见需求

另外请注意,您可能也需要入站和出站规则来进行重写(您会在那里找到示例),因为URLRewite筛选器无法自动计算重写表达式的“逆”


对于一般的重写解决方案,如果用户对正则表达式不是很熟练,那么在最喜欢的IDE中安装某种类型的RegExp插件来尝试这些重写表达式是有意义的(这在过去为我节省了一定的时间:)。

非常感谢您的回复,顺便说一句,我想确定的是,URLRewite过滤器不仅适用于apache,也适用于jboss?我对此感到困惑。我知道Jboss在某些功能上是基于Apache的,但是我不清楚这些,这就是我想问的原因。最好的wishes@Bariscan例如我想我不是很精确。当我指的是Apache时,我指的是ApacheHTTPD服务器——本机(不是基于Java的)流行服务器。另一方面,JBoss基于Apache.org Java项目(这是另外一回事)。这是我所说的Servlet过滤器,所以当按照描述进行配置时,它应该可以与Java应用程序一起使用。当然,您可以将一个本机服务器放在Java应用程序前面,然后再将重写规则放在那里,但这对我来说似乎更复杂。谢谢。嗯,如果你对url重写字符问题也有想法的话,我会很高兴:)我的意思是,如果我使用非英语字符,它会被一个像&654这样的代码所取代,谷歌将无法再对它进行索引。我不确定你想实现什么,但在url中使用英语字符是一个非常好的主意(不管内容是否是外来的,URL都应该有一个类似英语的表单)。服务器代码应该只生成和使用漂亮有效的英语URL,这样就没有问题。我不确定你是否可以避免转换这些字符,因为这是浏览器的行为方式。