Java Servlet Programing Laungage

Java Servlet Projects

Servlet Project 3

adplus-dvertising
Create an application for creating a ToDoList through Servlet
Previous Home Next

This Generic Servlet program, creates a ToDolist through use of JavaBean class in Servlet.

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>ToDoServlet</servlet-name>
	<servlet-class>r4r.GenericServlet.ToDoServlet</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>ToDoServlet</servlet-name>
     <url-pattern>/ToDoServlet</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="ToDoServlet">ToDoServlet</a>
   </form>
 </body>
</html>

Servlet Program

/*
 * Save as a ToDoServlet.java
 */
package r4r.GenericServlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
 *
 * @author R4R
*/
 public class ToDoServlet extends GenericServlet {

    private ToDoClass toDoClass;
    private List<ToDoClass> toDoClassList;
    private DateFormat dateFormat;
    private String newDate;
    @Override
    public void init() throws ServletException {
    toDoClass = new ToDoClass(null, null, null, null);
    toDoClassList = new ArrayList<ToDoClass>();
    dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    newDate = dateFormat.format(Calendar.getInstance().getTime());
    }
    @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 ToDoServlet</h1>");
  out.println("<form action=\"ToDoServlet\">");
  out.println("  Set Title: <input type=\"text\" name=\"title\"value=\
      "\" size=\"30\" maxlength=\"20\" /><BR>");
  out.println("Description: <textarea name=\"description\
     " rows=\"4\" cols=\"25\"></textarea><BR>");
  out.println("   Priority: <select name=\"priority\">");
  out.println("<option> LOW </option>");
  out.println("<option> MEDIUM </option>");
  out.println("<option> HIGH </option></select><BR>");
  out.println(" Create On: <input type=\"text\" name=\"date\" value=\""
    + newDate + "\" size=\"30\" readonly=\"readonly\" /><BR>");
  out.println("<input type=\"submit\" value=\"Add ToDO\" 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 
 String title = req.getParameter("title");
 String description = req.getParameter("description");
 String priority = req.getParameter("priority");
 String date = req.getParameter("date");

 // passing value into ToDoClass constructor
 toDoClass = new ToDoClass(title, description, priority, date);
 toDoClassList.add(toDoClass); //Add class value into array
 //Invoke method
 processHeader(out);
 processRequest(out);
 processFooter(out);
  } else {
 out.println("Don't leave any TextField empty!");
  }
   } finally { 
  out.close();  // free all resource
   }
    }

    // Method handel Form header
    protected void processHeader(PrintWriter out) {
   out.println("<html>");
   out.println("<head>");
   out.println("<title>r4r.co.in-List</title>");
   out.println("</head>");
   out.println("<body>");
   out.println("<h1>ToDo Data list</h1>");
    }

    // Method handel Form  body
    protected void processRequest(PrintWriter out) {
   Iterator iterator = toDoClassList.iterator();
   while (iterator.hasNext()) {
  ToDoClass object = (ToDoClass) iterator.next();
  out.println(" <hr align=\"left\" width=\"35%\"/>");
  out.println("<BR>Title : " + " <b> " + object.getTitle() + "</b>");
  out.println("<BR>Description  : " + " <b> " + object.getDescription() + "</b>");
  out.println("<BR>Priority    : " + " <b> " + object.getPriority() + "</b>");
  out.println("<BR>Create Date  : " + "<b> " + object.getDate() + "</b>");
   }
   try {
  // Slow down server for 1 min, then processing request
  Thread.sleep(1000);
   } catch (InterruptedException ex) {
  Logger.getLogger(ToDoServlet.class.getName()).log(Level.SEVERE, null, ex);
   }
    }

    // Method handel Form footer
    protected void processFooter(PrintWriter out) {
   out.println("</body>");
   out.println("</html>");
   out.println("<BR><BR><BLINK><a href=\
        "ToDoServlet\">Add More Data into List</a></BLINK>");
    }

    @Override
    public String getServletInfo() {
   return "r4r.co.in-ToDoServlet";
    }
}

Bean Class

/*
 * -----------------------------
 * Save as a ToDoClass.java
 * ------------------------------
 */
class ToDoClass {
    // Private Field
    private String title;
    private String description;
    private String priority;
    private String date;

    //-------------------- full Constructor
    public ToDoClass
	(String title, String description, String priority, String date) 
  {
   this.title = title;
   this.description = description;
   this.priority = priority;
   this.date = date;
    }
    //--------------------- Getter/Setter
    public String getDate() {
   return date;
    }

    public void setDate(String date) {
   this.date = date;
    }

    public String getDescription() {
   return description;
    }

    public void setDescription(String description) {
   this.description = description;
    }

    public String getPriority() {
   return priority;
    }

    public void setPriority(String priority) {
   this.priority = priority;
    }

    public String getTitle() {
   return title;
    }

    public void setTitle(String title) {
   this.title = title;
    }
}
Output of Program
Previous Home Next