我有很多通过
重定向的servletresponse.sendRedirect(URL)
并且URL具有以http://localhost:8080
开头的绝对路径。
好吧,我需要更改URL,以便我将此服务器联机,但不想更改
所有servlet中的所有URL实例。
需要知道是否有办法整齐地将这个常数外化。
提前致谢。
答案 0 :(得分:2)
您可以在web.xml
中使用Properties文件或使用上下文参数。如果您希望以后为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"));