How do I read servlet context initilization parameters?

package org.kodejava.example.servlet;

import java.util.Enumeration;

import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ContextInitParameter extends HttpServlet implements Servlet {

    public ContextInitParameter() {

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

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter writer = response.getWriter();

        // Get an instance of ServletContext
        ServletContext context = getServletContext();

        // To read context initialization parameter we can call context.getInitParameter() 
        // and pass the name of initialization parameter to be read. If the named
        // parameter does not exists the returned value will be null. 
        // In this example we read an initialization parameter called LOG.PATH
        String logPath = context.getInitParameter("LOG.PATH");
        writer.println("Log Path: " + logPath + "<br/>");

        // Reads all the name of servlet's initialization parameters. If the
        // servlet doesn't have any an empty enumeration will be returned.
        Enumeration enumeration = context.getInitParameterNames();
        while (enumeration.hasMoreElements()) {
            String paramName = (String) enumeration.nextElement();
            String paramValue = context.getInitParameter(paramName);               

            writer.println("Context Init Param: [" + paramName + " = " + paramValue + "]<br/>");

How do I read request parameter from servlet?

When creating an application with Java servlet most of the time we will work with the request and response object. From the request object we can read the parameter submitted by the user’s browser either through an HTTP GET or POST method.

Basically what you need to know is when you try to get the passed parameter from inside the servlet you can call the request.getParameter(paramName) where the paramName is the name of parameter that you want to read from the servlet request object.

In this example I’ll show you how to read the parameter to process user action in a very simple login servlet. In this example we’ll create a login form, a JSP page that accept user input for username and password.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Login Page</title>
<form id="loginForm" action="/java-web-examples/login" method="post">
    <input type="text" name="username" />
    <input type="password" name="password" />
    <input type="submit" value="Login" />

In this form you’ll have to input box for username and password. You also have submit button for executing the login process. Now we have the form, let’s create the login servlet.

package org.kodejava.example.servlet;

import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet implements Servlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse res) 
            throws ServletException, IOException {
        doLogin(req, res);

    protected void doPost(HttpServletRequest req, HttpServletResponse res) 
            throws ServletException, IOException {
        doLogin(req, res);

    protected void doLogin(HttpServletRequest req, HttpServletResponse res) 
            throws ServletException, IOException {
        // Here we read the parameters from servlet req
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        PrintWriter pw = res.getWriter();
        if (username != null && username.equals("administrator")
                && password != null && password.equals("secret")) {
            // authentication accepted!
        } else {
            // authentication denied!

For our servlet to work you must register the servlet in the web.xml file under the WEB-INF folder. You can find the configuration below.

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="" xmlns:xsi="" xsi:schemaLocation="">

Now you have everything, you can deploy the application on your servlet container, for example Apache Tomcat. Access you login page in the following address:


You can also access the servlet directly from the following url:


To pass the username and password information you can append the parameter like:


This will call the servlet and validate your login information.

How do I get the command line arguments passed to the program?

When creating a Java application we might want to pass a couple of parameters to our program. To get the parameters passed from the command line we can read it from the main(String[] args) method arguments.

To make a class executable we need to create a main() method with the following signatures:

public static void main(String[] args) {

This method takes an array of String as the parameter. This array is the parameters that we pass to the program in the command line.

package org.kodejava.example.basic;

public class ArgumentParsingExample {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println("Argument " + (i + 1) + " = " +

        // If you want to check if the number of supplied parameters
        // meet the program requirement you can check the size of 
        // the arguments array.
        if (args.length < 3) {
                    "You must call the program as follow:");
                    "java org.kodejava.example.basic.ArgumentParsingExample arg1 arg2 arg3");

            // Exit from the program with an error status, for
            // instance we return -1 to indicate that this program 
            // exit abnormally

        System.out.println("Hello, Welcome!");

When we try to run the program without argument we will see the following message:

$ java org.kodejava.example.basic.ArgumentParsingExample
You must call the program as follow:
java org.kodejava.example.basic.ArgumentParsingExample arg1 arg2 arg3

And when we pass three arguments we get something like:

$ java org.kodejava.example.basic.ArgumentParsingExample param1 param2 param3
Argument 1 = param1
Argument 2 = param2
Argument 3 = param3
Hello, Welcome!