How do I read servlet init parameter?

When creating a servlet we can use the @WebInitParam to define some init parameters in the servlet configuration section (@WebServlet). This init parameter can be used to define where a configuration file of our application is stored, define upload path, etc. This simple servlet below shows how to obtain these init parameters value.

package org.kodejava.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(
    name = "InitParameterServlet",
    urlPatterns = "/init-param",
    initParams = {
        @WebInitParam(name = "configPath", value = "F:/app/config"),
        @WebInitParam(name = "uploadPath", value = "F:/app/uploads")
    }
)
public class InitParameterServlet extends HttpServlet
        implements javax.servlet.Servlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // Get application configuration path
        String configPath = getInitParameter("configPath");
        String uploadPath = getInitParameter("uploadPath");

        System.out.println("configPath = " + configPath);
        System.out.println("uploadPath = " + uploadPath);
    }
}

Maven dependencies

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
</dependency>

Maven Central

Wayan

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.