Java Servlet Programing Laungage

Java Servlet Projects

Servlet Project 3

adplus-dvertising
Create an application for getting prime factor of a number through Servlet
Previous Home Next

In this Generic Servlet program, a number is divided into its prime Factorization through 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>primeFactorServlet</servlet-name>
    <servlet-class>r4r.GenericServlet.primeFactorServlet</servlet-class>
  </servlet>
  <servlet-mapping> 
    <servlet-name>primeFactorServlet</servlet-name>
    <url-pattern>/primeFactorServlet</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="primeFactorServlet">primeFactorServlet</a>
   </form>
 </body>
</html>

Servlet Program

/*
 * Save as a primeFactorServlet.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 primeFactorServlet 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
   {
	
   }
   catch ()
   {
   }
   {
    /* 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 primeFactorServlet</h1>");
    out.println("<form action=\"primeFactorServlet\">");
out.println
("EnterNumber <input type=\"text\"name=\"number\"
value=\"\"size=\"20\"maxlength=\"5\"/>/2");
out.println
("<BR><input type=\"submit\" value=\"Prime Factor\" name=\"submit\" />");
	out.println("<input type=\"reset\" value=\"Reset\" />");
    out.println("</form>");
    out.println("</body>");
    out.println("</html>");
	/* ------------------------------------ */
    if (req.getParameter("submit") != null) {
      double num = Double.parseDouble(req.getParameter("number"));
	                //Type conversion
       // Invoke method
       processRequest(num, out);
       }
	   else
	{
        out.println("Don't leave textField empty");
     }
     } 
	 finally
	{
        out.close(); // free resource 
    }
    }
    protected void processRequest(double num,
		PrintWriter out)throws ServletException,IOException
	 {
        //Check input number is positive or negative
       if (num >= 0) {
            //Check number is even or odd
       if((num % 2.0) != 1) {
           out.printf("Input number (%.1f) is positive and Even ",
			          num);
       }
	   else
	   {
           out.printf("Input number (%.1f) is positive and ODD ",
			           num);
       }
            // Code for prime factorization 
          out.print("<BR>The prime factorization of " + num + " = ");
       for (double i = 2; i <= num / i; i++) {
           // Continue loop until number divide by i
       while (num % i == 0) {
       out.print(i + " x ");
       num = num / i;
      }
      }
       out.print(num);
      }
	  else
	  {
       out.printf("Enter number (%.1f) is negative ", num);
      }
    }
    @Override
    public String getServletInfo() {
        return "r4r.co.in-primeFactorServlet";
    }
}
Output of Program
Previous Home Next