我有很多通过重定向的 servlet
response.sendRedirect(URL)
并且 URL 有一个以 . 开头的绝对路径http://localhost:8080
。好吧,我需要更改 URL,以便使该服务器联机,但不想更改所有 servlet 中的所有 URL 实例。
需要知道是否有办法巧妙地将这个常量外部化。
提前致谢。
您可以使用属性文件或在web.xml
. 如果您想稍后为您的 Web 应用程序提供语言翻译,则首选使用属性。如果只有少数常量需要外部化,例如服务器 url 和管理员电子邮件等。上下文参数同样是一个不错的选择。
<context-param>
<param-name>server-hostname</param-name>
<param-value>http://www.domain.com/</param-value>
</context-param>
您可以从任何 Servlet 全局访问此参数
response.sendRedirect(
getServletContext().getInitParameter("server-hostname") + "page.php"));