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:
| Method | Example 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 Want | How | Method |
|---|---|---|
| Server type and version | ServletContext.getServerInfo() | |
| Server hostname | HttpServletRequest.getServerName() | |
| Server port | HttpServletRequest.getServerPort() | |
| HTTP scheme (http/https) | HttpServletRequest.getScheme() | |
| HTTP protocol version | HttpServletRequest.getProtocol() | |
| Servlet API version | ServletContext.getMajorVersion() + getMinorVersion() |