=UTF-8
diff --git a/Servlet & JSP/CalculateAge/.settings/org.eclipse.jdt.core.prefs b/Servlet & JSP/CalculateAge/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..d4540a5
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.common.component b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..bda1e2b
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.common.project.facet.core.xml b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..edf9973
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.jsdt.ui.superType.container b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.jsdt.ui.superType.name b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/Servlet & JSP/CalculateAge/build/classes/com/servlets/CalculateAge.class b/Servlet & JSP/CalculateAge/build/classes/com/servlets/CalculateAge.class
new file mode 100644
index 0000000..b316929
Binary files /dev/null and b/Servlet & JSP/CalculateAge/build/classes/com/servlets/CalculateAge.class differ
diff --git a/Servlet & JSP/CalculateAge/src/main/java/com/servlets/CalculateAge.java b/Servlet & JSP/CalculateAge/src/main/java/com/servlets/CalculateAge.java
new file mode 100644
index 0000000..92bb09c
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/src/main/java/com/servlets/CalculateAge.java
@@ -0,0 +1,40 @@
+package com.servlets;
+
+import java.io.IOException;
+import java.time.LocalDate;
+import java.time.Period;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@WebServlet("/calculate")
+
+public class CalculateAge extends HttpServlet{
+
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+ LocalDate dateOfBirth = LocalDate.parse(request.getParameter("dateOfBirth"));
+ LocalDate age = LocalDate.parse(request.getParameter("age"));
+
+ Period period = Period.between(dateOfBirth,age);
+ int years = period.getYears();
+
+ period = period.minusYears(years);
+ int months = period.getMonths();
+
+ period = period.minusMonths(months);
+ int days = period.getDays();
+
+ request.setAttribute("years", years);
+ request.setAttribute("months",months);
+ request.setAttribute("days",days);
+
+ RequestDispatcher rd = request.getRequestDispatcher("View.jsp");
+ rd.forward(request, response);
+ }
+
+}
diff --git a/Servlet & JSP/CalculateAge/src/main/webapp/META-INF/MANIFEST.MF b/Servlet & JSP/CalculateAge/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/Servlet & JSP/CalculateAge/src/main/webapp/View.jsp b/Servlet & JSP/CalculateAge/src/main/webapp/View.jsp
new file mode 100644
index 0000000..52e1fca
--- /dev/null
+++ b/Servlet & JSP/CalculateAge/src/main/webapp/View.jsp
@@ -0,0 +1,26 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+
+
+
+
+Calculate Age
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Servlet & JSP/Factorial/.classpath b/Servlet & JSP/Factorial/.classpath
new file mode 100644
index 0000000..a7ff9b5
--- /dev/null
+++ b/Servlet & JSP/Factorial/.classpath
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Servlet & JSP/Factorial/.project b/Servlet & JSP/Factorial/.project
new file mode 100644
index 0000000..6e4339e
--- /dev/null
+++ b/Servlet & JSP/Factorial/.project
@@ -0,0 +1,31 @@
+
+
+ Factorial
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ org.eclipse.wst.common.project.facet.core.nature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.wst.jsdt.core.jsNature
+
+
diff --git a/Servlet & JSP/Factorial/.settings/.jsdtscope b/Servlet & JSP/Factorial/.settings/.jsdtscope
new file mode 100644
index 0000000..76c2d63
--- /dev/null
+++ b/Servlet & JSP/Factorial/.settings/.jsdtscope
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Servlet & JSP/Factorial/.settings/org.eclipse.core.resources.prefs b/Servlet & JSP/Factorial/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/Servlet & JSP/Factorial/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/Servlet & JSP/Factorial/.settings/org.eclipse.jdt.core.prefs b/Servlet & JSP/Factorial/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..d4540a5
--- /dev/null
+++ b/Servlet & JSP/Factorial/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/Servlet & JSP/Factorial/.settings/org.eclipse.wst.common.component b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.common.component
new file mode 100644
index 0000000..9267b9a
--- /dev/null
+++ b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/Servlet & JSP/Factorial/.settings/org.eclipse.wst.common.project.facet.core.xml b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..3415776
--- /dev/null
+++ b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Servlet & JSP/Factorial/.settings/org.eclipse.wst.jsdt.ui.superType.container b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 0000000..3bd5d0a
--- /dev/null
+++ b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/Servlet & JSP/Factorial/.settings/org.eclipse.wst.jsdt.ui.superType.name b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 0000000..05bd71b
--- /dev/null
+++ b/Servlet & JSP/Factorial/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window
\ No newline at end of file
diff --git a/Servlet & JSP/Factorial/build/classes/com/servlets/FactorialTable.class b/Servlet & JSP/Factorial/build/classes/com/servlets/FactorialTable.class
new file mode 100644
index 0000000..397e4cd
Binary files /dev/null and b/Servlet & JSP/Factorial/build/classes/com/servlets/FactorialTable.class differ
diff --git a/Servlet & JSP/Factorial/src/main/java/com/servlets/FactorialTable.java b/Servlet & JSP/Factorial/src/main/java/com/servlets/FactorialTable.java
new file mode 100644
index 0000000..f7bb1b2
--- /dev/null
+++ b/Servlet & JSP/Factorial/src/main/java/com/servlets/FactorialTable.java
@@ -0,0 +1,35 @@
+package com.servlets;
+
+import java.io.*;
+
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.*;
+
+@WebServlet("/factorial")
+
+public class FactorialTable extends HttpServlet{
+
+ public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ response.setContentType("text/html");
+
+ PrintWriter out = response.getWriter();
+
+ out.print(""
+ + ""
+ + ""
+ +""
+ +"| Number | Factorial |
"
+ +"| 0 | 1 |
" + '\n');
+
+ long factorial = 1;
+
+ for(int i=1;i<=10;i++) {
+ factorial *= i;
+ out.println("| "+ i + " | " + factorial + " |
");
+ }
+
+ out.print("
");
+ }
+}
diff --git a/Servlet & JSP/Factorial/src/main/webapp/META-INF/MANIFEST.MF b/Servlet & JSP/Factorial/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/Servlet & JSP/Factorial/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+