Java Servlet Programing Laungage

Java Servlet Projects

Servlet Project 3

adplus-dvertising
Create an application for calculating a day through Servlet
Previous Home Next

In this Generic Servlet program, a day is calculate through input date (DD/MM/YYYY).

Web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
 <servlet>
  <servlet-name>computeDayServlet</servlet-name>
  <servlet-class>r4r.GenericServlet.computeDayServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>computeDayServlet</servlet-name>
  <url-pattern>/computeDayServlet</url-pattern>
 </servlet-mapping>
 <session-config>
   <session-timeout>
            30
   </session-timeout>
 </session-config>
</web-app>

Index.jsp

<%-- 
 Document   : index.jsp
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
 <head>
  <meta http-equiv="Content-Type" 
		content="text/html; charset=UTF-8">
  <title>r4r.co.in-GenericServlet</title>
 </head>
 <body>
   <form>
   <h1>Access GenericServlet by servlet's Name!</h1>
   <a href="computeDayServlet">computeDayServlet</a>
   </form>
 </body>
</html>

Servlet Program

/*
 * Save as a calculateDayServlet.java
*/
package r4r.GenericServlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
 *
 * @author R4R
*/
 public class calculateDayServlet extends GenericServlet 
{
 @Override
  public void service(ServletRequest req,
   ServletResponse res)throws ServletException,IOException
 {
  res.setContentType("text/html;charset=UTF-8");
  PrintWriter out = res.getWriter();
  try {
    /* TODO output your page here */
   out.println("<html>");
   out.println("<head>");
   out.println("<title> " + getServletInfo() + "</title>");
   out.println("</head>");
   out.println("<body>");
   out.println("<h1>Servlet calculateDayServlet</h1>");
   out.println("<form action=\"calaculateDayServlet\">");
   out.println
	("Day:<input type=\"text\"name=\"day\"value=\
		"\"size=\"30\"maxlength=\"2\"title=\"Enter Day\"/><BR>");
	out.println
	("Month:<input type=\"text\"name=\"month\"value=\
		"\"size=\"30\"maxlength=\"2\"title=\"Enter Month\"/><BR>");
	out.println
	("Year:<input type=\"text\"name=\"year\"value=\
		"\"size=\"30\"maxlength=\"4\"title=\"Enter Year\"/><BR>");
   out.println("<input type=\"submit\" value=\
			"Compute Day\" name=\"submit\" />");
   out.println("<input type=\"Reset\" value=\"Reset\" />");
   out.println(" </form>");
   out.println("</body>");
   out.println("</html>");
   /* ---------------------------------------- */
   if (req.getParameter("submit") != null) {
    // Get value from TextField
    int day = Integer.parseInt(req.getParameter("day"));
    int month = Integer.parseInt(req.getParameter("month"));
    int year = Integer.parseInt(req.getParameter("year"));
// Invoke method
processRequest(out, day, month, year);
}
	 else 
    {
		out.println("Don't leave any textField empty");
}
}
	 finally
{
   out.close(); //free resource
}
    }
    protected void processRequest
		(PrintWriter out, int day, int month, int year)
	{

   //Declare centuries
   int[] centuries = new int[4];
   centuries[0] = 2;
   centuries[1] = 0;
   centuries[2] = 5;
   centuries[3] = 3;

   //Complete List of Month in a single year
   int[] months = new int[13];
   months[1] = 5;
   months[2] = 1;
   months[3] = 0;
   months[4] = 3;
   months[5] = 5;
   months[6] = 1;
   months[7] = 3;
   months[8] = 6;
   months[9] = 2;
   months[10] = 4;
   months[11] = 0;
   months[12] = 2;

   //Complete List of Days in a single week
   String[] days = new String[7];
   days[0] = "Sunday";
   days[1] = "Monday";
   days[2] = "Tuesday";
   days[3] = "Wednesday";
   days[4] = "Thursday";
   days[5] = "Friday";
   days[6] = "Saturday";

   // Check input month value 
   if (month < 3) {
  year--; // decrement 1 form year
   }

   // get century value from centuries array
   int getCenturie = centuries[year / 100 % 4];
   // get LeapYear value
   int getLeapYear = year % 100 / 4;
   // get Year value
   int getYear = year % 100 % 7;
   // get month value from Months array
   int getMonth = months[month];
   // get day 
   int getDay = day % 7;
   int dayOfWeek = 
		 getCenturie + getLeapYear + getYear + getMonth + getDay;
   // get day value from days array
   String calculateDay = days[dayOfWeek % 7];

   // Display value over browser  
   out.println("Input Day = " + day + "<BR>");
   out.println("Input Month = " + month + "<BR>");
   out.println("Input year = " + year + "<BR>");
   out.println("Calculated Day = <b>" + calculateDay + "</b>");
    }

    @Override
    public String getServletInfo() {
   return "r4r.co.in-computeDayServlet";
    }
}
Output of Program
Previous Home Next