在servlet初始化期间获取服务器名称 [英] Getting server name during servlet initialization

查看:91
本文介绍了在servlet初始化期间获取服务器名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道请求对象有一个获取服务器名称的函数。 (即HttpServletRequest.getServerName())

I know the request object has a function to get the server name. (i.e. HttpServletRequest.getServerName() )

如果我在servlet的初始化中需要相同的功能怎么办?我该怎么办?

What if I need the same functionality inside the initialization of a servlet? How do I do this?

推荐答案

此信息是基于请求的,而不是严格基于应用程序的。它可以根据要求进行更改。在servlet初始化期间,您所掌握的只有 ServletContext 实例,它又提供类似 getInitParameter() 。您可以使用它来访问应用程序范围的设置。

This information is request based and not strictly application based. It can namely change per request. All you have at hands during servlet initialization is the ServletContext instance which in turn offers methods like getInitParameter(). You could make use of it to access application wide settings.

所以最好的办法是在 web中手动设置服务器名称作为上下文参数.xml

<context-param>
    <param-name>serverName</param-name>
    <param-value>foo</param-value>
<context-param>

这样你就可以在servlet的 init()中获得如下方法:

so that you can obtain it as follows in servlet's init() method:

String serverName = getServletContext().getInitParameter("serverName");

另一种(不推荐)替代方案是将其设置为 web中的显示名称.xml

Another (not recommended) alternative is to set it as display name in web.xml

<display-name>foo</display-name>

以便您可以按如下方式获得:

so that you can obtain it as follows:

String serverName = getServletContext().getServletContextName();

这篇关于在servlet初始化期间获取服务器名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆