Java.Servlet.How can I get server information from a servlet?

You can easily get server information from inside a servlet using the ServletContext and HttpServletRequest objects.

Let’s go step-by-step:


🛠️ Ways to Get Server Info in a Servlet

1. Get Server Info using ServletContext

ServletContext context = getServletContext();
String serverInfo = context.getServerInfo();

serverInfo will return something like:

Apache Tomcat/9.0.75

or

GlassFish Server Open Source Edition 5.1

GlassFish Server Open Source Edition 5.1

2. Get Server Name, Port, Protocol using HttpServletRequest

Inside your doGet() or doPost() method:

String serverName = request.getServerName();     // e.g., "localhost" or "www.example.com"
int serverPort = request.getServerPort();         // e.g., 8080
String scheme = request.getScheme();              // "http" or "https"
String protocol = request.getProtocol();          // "HTTP/1.1"

✅ Example outputs:

MethodExample Output
getServerName()localhost
getServerPort()8080
getScheme()http
getProtocol()HTTP/1.1

3. Get Servlet Version Info

You can also check the servlet API version your server supports:

int major = context.getMajorVersion();
int minor = context.getMinorVersion();

int major = context.getMajorVersion();
int minor = context.getMinorVersion();

🎯 Full Code Example:





public class ServerInfoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        ServletContext context = getServletContext();

        String serverInfo = context.getServerInfo();
        int majorVersion = context.getMajorVersion();
        int minorVersion = context.getMinorVersion();

        String serverName = request.getServerName();
        int serverPort = request.getServerPort();
        String scheme = request.getScheme();
        String protocol = request.getProtocol();

        response.setContentType("text/plain");
        response.getWriter().println("Server Info: " + serverInfo);
        response.getWriter().println("Servlet API Version: " + majorVersion + "." + minorVersion);
        response.getWriter().println("Server Name: " + serverName);
        response.getWriter().println("Server Port: " + serverPort);
        response.getWriter().println("Scheme: " + scheme);
        response.getWriter().println("Protocol: " + protocol);
    }
}

⚡ Quick Summary:

⚡ Quick Summary:

You WantHowMethod
Server type and versionServletContext.getServerInfo()
Server hostnameHttpServletRequest.getServerName()
Server portHttpServletRequest.getServerPort()
HTTP scheme (http/https)HttpServletRequest.getScheme()
HTTP protocol versionHttpServletRequest.getProtocol()
Servlet API versionServletContext.getMajorVersion() + getMinorVersion()
This entry was posted in Без рубрики. Bookmark the permalink.