1

我有很多通过重定向的 servlet

response.sendRedirect(URL)

并且 URL 有一个以 . 开头的绝对路径http://localhost:8080。好吧,我需要更改 URL,以便使该服务器联机,但不想更改所有 servlet 中的所有 URL 实例。

需要知道是否有办法巧妙地将这个常量外部化。

提前致谢。

4

1 回答 1

2

您可以使用属性文件或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"));
于 2013-08-09T01:03:52.460 回答