如何在不使用HttpServletRequest
的情况下查找 Servlet
运行的主机和端口。
我需要在我的 Servlet 初始化时知道这个信息,即在 Servlet#init
方法中。
http://docstore.mik.ua/orelly/java-ent/servlet/ch04_01.htm#ch04-33108
一个servlet使用getInitParameter()方法来访问它的初始化参数:public String ServletConfig.getInitParameter(String name)
您可以在web.xml
文件中定义host
init-param:
<web-app>
<servlet>
<servlet-name>MyServletName</servlet-name>
<servlet-class>com.mycompany.MyServlet</servlet-class>
<init-param>
<param-name>host</param-name>
<param-value>myhost.mycompany.com</param-value>
</init-param>
</servlet>
</web-app>
并且可以在Servlet.init()
中这样获取:
public void init() throws ServletException {
getServletContext().log("init");
// Get the value of an initialization parameter
String value = getServletConfig().getInitParameter("host");