diff --git a/HelloWeb/build.xml b/HelloWeb/build.xml
new file mode 100644
index 0000000000000000000000000000000000000000..21452eab775d5660008b4984bf8560036a951e1a
--- /dev/null
+++ b/HelloWeb/build.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<!-- By default, only the Clean and Build commands use this build script. -->
+<!-- Commands such as Run, Debug, and Test only use this build script if -->
+<!-- the Compile on Save feature is turned off for the project. -->
+<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
+<!-- in the project's Project Properties dialog box.-->
+<project name="HelloWeb" default="default" basedir=".">
+    <description>Builds, tests, and runs the project HelloWeb.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <!--
+
+    There exist several targets which are by default empty and which can be 
+    used for execution of your tasks. These targets are usually executed 
+    before and after some main targets. They are: 
+
+      -pre-init:                 called before initialization of project properties 
+      -post-init:                called after initialization of project properties 
+      -pre-compile:              called before javac compilation 
+      -post-compile:             called after javac compilation 
+      -pre-compile-single:       called before javac compilation of single file
+      -post-compile-single:      called after javac compilation of single file
+      -pre-compile-test:         called before javac compilation of JUnit tests
+      -post-compile-test:        called after javac compilation of JUnit tests
+      -pre-compile-test-single:  called before javac compilation of single JUnit test
+      -post-compile-test-single: called after javac compilation of single JUunit test
+      -pre-dist:                 called before archive building 
+      -post-dist:                called after archive building 
+      -post-clean:               called after cleaning build products 
+      -pre-run-deploy:           called before deploying
+      -post-run-deploy:          called after deploying
+
+    Example of pluging an obfuscator after the compilation could look like 
+
+        <target name="-post-compile">
+            <obfuscate>
+                <fileset dir="${build.classes.dir}"/>
+            </obfuscate>
+        </target>
+
+    For list of available properties check the imported 
+    nbproject/build-impl.xml file. 
+
+
+    Other way how to customize the build is by overriding existing main targets.
+    The target of interest are: 
+
+      init-macrodef-javac:    defines macro for javac compilation
+      init-macrodef-junit:   defines macro for junit execution
+      init-macrodef-debug:    defines macro for class debugging
+      do-dist:                archive building
+      run:                    execution of project 
+      javadoc-build:          javadoc generation 
+
+    Example of overriding the target for project execution could look like 
+
+        <target name="run" depends="<PROJNAME>-impl.jar">
+            <exec dir="bin" executable="launcher.exe">
+                <arg file="${dist.jar}"/>
+            </exec>
+        </target>
+
+    Notice that overridden target depends on jar target and not only on 
+    compile target as regular run target does. Again, for list of available 
+    properties which you can use check the target you are overriding in 
+    nbproject/build-impl.xml file. 
+
+    -->
+</project>
diff --git a/HelloWeb/build/web/CompleteOrder.jsp b/HelloWeb/build/web/CompleteOrder.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..a391722f4b82ca63b942d62759148061ac132c84
--- /dev/null
+++ b/HelloWeb/build/web/CompleteOrder.jsp
@@ -0,0 +1,60 @@
+<%-- 
+    Document   : CompleteOrder
+    Created on : Nov 4, 2017, 11:24:04 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <jsp:include page="HeaderWithMenu.jsp" />
+        <div class="edit-profile-header">
+            Make an order       
+        </div>
+        <div class="progress-container">
+            <div class="progress">
+                <div class="progress-num">1</div> Select Destination
+            </div>
+            <div class="progress">
+                <div class="progress-num">2</div> Select a driver
+            </div>
+            <div class="progress selected">
+                <div class="progress-num selected">3</div> Complete your order
+            </div>
+        </div>
+        <div class="edit-profile-header">
+            How was it?
+        </div>
+        <form action="/order/<?php echo $this->user; ?>/completeorder/finish" method="post" name="completeorder-form">
+            <div class="completeorder-container">
+            <input type='hidden' name='driver' value='<?php echo $this->driver; ?>'>
+            <input type='hidden' name='from' value='<?php echo $this->from; ?>'>
+            <input type='hidden' name='dest' value='<?php echo $this->dest; ?>'>
+            <img class="driver-completeorder-pic" src="<?php echo $this->image; ?>" alt="">
+            <div class="driver-name-disp">@<?php echo $this->driver; ?></div>
+            <div class="driver-fullname-disp"><?php echo $this->drivername; ?></div>
+            <span class="starRating">
+              <input id="rating5" type="radio" name="rating" value="5">
+              <label for="rating5">5</label>
+              <input id="rating4" type="radio" name="rating" value="4">
+              <label for="rating4">4</label>
+              <input id="rating3" type="radio" name="rating" value="3">
+              <label for="rating3">3</label>
+              <input id="rating2" type="radio" name="rating" value="2">
+              <label for="rating2">2</label>
+              <input id="rating1" type="radio" name="rating" value="1">
+              <label for="rating1">1</label>
+            </span>
+            <textarea cols="5" placeholder="Your comment..." name="comment"></textarea>
+            </div>
+            <div class="right-align">
+                <input class="accept-button select-driver-btn completeorder-btn" type="submit" value="Complete&#13;&#10;Order">
+            </div>
+        </form>
+        <jsp:include page="Footer.jsp" />
+    </body>
+</html>
diff --git a/HelloWeb/build/web/Footer.jsp b/HelloWeb/build/web/Footer.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..cb71c0e72911f50c9dbe43c71bd65e1480f68104
--- /dev/null
+++ b/HelloWeb/build/web/Footer.jsp
@@ -0,0 +1,21 @@
+<%-- 
+    Document   : Footer
+    Created on : Nov 4, 2017, 11:22:37 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        <div class="footer">
+            <div>Dayu <br /> 13500000</div>
+            <div>Marvin <br /> 1350000</div>
+            <div>Adrian HP <br /> 13515091</div>
+        </div>
+    </body>
+</html>
diff --git a/HelloWeb/build/web/Header.jsp b/HelloWeb/build/web/Header.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..119e70cf6571e555a0c91f2d8cd7a3725e9bf931
--- /dev/null
+++ b/HelloWeb/build/web/Header.jsp
@@ -0,0 +1,17 @@
+<%-- 
+    Document   : Header
+    Created on : Nov 4, 2017, 11:22:56 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        
+    </body>
+</html>
diff --git a/HelloWeb/build/web/HeaderWithMenu.jsp b/HelloWeb/build/web/HeaderWithMenu.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..78c4a75393711918b69da7a6a7906f70ea9e48aa
--- /dev/null
+++ b/HelloWeb/build/web/HeaderWithMenu.jsp
@@ -0,0 +1,43 @@
+<%-- 
+    Document   : HeaderWithMenu
+    Created on : Nov 4, 2017, 11:23:12 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <link rel="stylesheet" href="css/profile.css"/>
+        <link rel="stylesheet" href="css/style.css"/>
+    </head>
+    <body>
+        <div>
+            <header class="header-box">
+                <div class="col-header-left">
+                    <div>
+                        <span class='logo-title'>MotoRaido</span><br />
+                        <span class='tagline'>Anata to issho ni noru mōtā</span>
+                    </div>	
+                </div>
+                <div class="col-header-right">
+                    <div>
+                        Hi, <b><?php echo $this->user; ?></b> !
+                    </div>
+                    <div>
+                        <a href="/login">Logout</a>
+                    </div>
+                </div>
+            </header>
+            <div class='menu'>
+                <div class="menu-column"></div>
+                <div class="menu-column"></div>
+                <div class="menu-column"></div>
+                <div id="orderheader" class="menu-cell"><a href="/order/<?php echo $this->user; ?>" class="text-link">ORDER</a></div>
+                <div id="historyheader" class="menu-cell"><a href="/history/<?php echo $this->user; ?>" class="text-link">HISTORY</a></div>
+                <div id="profileheader" class="menu-cell"><a href="/profile/<?php echo $this->user; ?>" class="text-link">MY PROFILE</a></div>
+            </div>
+        </div>
+    </body>
+</html>
diff --git a/HelloWeb/build/web/META-INF/MANIFEST.MF b/HelloWeb/build/web/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..59499bce4a2bd51cba227b7c00fcf745b19c95a4
--- /dev/null
+++ b/HelloWeb/build/web/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/HelloWeb/build/web/Order.jsp b/HelloWeb/build/web/Order.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..2e60e67aec463f378c67bdefc5c1691c2eeff4ac
--- /dev/null
+++ b/HelloWeb/build/web/Order.jsp
@@ -0,0 +1,52 @@
+<%-- 
+    Document   : Order
+    Created on : Nov 4, 2017, 11:23:35 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <jsp:include page="HeaderWithMenu.jsp" />
+        <div class="container">
+            <div class="edit-profile-header">
+                Make an order       
+            </div>
+            <div class="progress-container">
+                <div class="progress selected">
+                    <div class="progress-num">1</div> Select Destination
+                </div>
+                <div class="progress">
+                    <div class="progress-num">2</div> Select a driver
+                </div>
+                <div class="progress">
+                    <div class="progress-num">3</div> Complete your order
+                </div>
+            </div>
+            <form action="SelectDriver.jsp"  method='post'>
+                <div class="edit-profile-btm">
+                    <div class="form-input">
+                        <label for="pick-point">Picking point</label>
+                        <input class="ep-textarea" type="text" name="pick-point" />
+                    </div>
+                    <div class="form-input">
+                        <label for="destination">Destination</label>
+                        <input class="ep-textarea" type="text" name="destination" />
+                    </div>
+                    <div class="form-input">
+                        <label for="pref-driver">Preferred Driver</label>
+                        <input class="ep-textarea" type="text" name="pref-driver" placeholder="(Optional)"/>
+                    </div>
+                    <div class="right-align">
+                        <input class="accept-button select-driver-btn" id="save-profile" type="submit" value="Next" />
+                    </div>
+                </div>
+            </form>
+        </div>
+        <jsp:include page="Footer.jsp" />
+    </body>
+</html>
diff --git a/HelloWeb/build/web/SelectDriver.jsp b/HelloWeb/build/web/SelectDriver.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..66883b9eab372f10232faadc29186ce462e57856
--- /dev/null
+++ b/HelloWeb/build/web/SelectDriver.jsp
@@ -0,0 +1,42 @@
+<%-- 
+    Document   : SelectDriver
+    Created on : Nov 4, 2017, 11:23:47 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <jsp:include page="HeaderWithMenu.jsp" />
+        <div class="edit-profile-header">
+            Make an order       
+        </div>
+        <div class="progress-container">
+            <div class="progress">
+                <div class="progress-num">1</div> Select Destination
+            </div>
+            <div class="progress selected">
+                <div class="progress-num">2</div> Select a driver
+            </div>
+            <div class="progress">
+                <div class="progress-num">3</div> Complete your order
+            </div>
+        </div>
+        <div id="pref-driver" class="select-driver">
+            <div class= "selectdriver-header">
+                Preferred Drivers:
+            </div>
+            </div>
+        <div id="other-driver" class="select-driver">
+            <div class="selectdriver-header">
+                Other Drivers:
+            </div>
+        </div>
+        <script src="js/selectdriver.js"></script>
+        <jsp:include page="Footer.jsp" />
+    </body>
+</html>
diff --git a/HelloWeb/build/web/WEB-INF/classes/.netbeans_automatic_build b/HelloWeb/build/web/WEB-INF/classes/.netbeans_automatic_build
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/build/web/WEB-INF/classes/.netbeans_update_resources b/HelloWeb/build/web/WEB-INF/classes/.netbeans_update_resources
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/build/web/WEB-INF/classes/org/mypackage/hello/NameHandler.class b/HelloWeb/build/web/WEB-INF/classes/org/mypackage/hello/NameHandler.class
new file mode 100644
index 0000000000000000000000000000000000000000..c9e8c8d051dd25f65ce84513b67d78227225a499
Binary files /dev/null and b/HelloWeb/build/web/WEB-INF/classes/org/mypackage/hello/NameHandler.class differ
diff --git a/HelloWeb/build/web/css/.gitkeep b/HelloWeb/build/web/css/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/build/web/css/fonts/geo.woff2 b/HelloWeb/build/web/css/fonts/geo.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..4c1d8680a68afc90ed228ae5c313f9002255b7b2
Binary files /dev/null and b/HelloWeb/build/web/css/fonts/geo.woff2 differ
diff --git a/HelloWeb/build/web/css/fonts/mukta1.woff2 b/HelloWeb/build/web/css/fonts/mukta1.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..dfa6d95388c06078e73dc1ccc0df0cdd8c152c4b
Binary files /dev/null and b/HelloWeb/build/web/css/fonts/mukta1.woff2 differ
diff --git a/HelloWeb/build/web/css/fonts/mukta2.woff2 b/HelloWeb/build/web/css/fonts/mukta2.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..ed0d8a0451ef90b479b036e337f741573dfa55bb
Binary files /dev/null and b/HelloWeb/build/web/css/fonts/mukta2.woff2 differ
diff --git a/HelloWeb/build/web/css/fonts/mukta3.woff2 b/HelloWeb/build/web/css/fonts/mukta3.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..b6d906226264df96ac57ba02427ae5043bfd031f
Binary files /dev/null and b/HelloWeb/build/web/css/fonts/mukta3.woff2 differ
diff --git a/HelloWeb/build/web/css/profile.css b/HelloWeb/build/web/css/profile.css
new file mode 100644
index 0000000000000000000000000000000000000000..7bf19a4f7d989ea396720a3c92bd8cb9cce368d7
--- /dev/null
+++ b/HelloWeb/build/web/css/profile.css
@@ -0,0 +1,154 @@
+.profile-picture {
+  width: 150px;
+  height: 150px;
+  border: 5px solid black;
+  float: left;
+  border-radius: 500px;
+  clear: both;
+}
+
+#info-profile {
+  margin: 20px 0px;
+  height: auto;
+}
+
+.edit-pen {
+  float: right;
+  height: 30px;
+
+}
+
+.subtitle-profile {
+  float: left;
+  width: 200px;
+  font-size: 2em;
+  font-weight: bold;
+  font-family: 'Mutka', sans-serif;
+}
+
+#profile-pic-div {
+  margin: auto;
+  width: 160px;
+  height: 160px;
+}
+
+#edit-pen-div {
+  margin: auto;
+  height: auto;
+}
+
+.subtitle-cont {
+  margin-bottom: 20px;
+  height: 37px;
+}
+
+#info-text {
+  margin: auto;
+  font-size: 1.2em;
+}
+
+#list-info {
+  list-style: none;
+  text-align: center;
+  padding: 0px;
+}
+
+#prefer-loc-title {
+  font-size: 1.5em;
+  width: 400px;
+}
+
+.fa-star-o{
+  color: red;
+}
+
+#info-pref-text {
+  font-size: 1.2em;
+}
+
+.subtitle-history {
+  float: left;
+  font-size: 2em;
+  font-weight: bold;
+  font-family: 'Mutka', sans-serif;
+  margin-top: 20px; 
+}
+
+.history-pic-div {
+  width: 120px;
+  height: 120px;
+  margin: 0px 20px;
+  float: left;
+}
+
+.profile-pic-his {
+  width: 110px;
+  height: 110px;
+  border: 1px solid black;
+  float: left;
+}
+
+.history-list {
+  margin-top: 20px;
+  list-style: none;
+  padding: 0px;
+  height: auto;
+}
+
+.order-list {
+  display: none;
+}
+
+.driver-list {
+  display: none;
+}
+
+.active-list {
+  display:block;
+}
+
+.comment {
+  margin-left: 180px;
+}
+
+.hide{
+  width: auto;
+  padding: 10px 15px;
+  border: 1px solid black;
+  border-radius: 10px;
+  background-color: red;
+  position: absolute;
+  right: 0;
+}
+
+.his-text>span {
+  display: inline-block;
+}
+
+.list-text-his {
+  height: auto;
+  position: relative;
+  clear: both;
+}
+
+.date-his {
+  color: gray;
+}
+
+.name-his {
+  font-size: 1.2em;
+}
+
+.tab-active {
+  display: block;
+}
+
+.active {
+  color: #ffffff;
+  border-color: #000000;
+  background-color: #5A1E83;
+}
+
+.hide-element {
+  display: none;
+}
\ No newline at end of file
diff --git a/HelloWeb/build/web/css/style.css b/HelloWeb/build/web/css/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..ae7bb6a41858edde4cdc42187c4481c84a4a3473
--- /dev/null
+++ b/HelloWeb/build/web/css/style.css
@@ -0,0 +1,628 @@
+@charset "UTF-8";
+
+body {
+  width: 470px;
+  margin: auto;
+  font-family: 'Mutka', sans-serif;
+}
+
+textarea {
+  resize: none;
+  width: 100%;
+  margin-bottom: 10px;
+}
+
+/* Order Header */
+  .progress-container {
+    width: fit-content;
+    border-collapse:separate;
+    border-spacing: 10px 10px;
+    display: table;
+  }
+
+  .progress {
+    width: 30%;
+    height: 50px;
+    font-size: 105%;
+    border: 1px solid black;
+    text-align: left;
+    vertical-align: middle;
+    display: table-cell;
+  }
+
+  .progress-num {
+    display:inline-block;
+    background-color: #DDD;
+    width: 35px;
+    height: 35px;
+    border-radius: 100%;
+    margin: 0px 5px;
+    line-height: 200%;
+    text-align: center;
+    vertical-align: middle;
+    float: left;
+  }
+
+  .selected {
+    background-color: #FFFF44;
+  }
+
+/* Header style */
+
+.header-box {
+  height: fit-content content-box;
+  width: fit-content content-box;
+  margin-left: auto;
+  margin-right: auto;
+  margin-top: none;
+  margin-bottom: none;
+  font-family: 'Mutka', sans-serif;
+  column-count: 2;
+  -moz-column-count: 2;
+  -webkit-column-count: 2;
+  -webkit-column-span: all; /* Chrome, Safari, Opera */
+  column-span: all;
+  column-gap: 40px;
+}
+
+.col-header-left {
+  width: 50% content-box;
+  float: left;
+  vertical-align: middle;
+}
+
+.logo-title {
+  font-family: 'Geo', sans-serif;
+  font-weight: bold;
+  font-size: 250%;
+  color: #5A1E83;
+}
+
+.tagline {
+  color: #311B92;
+}
+
+.col-header-right {
+  width: 50% content-box;
+  float: right;
+  text-align: right;
+  vertical-align: middle;
+  line-height: 2;
+}
+
+/* Menu style */
+
+.menu {
+  width: 100%;
+  display: table;
+  table-layout: fixed;
+}
+
+.menu > div.menu-column {
+  display: table-column;
+}
+
+.menu > div.menu-cell {
+  display: table-cell;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+  line-height: 50px;
+  text-align: center;
+  font-weight: bold;
+  border-style: solid;
+  border-width: 1px;
+}
+
+.menu > div:hover, .menu > div.selected {
+  color: #ffffff;
+  border-color: #000000;
+  background-color: #5A1E83;
+}
+
+/* Footer style */
+.footer {
+  column-count: 3;
+  -moz-column-count: 3;
+  -webkit-column-count: 3;
+  -webkit-column-span: all;
+  column-span: all;
+  -moz-column-gap: 2em;
+  -webkit-column-gap: 2em;
+  column-gap: 1.5em;
+  column-rule-style: solid;
+  border-style: solid;
+  border-width: 2px;
+}
+
+.footer > div {
+  width: fit-content content-box;
+  text-align: center;
+  font-weight: bold;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+}
+
+.img-chooser {
+  padding-top: 20px;
+}
+
+.text-link {
+  text-decoration: none;
+  font-size: 120%;
+  font-weight: bold;
+  color: black;
+}
+
+
+
+/* Container */
+.container {
+  width: inherit;
+}
+
+.header {
+  line-height: 1.5;
+  text-transform: uppercase;
+}
+
+.selectdriver-header {
+  text-transform: uppercase;
+  font-weight: bold;
+}
+
+.edit-profile-container {
+  font-family: Verdana;
+}
+
+.edit-profile-header {
+  text-transform: uppercase;
+  font-weight: bold;
+  width: 100%;
+  font-size: 170%;
+}
+
+.edit-profile-btm {
+  clear: both;
+}
+
+.form-editprofile{
+  margin: 5px 0;
+}
+
+.ep-textarea{
+  width: 60%;
+  float: right;
+  clear: both;
+}
+
+.content-layout {
+  background-color: rgb(124, 206, 43);
+  padding: 50px;
+  border: 10px solid rgb(10, 127, 10);
+  border-radius: 100px;
+  width: 350px;
+}
+
+.title {
+  height: 27px;
+  padding: 0px 20px;
+}
+
+.title>div>h1 {
+  text-align: center;
+  margin-top: 0px;
+  width: 100px;
+  float: left;
+}
+
+.title>div>hr {
+  float:left;
+  position: relative;
+  width: 100px;
+  top: 5px;
+  background-color: rgb(10, 127, 10);
+  height: 5px;
+  border: none;
+}
+
+.form-layout {
+  clear: left;
+}
+
+.form-input {
+  width: 350px;
+  margin-bottom: 5px;
+}
+
+.form-input>div {
+  float: left;
+  width: 135px;
+}
+
+.form-input>input {
+  width: 198px;
+}
+
+.checked-input>input {
+  width: 170px;
+}
+
+.driver-checkbox {
+  margin: 20px 0px;
+}
+
+.driver-checkbox>input {
+  float: left;
+  margin-left: 0px;
+}
+
+
+.cancel-button {
+  width: 75px;
+  height: 30px;
+  text-align: center;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #D2002E;
+  border-radius: 10px;
+}
+
+.accept-button {
+  width: 75px;
+  height: 30px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+}
+
+.driver-completeorder-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+}
+
+.completeorder-container {
+  text-align: center;
+  clear: both;
+}
+
+.right-align {
+  width: 100%;
+  text-align: right;
+}
+
+.driver-fullname-disp {
+  font-size: 105%;
+  font-weight: bold;
+  margin-top: 5px;
+}
+
+/*Select driver*/
+.select-driver {
+  width: auto;
+  padding: 0 10px;
+  border-radius: 12px;
+  border: 1px solid black;
+  margin: 10px 0;
+}
+
+.driver-content {
+  height: 120px;
+  overflow: hidden;
+}
+
+.driver-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+  float: left;
+}
+
+.driver-name-disp {
+  font-size: 160%;
+  font-weight: bold;
+  margin-top: 10px;
+}
+
+.driver-rating-disp {
+  color: orange;
+  font-size: 110%;
+}
+
+.driver-not-found {
+  color: grey;
+  height: 70px;
+  text-align: center;
+  text-transform: none;
+  line-height: 70px;
+  vertical-align: middle;
+}
+
+.vote-disp {
+  color: black;
+}
+
+.select-driver-btn {
+  width: auto;
+  color: white;
+  background-color: #5A1E83;
+  letter-spacing: 0.5px;
+  float: right;
+}
+
+.order-btn {
+  float: none;
+  clear: both;
+}
+
+#profile-pic {
+  width: 150px;
+  height: 150px;
+  border: 1px solid black;
+  float: left;
+  margin-right: 25px;
+  margin-bottom: 30px;
+}
+
+#save-profile {
+  float: right;
+  margin-right: 120px;
+}
+
+#register-button {
+  background-color: #4CAF50;
+  border: 5px solid rgb(10, 127, 10);
+  border-radius: 20px;
+  color: white;
+  padding: 15px 32px;
+  text-align: center;
+  text-decoration: none;
+  display: inline-block;
+  font-size: 16px;
+  margin: 4px 2px;
+  cursor: pointer;
+}
+
+#button-layout>div {
+  float: left;
+  width: 200px;
+  height: 66px;
+}
+
+#button-layout a {
+  position: relative;
+  top: 20px;
+}
+
+
+.button-form {
+  text-align: right;
+  width: 350px;
+}
+
+.button-form div {
+  float: left;
+}
+
+.completeorder-btn {
+  width: 100px;
+  height: 50px;
+  float: none;
+}
+
+ /* The switch - the box around the slider */
+ .switch {
+  position: relative;
+  display: inline-block;
+
+  width: 50px;
+  height: 25px;
+}
+
+/* Hide default HTML checkbox */
+.switch input {display:none;}
+
+/* The slider */
+.slider {
+  position: absolute;
+  cursor: pointer;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: #ccc;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+.slider:before {
+  position: absolute;
+  content: "";
+  height: 19px;
+  width: 19px;
+  left: 4px;
+  bottom: 3px;
+  background-color: white;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+input:checked + .slider {
+  background-color: #1E7B25;
+}
+
+input:focus + .slider {
+  box-shadow: 0 0 1px #1E7B25;
+}
+
+input:checked + .slider:before {
+  -webkit-transform: translateX(23px);
+  -ms-transform: translateX(23px);
+  transform: translateX(23px);
+}
+
+/* Rounded sliders */
+.slider.round {
+  border-radius: 34px;
+}
+
+.slider.round:before {
+  border-radius: 50%;
+}
+
+/* Menu Order */
+.menu-order {
+  height: 100%;
+  width: 100%;
+  position: relative;
+  font-size: 12px;
+  border-spacing: 20px 12px;
+}
+
+.menu-order-column {
+  height: 100%;
+}
+
+.menu-order-cell {
+  display: table-cell;
+  position: relative;
+  text-align: left;
+  font-weight: bold;
+}
+
+.menu-order-number
+{
+    position: relative;
+    display: block;
+    width: 50px;
+    height: 50px;
+    border-radius: 25px; /* or 50% */
+    text-align: center;
+    margin-left: auto;
+    margin-right: auto;
+    background-color: #311B92;
+    color: #ffffff;
+    line-height: 50px;
+}
+
+.menu-order-title
+{
+    position: relative;
+    display: inline-block;
+}
+
+#next-button-text {
+  line-height: 20px;
+  width: 75%;
+  padding-right: 1px;
+}
+
+input.next-button {
+  width: 20%;
+  height: 30px;
+  line-height: 20px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+  display: inline-block;
+}
+
+table, th, td {
+  table-layout: auto !important;
+  width: 100% auto !important;
+  max-width:100%;
+  white-space:nowrap;
+  border: 1px solid black;
+  border-collapse: collapse;
+}
+
+.pref-button {
+  width: 21px;
+  height: 21px;
+  vertical-align: middle;
+  border: none;
+  display: inline-block;
+}
+
+/** Rating **/
+.starRating:not(old){
+  display        : inline-block;
+  width          : 7.5em;
+  height         : 1.5em;
+  overflow       : hidden;
+  vertical-align : bottom;
+}
+
+.starRating:not(old) > input{
+  margin-right : -100%;
+  opacity      : 0;
+}
+
+.starRating:not(old) > label{
+  display         : block;
+  float           : right;
+  position        : relative;
+  background      : url('../img/star-off.svg');
+  background-size : contain;
+}
+
+.starRating:not(old) > label:before{
+  content         : '';
+  display         : block;
+  width           : 1.5em;
+  height          : 1.5em;
+  background      : url('../img/star-on.svg');
+  background-size : contain;
+  opacity         : 0;
+  transition      : opacity 0.2s linear;
+}
+
+.starRating:not(old) > label:hover:before,
+.starRating:not(old) > label:hover ~ label:before,
+.starRating:not(:hover) > :checked ~ label:before{
+  opacity : 1;
+}
+
+/* Font customization */
+/* latin */
+@font-face {
+  font-family: 'Geo';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Geo'), local('Geo-Regular'), url(./fonts/geo.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+/* devanagari */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
+}
+/* latin-ext */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
diff --git a/HelloWeb/build/web/css/style_old.css b/HelloWeb/build/web/css/style_old.css
new file mode 100644
index 0000000000000000000000000000000000000000..7ee8d5f20ad0ad8b49088c590ce18c398f09c1d8
--- /dev/null
+++ b/HelloWeb/build/web/css/style_old.css
@@ -0,0 +1,614 @@
+@charset "UTF-8";
+
+/* Font customization */
+/* latin */
+@font-face {
+  font-family: 'Geo';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Geo'), local('Geo-Regular'), url(./fonts/geo.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+/* devanagari */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
+}
+/* latin-ext */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+/* Body style */
+
+body {
+  width: 470px;
+  margin: auto;
+  font-family: 'Mutka', sans-serif;
+}
+
+textarea {
+  resize: none;
+  width: 100%;
+  margin-bottom: 10px;
+}
+
+/* Order Header */
+  .progress-container {
+    width: fit-content;
+    border-collapse:separate;
+    border-spacing: 10px 10px;
+    display: table;
+  }
+
+  .progress {
+    width: 30%;
+    height: 50px;
+    font-size: 105%;
+    border: 1px solid black;
+    text-align: left;
+    vertical-align: middle;
+    display: table-cell;
+  }
+
+  .progress-num {
+    display:inline-block;
+    background-color: #DDD;
+    width: 35px;
+    height: 35px;
+    border-radius: 100%;
+    margin: 0px 5px;
+    line-height: 200%;
+    text-align: center;
+    vertical-align: middle;
+  }
+
+  .selected {
+    background-color: #FFFF44;
+  }
+
+/* Header style */
+
+.header-box {
+  height: fit-content content-box;
+  width: fit-content content-box;
+  margin-left: auto;
+  margin-right: auto;
+  margin-top: none;
+  margin-bottom: none;
+  column-count: 2;
+  -moz-column-count: 2;
+  -webkit-column-count: 2;
+  -webkit-column-span: all; /* Chrome, Safari, Opera */
+  column-span: all;
+  column-gap: 40px;
+}
+
+.col-header-left {
+  width: 50% content-box;
+  float: left;
+  vertical-align: middle;
+}
+
+.logo-title {
+  font-family: 'Geo', sans-serif;
+  font-weight: bold;
+  font-size: 250%;
+  color: #5A1E83;
+}
+
+.tagline {
+  color: #311B92;
+}
+
+.col-header-right {
+  width: 50% content-box;
+  float: right;
+  text-align: right;
+  vertical-align: middle;
+  line-height: 2;
+}
+
+/* Menu style */
+
+.menu {
+  width: 100%;
+  display: table;
+  table-layout: fixed;
+}
+
+.menu > div.menu-column {
+  display: table-column;
+}
+
+.menu > div.menu-cell {
+  display: table-cell;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+  line-height: 50px;
+  text-align: center;
+  font-weight: bold;
+  border-style: solid;
+  border-width: 1px;
+}
+
+.menu-item:hover, .menu-item#selected {
+  color: #ffffff;
+  border-color: #000000;
+  background-color: #5A1E83;
+}
+
+/* Footer style */
+.footer {
+  width: 100% fit-content;
+  display: inline-block;
+  column-count: 3;
+  column-span: all;
+  column-gap: 1.5em;
+  column-rule-style: solid;
+  border-style: solid;
+  border-width: 2px;
+  margin: auto;
+}
+
+.footer > div {
+  text-align: center;
+  font-weight: bold;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+}
+
+.img-chooser {
+  padding-top: 20px;
+}
+
+/* Container */
+.container {
+  width: inherit;
+}
+
+.header {
+  line-height: 1.5;
+  text-transform: uppercase;
+}
+
+.selectdriver-header {
+  text-transform: uppercase;
+  font-weight: bold;
+}
+
+.edit-profile-container {
+  font-family: Verdana;
+}
+
+.edit-profile-header {
+  text-transform: uppercase;
+  font-weight: bold;
+  width: 100%;
+  font-size: 170%;
+}
+
+.edit-profile-btm {
+  clear: both;
+}
+
+.form-editprofile{
+  margin: 5px 0;
+}
+
+
+
+.ep-textarea{
+  width: 60%;
+  float: right;
+  clear: both;
+}
+
+.content-layout {
+  background-color: rgb(124, 206, 43);
+  padding: 50px;
+  border: 10px solid rgb(10, 127, 10);
+  border-radius: 100px;
+  width: 350px;
+}
+
+.title {
+  height: 27px;
+  padding: 0px 20px;
+}
+
+.title>div>h1 {
+  text-align: center;
+  margin-top: 0px;
+  width: 100px;
+  float: left;
+}
+
+.title>div>hr {
+  float:left;
+  position: relative;
+  width: 100px;
+  top: 5px;
+  background-color: rgb(10, 127, 10);
+  height: 5px;
+  border: none;
+}
+
+.form-layout {
+  clear: left;
+}
+
+.form-input {
+  width: 350px;
+  margin-bottom: 5px;
+}
+
+.form-input>div {
+  float: left;
+  width: 130px;
+}
+
+.form-input>input {
+  width: 198px;
+}
+
+.driver-checkbox {
+  margin: 20px 0px;
+}
+
+.driver-checkbox>input {
+  float: left;
+  margin-left: 0px;
+}
+
+
+.cancel-button {
+  width: 75px;
+  height: 30px;
+  text-align: center;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #D2002E;
+  border-radius: 10px;
+}
+
+.accept-button {
+  width: 75px;
+  height: 30px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+}
+
+
+.driver-completeorder-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+}
+
+.completeorder-container {
+  text-align: center;
+  clear: both;
+}
+
+.right-align {
+  width: 100%;
+  text-align: right;
+}
+
+.driver-fullname-disp {
+  font-size: 105%;
+  font-weight: bold;
+  margin-top: 5px;
+}
+
+/*Select driver*/
+.select-driver {
+  width: fit-content;
+  padding: 0 10px;
+  border-radius: 12px;
+  border: 1px solid black;
+  margin: 10px 0;
+}
+
+.driver-content {
+  height: 120px;
+  overflow: hidden;
+}
+
+.driver-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+  float: left;
+}
+
+.driver-name-disp {
+  font-size: 160%;
+  font-weight: bold;
+  margin-top: 10px;
+}
+
+.driver-rating-disp {
+  color: orange;
+  font-size: 110%;
+}
+
+.driver-not-found {
+  color: grey;
+  height: 70px;
+  text-align: center;
+  text-transform: none;
+  line-height: 70px;
+  vertical-align: middle;
+}
+
+.vote-disp {
+  color: black;
+}
+
+.select-driver-btn {
+  width: auto;
+  color: white;
+  background-color: #5A1E83;
+  letter-spacing: 0.5px;
+  float: right;
+}
+
+.order-btn {
+  float: none;
+  clear: both;
+}
+
+#profile-pic {
+  width: 150px;
+  height: 150px;
+  border: 1px solid black;
+  float: left;
+  margin-right: 25px;
+  margin-bottom: 30px;
+}
+
+#save-profile {
+  float: right;
+}
+
+#register-button {
+  background-color: #4CAF50;
+  border: 5px solid rgb(10, 127, 10);
+  border-radius: 20px;
+  color: white;
+  padding: 15px 32px;
+  text-align: center;
+  text-decoration: none;
+  display: inline-block;
+  font-size: 16px;
+  margin: 4px 2px;
+  cursor: pointer;
+}
+
+#button-layout>div {
+  float: left;
+  width: 200px;
+  height: 66px;
+}
+
+#button-layout a {
+  position: relative;
+  top: 20px;
+}
+
+
+.button-form {
+  text-align: right;
+  width: 100%;
+}
+
+.button-form div {
+  float: left;
+}
+
+.completeorder-btn {
+  width: 100px;
+  height: 50px;
+  float: none;
+}
+
+ /* The switch - the box around the slider */
+ .switch {
+  position: relative;
+  display: inline-block;
+
+  width: 50px;
+  height: 25px;
+}
+
+/* Hide default HTML checkbox */
+.switch input {display:none;}
+
+/* The slider */
+.slider {
+  position: absolute;
+  cursor: pointer;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: #ccc;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+.slider:before {
+  position: absolute;
+  content: "";
+  height: 19px;
+  width: 19px;
+  left: 4px;
+  bottom: 3px;
+  background-color: white;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+input:checked + .slider {
+  background-color: #1E7B25;
+}
+
+input:focus + .slider {
+  box-shadow: 0 0 1px #1E7B25;
+}
+
+input:checked + .slider:before {
+  -webkit-transform: translateX(23px);
+  -ms-transform: translateX(23px);
+  transform: translateX(23px);
+}
+
+/* Rounded sliders */
+.slider.round {
+  border-radius: 34px;
+}
+
+.slider.round:before {
+  border-radius: 50%;
+}
+
+/* Menu Order */
+.menu-order {
+  height: 100%;
+  width: 100%;
+  position: relative;
+  font-size: 12px;
+  border-spacing: 20px 12px;
+}
+
+.menu-order-column {
+  height: 100%;
+}
+
+.menu-order-cell {
+  display: table-cell;
+  position: relative;
+  text-align: left;
+  font-weight: bold;
+}
+
+.menu-order-number
+{
+    position: relative;
+    display: block;
+    width: 50px;
+    height: 50px;
+    border-radius: 25px; /* or 50% */
+    text-align: center;
+    margin-left: auto;
+    margin-right: auto;
+    background-color: #311B92;
+    color: #ffffff;
+    line-height: 50px;
+}
+
+.menu-order-title
+{
+    position: relative;
+    display: inline-block;
+}
+
+#next-button-text {
+  line-height: 20px;
+  width: 75%;
+  padding-right: 1px;
+}
+
+input.next-button {
+  width: 20%;
+  height: 30px;
+  line-height: 20px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+  display: inline-block;
+}
+
+table, th, td {
+  table-layout: auto !important;
+  width: 100% auto !important;
+  max-width:100%;
+  white-space:nowrap;
+  border: 1px solid black;
+  border-collapse: collapse;
+}
+
+.pref-button {
+  width: 21px;
+  height: 21px;
+  vertical-align: middle;
+  border: none;
+  display: inline-block;
+}
+
+/** Rating **/
+.starRating:not(old){
+  display        : inline-block;
+  width          : 7.5em;
+  height         : 1.5em;
+  overflow       : hidden;
+  vertical-align : bottom;
+}
+
+.starRating:not(old) > input{
+  margin-right : -100%;
+  opacity      : 0;
+}
+
+.starRating:not(old) > label{
+  display         : block;
+  float           : right;
+  position        : relative;
+  background      : url('../img/star-off.svg');
+  background-size : contain;
+}
+
+.starRating:not(old) > label:before{
+  content         : '';
+  display         : block;
+  width           : 1.5em;
+  height          : 1.5em;
+  background      : url('../img/star-on.svg');
+  background-size : contain;
+  opacity         : 0;
+  transition      : opacity 0.2s linear;
+}
+
+.starRating:not(old) > label:hover:before,
+.starRating:not(old) > label:hover ~ label:before,
+.starRating:not(:hover) > :checked ~ label:before{
+  opacity : 1;
+}
diff --git a/HelloWeb/build/web/gfv3ee6.dpf b/HelloWeb/build/web/gfv3ee6.dpf
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/build/web/img/.gitkeep b/HelloWeb/build/web/img/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/build/web/img/a b/HelloWeb/build/web/img/a
new file mode 100644
index 0000000000000000000000000000000000000000..33aea4c0776f5cb48d23fab288743ca549d3092e
Binary files /dev/null and b/HelloWeb/build/web/img/a differ
diff --git a/HelloWeb/build/web/img/admin b/HelloWeb/build/web/img/admin
new file mode 100644
index 0000000000000000000000000000000000000000..dd3fea2721dfc529ad21300b36bada01e362032d
Binary files /dev/null and b/HelloWeb/build/web/img/admin differ
diff --git a/HelloWeb/build/web/img/delete.png b/HelloWeb/build/web/img/delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8998a18f10f6e0e754cdf3f06794b299e90a1b9
Binary files /dev/null and b/HelloWeb/build/web/img/delete.png differ
diff --git a/HelloWeb/build/web/img/driver1 b/HelloWeb/build/web/img/driver1
new file mode 100644
index 0000000000000000000000000000000000000000..8de4beb39862ac7125f2339dcb1c9b32ab7f90f8
Binary files /dev/null and b/HelloWeb/build/web/img/driver1 differ
diff --git a/HelloWeb/build/web/img/edit.png b/HelloWeb/build/web/img/edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..919913bc0052626f61433d69128dc17ac739450b
Binary files /dev/null and b/HelloWeb/build/web/img/edit.png differ
diff --git a/HelloWeb/build/web/img/images.jpg b/HelloWeb/build/web/img/images.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..30b7ce2cd13386017b2fa5d56503d42e4c25ea1d
Binary files /dev/null and b/HelloWeb/build/web/img/images.jpg differ
diff --git a/HelloWeb/build/web/img/motaraido.png b/HelloWeb/build/web/img/motaraido.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b72f7e2abdd5f8ea4d11911d7c6ad9260be5262
Binary files /dev/null and b/HelloWeb/build/web/img/motaraido.png differ
diff --git a/HelloWeb/build/web/img/pen.png b/HelloWeb/build/web/img/pen.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2bcdf9ca880be6a8d6d687245ec080d4d711240
Binary files /dev/null and b/HelloWeb/build/web/img/pen.png differ
diff --git a/HelloWeb/build/web/img/profilepic.png b/HelloWeb/build/web/img/profilepic.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b72f7e2abdd5f8ea4d11911d7c6ad9260be5262
Binary files /dev/null and b/HelloWeb/build/web/img/profilepic.png differ
diff --git a/HelloWeb/build/web/img/star-off.svg b/HelloWeb/build/web/img/star-off.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9a393aa40d139025bf2324aec47830757facb84a
--- /dev/null
+++ b/HelloWeb/build/web/img/star-off.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
+  <path fill="#fff" stroke="#ccc" d="M 12,2.5 14.4,9.5 21.5,9.5 15.8,13.75 18.5,21.5 12,16.625 5.5,21.5 8.2,13.75 2.5,9.5 9.6,9.5 z"/>
+</svg>
diff --git a/HelloWeb/build/web/img/star-on.svg b/HelloWeb/build/web/img/star-on.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fac31ff43ec2ba8dff2f36a3b0ae43d92b312533
--- /dev/null
+++ b/HelloWeb/build/web/img/star-on.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
+  <path fill="#311B92" stroke="#000" d="M 12,2.5 14.4,9.5 21.5,9.5 15.8,13.75 18.5,21.5 12,16.625 5.5,21.5 8.2,13.75 2.5,9.5 9.6,9.5 z"/>
+</svg>
diff --git a/HelloWeb/build/web/img/tes1 b/HelloWeb/build/web/img/tes1
new file mode 100644
index 0000000000000000000000000000000000000000..7352b27d5a4202c3849d34614463b6e94eee7285
Binary files /dev/null and b/HelloWeb/build/web/img/tes1 differ
diff --git a/HelloWeb/build/web/img/winarto b/HelloWeb/build/web/img/winarto
new file mode 100644
index 0000000000000000000000000000000000000000..33aea4c0776f5cb48d23fab288743ca549d3092e
Binary files /dev/null and b/HelloWeb/build/web/img/winarto differ
diff --git a/HelloWeb/build/web/img/yowinarto b/HelloWeb/build/web/img/yowinarto
new file mode 100644
index 0000000000000000000000000000000000000000..8de4beb39862ac7125f2339dcb1c9b32ab7f90f8
Binary files /dev/null and b/HelloWeb/build/web/img/yowinarto differ
diff --git a/HelloWeb/build/web/index.jsp b/HelloWeb/build/web/index.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..22504f9267bb56b7c135ccc41f977d7940e730e0
--- /dev/null
+++ b/HelloWeb/build/web/index.jsp
@@ -0,0 +1,23 @@
+<%-- 
+    Document   : index
+    Created on : Nov 4, 2017, 9:23:05 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        <h1>Hello World!</h1>
+        
+        <form name="Name Input Form" action="Order.jsp">
+            Enter Your Name:
+            <input type="text" name="name" value="" />
+            <input type="submit" value="OK" />
+        </form>
+    </body>
+</html>
diff --git a/HelloWeb/build/web/js/.gitkeep b/HelloWeb/build/web/js/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/build/web/js/app.js b/HelloWeb/build/web/js/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..dbea0f5c367dec9b0cb20f3b11c4ce40644838a3
--- /dev/null
+++ b/HelloWeb/build/web/js/app.js
@@ -0,0 +1,102 @@
+function loginValidation() {
+    var username = document.forms["loginform"]["username"];
+    var pwd = document.forms["loginform"]["password"];
+    var usrVerify = Validate(username, "empty");
+    var pwdVerify = Validate(pwd, "empty");
+    return (usrVerify && pwdVerify);
+}
+
+function editProfileValidation() {
+    var name = document.forms["editprofile-form"]["your-name"];
+    var phone = document.forms["editprofile-form"]["phone-number"];
+    var nameVerify = Validate(name, "empty", 0, 20, "length");
+    var phoneVerify = Validate(phone, "empty", 9, 12, "length");
+    return (nameVerify && phoneVerify);
+}
+
+function Validate(inputArea, type1, min = 0, max = 0, type2 = null, type3 = null) {
+    var error = GetErrorMessage(inputArea.value, type1, min, max);
+    if(error === "") {
+        if (type2 != null) {
+            error = GetErrorMessage(inputArea.value, type2, min, max);
+            console.log(type2 + "length");
+        }
+        if (error === "") {
+            if (type3 != null) {
+                error = GetErrorMessage(inputArea.value, type3, min, max);
+            }
+        }
+    }
+    if(error !== "" && inputArea.nextElementSibling === null) {
+        var errorEl = document.createElement("p");
+        errorEl.innerHTML = error;
+        errorEl.className = "error";
+        insertAfterElement(errorEl, inputArea);
+
+        inputArea.addEventListener("blur", function() {
+            var error = GetErrorMessage(inputArea.value, type1, min, max);
+            if(error === "") {
+                if (type2 != null) {
+                    error = GetErrorMessage(inputArea.value, type2, min, max);
+                }
+                if (error === "") {
+                    if (type3 != null) {
+                        error = GetErrorMessage(inputArea.value, type3, min, max);
+                    }
+                }
+            }
+            if (error === ""){
+                this.nextSibling.remove();
+            }
+        },true);
+    }
+    return (error === "");
+}
+
+function insertAfterElement(el, src) {
+    src.parentNode.insertBefore(el, src.nextSibling);
+}
+
+
+function GetErrorMessage(textArea, type, min = 0, max = 0) {
+    var validateText = "";
+    switch(type) {
+        case "empty" :
+            if(isEmpty(textArea)) {
+                validateText = "Fill in the field";
+            }
+            break;
+        case "email" :
+            if(!isEmail(textArea)) {
+                validatedText = "Invalid Email Address";
+            }
+            break;
+        case "number" :
+            if(isNumber(textArea)){
+                validateText = "Fill in with only number";
+            }
+            break;
+        case "length" :
+            if (!isLengthEqual(textArea,min,max)){
+                validateText = "Character must be between " + min.toString() + " and " + max.toString() + " long";
+            }
+            break;
+    }
+    return validateText;
+}
+
+function isEmpty(textArea) {
+    return (textArea.match(/^s+$/) || textArea == "");
+}
+
+function isNumber(textArea) {
+    return (!isNaN(textArea));
+}
+
+function isLengthEqual(textArea, min, max){
+    return (textArea.length >= min && textArea.length <= max);
+}
+
+function isEmail(textArea) {
+    return (textArea.match(/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/));
+}
\ No newline at end of file
diff --git a/HelloWeb/build/web/js/history.js b/HelloWeb/build/web/js/history.js
new file mode 100644
index 0000000000000000000000000000000000000000..4e4b3f528dfb96a699cdbb10ad6ba0b731005f5a
--- /dev/null
+++ b/HelloWeb/build/web/js/history.js
@@ -0,0 +1,41 @@
+
+function tabActive(tag) {
+	var tabUser = document.getElementById('user-his');
+	var tabDriver = document.getElementById('driver-his');
+	var order = document.getElementsByClassName('order-list');
+	var driver = document.getElementsByClassName('driver-list');
+
+	if (tag == 'user') {
+		order[0].classList.add("active-list");
+		driver[0].classList.remove("active-list");
+		tabUser.classList.add('active');
+		tabDriver.classList.remove('active');
+	}
+	else {
+		driver[0].classList.add("active-list");
+		order[0].classList.remove("active-list");
+		tabDriver.classList.add('active');
+		tabUser.classList.remove('active');
+	}
+}
+
+tabActive('user');
+
+function hideThis(user) {
+	updateHide(user);
+	console.log(user[0]);
+}
+
+function updateHide(history)
+{
+	var data = "user=" + history[0] + "&driver=" + history[1] + "&date=" + history[4];
+    var xhr;
+    if (window.XMLHttpRequest) {
+        xhr = new XMLHttpRequest();
+    } else if (window.ActiveXObject) {
+        xhr = new ActiveXObject("Microsoft.XMLHTTP");
+    }
+    xhr.open("GET", "/history/update", true);
+    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
+    xhr.send(data);
+}
\ No newline at end of file
diff --git a/HelloWeb/build/web/js/selectdriver.js b/HelloWeb/build/web/js/selectdriver.js
new file mode 100644
index 0000000000000000000000000000000000000000..2d7b38f4833461051ad76f37a3eac112a88b0156
--- /dev/null
+++ b/HelloWeb/build/web/js/selectdriver.js
@@ -0,0 +1,97 @@
+var prefDriver = document.getElementById("pref-driver");
+var otherDriver = document.getElementById("other-driver");
+var driverSumRating = [];
+var driverCountRating = [];
+var driverNameList = [];
+
+for (var i = 0; i < driverArr.length; i++) {
+    for(var j = 0; j < ratingArr.length; j++) {
+        if(driverArr[i] === ratingArr[j]["usernameDriver"]){
+            driverSumRating[driverArr[i]] = (driverSumRating[driverArr[i]] === undefined) ? parseFloat(ratingArr[j]["rating"]) : driverSumRating[driverArr[i]] + parseFloat(ratingArr[j]["rating"]);
+            driverCountRating[driverArr[i]] = (driverCountRating[driverArr[i]] === undefined) ? 1 : driverCountRating[driverArr[i]]+1;
+        }
+    }
+    for(var k = 0; k < driverNameArr.length; k++) {
+        if(driverArr[i] === driverNameArr[k]["username"]){
+            driverNameList[driverArr[i]] = driverNameArr[k]["fullname"];
+            break;
+        }
+    }
+}
+
+for(var j = 0; j < ratingArr.length; j++) {
+    if(preferredDriver === ratingArr[j]["usernameDriver"]){
+        driverSumRating[preferredDriver] = (driverSumRating[preferredDriver] === undefined) ? parseFloat(ratingArr[j]["rating"]) : driverSumRating[preferredDriver] + parseFloat(ratingArr[j]["rating"]);
+        driverCountRating[preferredDriver] = (driverCountRating[preferredDriver] === undefined) ? 1 : driverCountRating[preferredDriver]+1;
+    }
+}
+for(var k = 0; k < driverNameArr.length; k++) {
+    if(preferredDriver === driverNameArr[k]["username"]){
+        driverNameList[preferredDriver] = driverNameArr[k]["fullname"];
+        break;
+    }
+}
+
+if(preferredDriver !== "") {
+    CreateDriverDisplay(prefDriver, preferredDriver);
+} else {
+    CreateNotFoundDisplay(prefDriver);
+}
+
+if(driverArr.length > 0) {
+    for (var i = 0; i < driverArr.length; i++) {
+        CreateDriverDisplay(otherDriver, driverArr[i]);
+    }
+} else {
+    CreateNotFoundDisplay(otherDriver);
+}
+
+function CreateDriverDisplay(driverType, driverUsrName) {
+    var newForm = driverType.appendChild(document.createElement("form"));
+    var newContainer = newForm.appendChild(document.createElement("div"));
+    var newImg = newContainer.appendChild(document.createElement("img"));
+    var newName = newContainer.appendChild(document.createElement("div"));
+    var newRating = newContainer.appendChild(document.createElement("div"));
+    var postUsrName = newContainer.appendChild(document.createElement("input"));
+    var newPickLoc = newContainer.appendChild(document.createElement("input"));
+    var newDest = newContainer.appendChild(document.createElement("input"));
+    var newBtn = newContainer.appendChild(document.createElement("input"));
+
+
+    var avgRating = (driverSumRating[driverUsrName]/driverCountRating[driverUsrName]).toFixed(1).toString();
+
+    newForm.setAttribute('method', 'post');
+    newForm.setAttribute('action', '/order/' + user + '/completeorder');
+    newContainer.classList.add("driver-content");
+
+    newImg.classList.add("driver-pic");
+    newImg.setAttribute('src', '/public/img/' + driverUsrName);
+
+    newName.classList.add("driver-name-disp");
+    newName.innerHTML = driverNameList[driverUsrName];
+
+    newRating.classList.add("driver-rating-disp");
+    newRating.innerHTML = "★" + avgRating + " <span class='vote-disp'>(" + driverCountRating[driverUsrName] + " votes)</span>";
+
+    postUsrName.setAttribute('type', 'hidden');
+    postUsrName.setAttribute('name', 'driver-username');
+    postUsrName.setAttribute('value', driverUsrName);
+
+    newPickLoc.setAttribute('type','hidden');
+    newPickLoc.setAttribute('name','pickLoc');
+    newPickLoc.setAttribute('value', pickLoc);
+    newDest.setAttribute('type','hidden');
+    newDest.setAttribute('name','dest');
+    newDest.setAttribute('value', dest);
+
+    newBtn.classList.add("accept-button");
+    newBtn.classList.add("select-driver-btn");
+    newBtn.setAttribute('type','submit');
+    newBtn.setAttribute('value','Select Driver');
+}
+
+function CreateNotFoundDisplay(driverType) {
+    var newContainer = driverType.appendChild(document.createElement("div"));
+    newContainer.classList.add("driver-not-found");
+    newContainer.innerHTML = "Nothing to display.";
+}
\ No newline at end of file
diff --git a/HelloWeb/build/web/js/signup.js b/HelloWeb/build/web/js/signup.js
new file mode 100644
index 0000000000000000000000000000000000000000..43a9342a95538b30e1b8bf663cf3fc0a0b62718f
--- /dev/null
+++ b/HelloWeb/build/web/js/signup.js
@@ -0,0 +1,44 @@
+function checkData(name, element)
+{
+    var data = "?" + name + "=" + document.forms["signupform"][name].value;
+    var xhr;
+    if (window.XMLHttpRequest) {
+        xhr = new XMLHttpRequest();
+    } else if (window.ActiveXObject) {
+        xhr = new ActiveXObject("Microsoft.XMLHTTP");
+    }
+    
+    xhr.open("GET", "/validation" + data, true); 
+    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
+    xhr.send(null);
+    xhr.onload = function() {
+        if (xhr.readyState == 4) {
+            if (xhr.status == 200) {
+                if (xhr.responseText === 'OK') { 
+                    document.getElementById(element).innerHTML = "√";
+                } else {
+                    document.getElementById(element).innerHTML = "X";
+                }
+            } 
+            else {
+                alert('There was a problem with the request.');
+            }
+        }
+    }
+}
+
+function signupValidation() {
+    var username = document.forms["signupform"]["username"];
+    var password = document.forms["signupform"]["password"];
+    var cpassword = document.forms["signupform"]["confirm-password"];
+    var email = document.forms["signupform"]["email"];
+    var fullname = document.forms["signupform"]["your-name"];
+    var phone = document.forms["signupform"]["phone"];
+    var usrVerify = Validate(username, "empty");
+    var pwdVerify = Validate(password, "empty");
+    var cpwdVerify = Validate(cpassword, "empty");
+    var emailVerify = Validate(email, "empty", 0, 0, "email");
+    var fullnameVerify = Validate(fullname, "empty", 0, 20, "length");
+    var phoneVerify = Validate(phone, "empty", 9, 12, "length");
+    return (usrVerify && pwdVerify && cpwdVerify && emailVerify && fullnameVerify && phoneVerify);
+}
\ No newline at end of file
diff --git a/HelloWeb/build/web/response.jsp b/HelloWeb/build/web/response.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..57974eb4eb5d11be34b125ef651ba674465e7ffb
--- /dev/null
+++ b/HelloWeb/build/web/response.jsp
@@ -0,0 +1,19 @@
+<%-- 
+    Document   : response
+    Created on : Nov 4, 2017, 9:26:56 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        <jsp:useBean id="mybean" scope="session" class="org.mypackage.hello.NameHandler" />
+        <jsp:setProperty name="mybean" property="name" />
+        <h1>Hello, <jsp:getProperty name="mybean" property="name" />!</h1>
+    </body>
+</html>
diff --git a/HelloWeb/nbproject/ant-deploy.xml b/HelloWeb/nbproject/ant-deploy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5d33e0d6e743ce97b9b63e4c37346ab71071ce70
--- /dev/null
+++ b/HelloWeb/nbproject/ant-deploy.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+Copyright (c) 2008, 2016 Oracle and/or its affiliates. All rights reserved.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+The contents of this file are subject to the terms of either the GNU
+General Public License Version 2 only ("GPL") or the Common
+Development and Distribution License("CDDL") (collectively, the
+"License"). You may not use this file except in compliance with the
+License. You can obtain a copy of the License at
+http://www.netbeans.org/cddl-gplv2.html
+or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
+specific language governing permissions and limitations under the
+License.  When distributing the software, include this License Header
+Notice in each file and include the License file at
+nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
+particular file as subject to the "Classpath" exception as provided
+by Oracle in the GPL Version 2 section of the License file that
+accompanied this code. If applicable, add the following below the
+License Header, with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+If you wish your version of this file to be governed by only the CDDL
+or only the GPL Version 2, indicate your decision by adding
+"[Contributor] elects to include this software in this distribution
+under the [CDDL or GPL Version 2] license." If you do not indicate a
+single choice of license, a recipient has the option to distribute
+your version of this file under either the CDDL, the GPL Version 2 or
+to extend the choice of license to its licensees as provided above.
+However, if you add GPL Version 2 code and therefore, elected the GPL
+Version 2 license, then the option applies only if the new code is
+made subject to such option by the copyright holder.
+
+Contributor(s):
+-->
+<project default="-deploy-ant" basedir=".">
+    <target name="-init-cl-deployment-env" if="deploy.ant.enabled">
+        <property file="${deploy.ant.properties.file}" />
+        <available file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" property="sun.web.present"/>
+        <available file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" property="glassfish.web.present"/>
+        <available file="${deploy.ant.resource.dir}" property="has.setup"/>
+        <tempfile prefix="gfv3" property="gfv3.password.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <echo message="AS_ADMIN_PASSWORD=${gfv3.password}" file="${gfv3.password.file}"/>
+    </target>
+
+    <target name="-parse-sun-web" depends="-init-cl-deployment-env" if="sun.web.present">
+        <tempfile prefix="gfv3" property="temp.sun.web" destdir="${java.io.tmpdir}"/>
+        <copy file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" tofile="${temp.sun.web}"/>
+        <!-- The doctype triggers resolution which can fail -->
+        <replace file="${temp.sun.web}">
+            <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken>
+            <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue>
+        </replace>
+        <replace file="${temp.sun.web}">
+            <replacetoken><![CDATA[<sun-web-app]]></replacetoken>
+            <replacevalue><![CDATA[--> <sun-web-app]]></replacevalue>
+        </replace>
+        <xmlproperty file="${temp.sun.web}" validate="false">
+        </xmlproperty>    
+        <delete file="${temp.sun.web}"/>
+        <condition property="deploy.ant.client.url" value="${gfv3.url}${sun-web-app.context-root}" else="${gfv3.url}/${ant.project.name}">
+            <isset property="sun-web-app.context-root"/>
+        </condition>
+        <condition property="deploy.context.root.argument" value="&amp;contextroot=${sun-web-app.context-root}" else="/${ant.project.name}">
+            <isset property="sun-web-app.context-root"/>
+        </condition>
+    </target>
+    <target name="-parse-glassfish-web" depends="-init-cl-deployment-env" if="glassfish.web.present">
+        <tempfile prefix="gfv3" property="temp.gf.web" destdir="${java.io.tmpdir}"/>
+        <copy file="${deploy.ant.docbase.dir}/WEB-INF/glassfish-web.xml" tofile="${temp.gf.web}"/>
+        <!-- The doctype triggers resolution which can fail -->
+        <replace file="${temp.gf.web}">
+            <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken>
+            <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue>
+        </replace>
+        <replace file="${temp.gf.web}">
+            <replacetoken><![CDATA[<glassfish-web-app]]></replacetoken>
+            <replacevalue><![CDATA[--> <glassfish-web-app]]></replacevalue>
+        </replace>
+        <xmlproperty file="${temp.gf.web}" validate="false">
+        </xmlproperty>
+        <delete file="${temp.gf.web}"/>
+        <condition property="deploy.ant.client.url" value="${gfv3.url}${glassfish-web-app.context-root}" else="${gfv3.url}/${ant.project.name}">
+            <isset property="glassfish-web-app.context-root"/>
+        </condition>
+        <condition property="deploy.context.root.argument" value="&amp;contextroot=${glassfish-web-app.context-root}" else="/${ant.project.name}">
+            <isset property="glassfish-web-app.context-root"/>
+        </condition>
+    </target>
+    <target name="-no-parse-sun-web" depends="-init-cl-deployment-env" unless="sun.web.present">
+        <property name="deploy.context.root.argument" value=""/>
+    </target>
+    <target name="-add-resources" depends="-init-cl-deployment-env" if="has.setup">
+        <tempfile prefix="gfv3" property="gfv3.resources.dir" destdir="${java.io.tmpdir}"/>
+        <mkdir dir="${gfv3.resources.dir}"/>
+        <mkdir dir="${gfv3.resources.dir}/META-INF"/>
+        <copy todir="${gfv3.resources.dir}/META-INF">
+            <fileset dir="${deploy.ant.resource.dir}"/>
+        </copy>
+        <jar destfile="${deploy.ant.archive}" update="true">
+            <fileset dir="${gfv3.resources.dir}"/>
+        </jar>
+        <delete dir="${gfv3.resources.dir}"/>
+    </target>
+    <target name="-deploy-ant" depends="-parse-glassfish-web, -parse-sun-web, -no-parse-sun-web,-add-resources" if="deploy.ant.enabled">
+        <antcall target="-deploy-without-pw"/>
+        <antcall target="-deploy-with-pw"/>
+    </target>
+
+    <target name="-deploy-without-pw" unless="gfv3.password">
+        <echo message="Deploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/>
+        <get src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&amp;force=true&amp;name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>    
+    </target>
+    <target name="-deploy-with-pw" if="gfv3.password">
+        <echo message="Deploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <property name="full.deploy.ant.archive" location="${deploy.ant.archive}"/>
+        <get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/deploy?path=${full.deploy.ant.archive}${deploy.context.root.argument}&amp;force=true&amp;name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>
+    </target>
+    <target name="-undeploy-ant" depends="-init-cl-deployment-env" if="deploy.ant.enabled">
+        <antcall target="-undeploy-without-pw"/>
+        <antcall target="-undeploy-with-pw"/>
+    </target>
+
+    <target name="-undeploy-without-pw" unless="gfv3.password">
+        <echo message="Undeploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <get src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>    
+    </target>
+    <target name="-undeploy-with-pw" if="gfv3.password">
+        <echo message="Undeploying ${deploy.ant.archive}"/>
+        <tempfile prefix="gfv3" property="gfv3.results.file" destdir="${java.io.tmpdir}"/>  <!-- do not forget to delete this! -->
+        <get username="${gfv3.username}" password="${gfv3.password}" src="${gfv3.admin.url}/__asadmin/undeploy?name=${ant.project.name}"
+            dest="${gfv3.results.file}"/>
+        <delete file="${gfv3.results.file}"/>
+    </target>
+</project>
diff --git a/HelloWeb/nbproject/build-impl.xml b/HelloWeb/nbproject/build-impl.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1be60313d4755e4bf7b865ce8b7594b248ea4cbb
--- /dev/null
+++ b/HelloWeb/nbproject/build-impl.xml
@@ -0,0 +1,1441 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+        *** GENERATED FROM project.xml - DO NOT EDIT  ***
+        ***         EDIT ../build.xml INSTEAD         ***
+
+        For the purpose of easier reading the script
+        is divided into following sections:
+        - initialization
+        - compilation
+        - dist
+        - execution
+        - debugging
+        - javadoc
+        - test compilation
+        - test execution
+        - test debugging
+        - cleanup
+
+        -->
+<project xmlns:webproject1="http://www.netbeans.org/ns/web-project/1" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:webproject3="http://www.netbeans.org/ns/web-project/3" basedir=".." default="default" name="HelloWeb-impl">
+    <import file="ant-deploy.xml"/>
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <target depends="dist,javadoc" description="Build whole project." name="default"/>
+    <!--
+                INITIALIZATION SECTION
+            -->
+    <target name="-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init" name="-init-private">
+        <property file="nbproject/private/private.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private" name="-init-user">
+        <property file="${user.properties.file}"/>
+        <!-- The two properties below are usually overridden -->
+        <!-- by the active platform. Just a fallback. -->
+        <property name="default.javac.source" value="1.4"/>
+        <property name="default.javac.target" value="1.4"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
+        <property file="nbproject/project.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir" name="-do-ear-init"/>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+        <condition property="have.tests">
+            <or>
+                <available file="${test.src.dir}"/>
+            </or>
+        </condition>
+        <condition property="have.sources">
+            <or>
+                <available file="${src.dir}"/>
+            </or>
+        </condition>
+        <condition property="netbeans.home+have.tests">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="have.tests"/>
+            </and>
+        </condition>
+        <condition property="no.javadoc.preview">
+            <isfalse value="${javadoc.preview}"/>
+        </condition>
+        <property name="javac.compilerargs" value=""/>
+        <condition property="no.deps">
+            <and>
+                <istrue value="${no.dependencies}"/>
+            </and>
+        </condition>
+        <condition property="no.dist.ear.dir">
+            <not>
+                <isset property="dist.ear.dir"/>
+            </not>
+        </condition>
+        <property name="build.web.excludes" value="${build.classes.excludes}"/>
+        <condition property="do.compile.jsps">
+            <istrue value="${compile.jsps}"/>
+        </condition>
+        <condition property="do.debug.server">
+            <or>
+                <not>
+                    <isset property="debug.server"/>
+                </not>
+                <istrue value="${debug.server}"/>
+                <and>
+                    <not>
+                        <istrue value="${debug.server}"/>
+                    </not>
+                    <not>
+                        <istrue value="${debug.client}"/>
+                    </not>
+                </and>
+            </or>
+        </condition>
+        <condition property="do.debug.client">
+            <istrue value="${debug.client}"/>
+        </condition>
+        <condition property="do.display.browser">
+            <istrue value="${display.browser}"/>
+        </condition>
+        <condition property="do.display.browser.debug.old">
+            <and>
+                <isset property="do.display.browser"/>
+                <not>
+                    <isset property="do.debug.client"/>
+                </not>
+                <not>
+                    <isset property="browser.context"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="do.display.browser.debug">
+            <and>
+                <isset property="do.display.browser"/>
+                <not>
+                    <isset property="do.debug.client"/>
+                </not>
+                <isset property="browser.context"/>
+            </and>
+        </condition>
+        <available file="${conf.dir}/MANIFEST.MF" property="has.custom.manifest"/>
+        <available file="${persistence.xml.dir}/persistence.xml" property="has.persistence.xml"/>
+        <condition property="do.war.package.with.custom.manifest">
+            <isset property="has.custom.manifest"/>
+        </condition>
+        <condition property="do.war.package.without.custom.manifest">
+            <not>
+                <isset property="has.custom.manifest"/>
+            </not>
+        </condition>
+        <condition property="do.tmp.war.package.with.custom.manifest">
+            <and>
+                <isset property="has.custom.manifest"/>
+                <or>
+                    <isfalse value="${directory.deployment.supported}"/>
+                    <isset property="dist.ear.dir"/>
+                </or>
+            </and>
+        </condition>
+        <condition property="do.tmp.war.package.without.custom.manifest">
+            <and>
+                <not>
+                    <isset property="has.custom.manifest"/>
+                </not>
+                <or>
+                    <isfalse value="${directory.deployment.supported}"/>
+                    <isset property="dist.ear.dir"/>
+                </or>
+            </and>
+        </condition>
+        <condition property="do.tmp.war.package">
+            <or>
+                <isfalse value="${directory.deployment.supported}"/>
+                <isset property="dist.ear.dir"/>
+            </or>
+        </condition>
+        <property name="build.meta.inf.dir" value="${build.web.dir}/META-INF"/>
+        <condition else="" property="application.args.param" value="${application.args}">
+            <and>
+                <isset property="application.args"/>
+                <not>
+                    <equals arg1="${application.args}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <property name="source.encoding" value="${file.encoding}"/>
+        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+            <and>
+                <isset property="javadoc.encoding"/>
+                <not>
+                    <equals arg1="${javadoc.encoding}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <property name="javadoc.encoding.used" value="${source.encoding}"/>
+        <property name="includes" value="**"/>
+        <property name="excludes" value=""/>
+        <property name="runmain.jvmargs" value=""/>
+        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+            <and>
+                <isset property="endorsed.classpath"/>
+                <length length="0" string="${endorsed.classpath}" when="greater"/>
+            </and>
+        </condition>
+        <condition else="false" property="jdkBug6558476">
+            <and>
+                <matches pattern="1\.[56]" string="${java.specification.version}"/>
+                <not>
+                    <os family="unix"/>
+                </not>
+            </and>
+        </condition>
+        <property name="javac.fork" value="${jdkBug6558476}"/>
+        <condition property="junit.available">
+            <or>
+                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
+                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
+            </or>
+        </condition>
+        <condition property="testng.available">
+            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
+        </condition>
+        <condition property="junit+testng.available">
+            <and>
+                <istrue value="${junit.available}"/>
+                <istrue value="${testng.available}"/>
+            </and>
+        </condition>
+        <condition else="testng" property="testng.mode" value="mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+        <condition else="" property="testng.debug.mode" value="-mixed">
+            <istrue value="${junit+testng.available}"/>
+        </condition>
+    </target>
+    <target depends="init" name="-init-cos" unless="deploy.on.save">
+        <condition property="deploy.on.save" value="true">
+            <or>
+                <istrue value="${j2ee.deploy.on.save}"/>
+                <istrue value="${j2ee.compile.on.save}"/>
+            </or>
+        </condition>
+    </target>
+    <target name="-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
+        <fail unless="src.dir">Must set src.dir</fail>
+        <fail unless="test.src.dir">Must set test.src.dir</fail>
+        <fail unless="build.dir">Must set build.dir</fail>
+        <fail unless="build.web.dir">Must set build.web.dir</fail>
+        <fail unless="build.generated.dir">Must set build.generated.dir</fail>
+        <fail unless="dist.dir">Must set dist.dir</fail>
+        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
+        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
+        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
+        <fail unless="dist.war">Must set dist.war</fail>
+        <condition property="missing.j2ee.server.home">
+            <and>
+                <matches pattern="j2ee.server.home" string="${j2ee.platform.classpath}"/>
+                <not>
+                    <isset property="j2ee.server.home"/>
+                </not>
+            </and>
+        </condition>
+        <fail if="missing.j2ee.server.home">
+The Java EE server classpath is not correctly set up - server home directory is missing.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+   ant -Dj2ee.server.home=&lt;app_server_installation_directory&gt;
+                </fail>
+        <fail unless="j2ee.platform.classpath">
+The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}.
+Either open the project in the IDE and assign the server or setup the server classpath manually.
+For example like this:
+   ant -Duser.properties.file=&lt;path_to_property_file&gt; (where you put the property "j2ee.platform.classpath" in a .properties file)
+or ant -Dj2ee.platform.classpath=&lt;server_classpath&gt; (where no properties file is used)
+                </fail>
+    </target>
+    <target name="-init-macrodef-property">
+        <macrodef name="property" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${@{value}}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" name="processorpath"/>
+            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <mkdir dir="@{apgeneratedsrcdir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <compilerarg value="-processorpath"/>
+                    <compilerarg path="@{processorpath}:${empty.dir}"/>
+                    <compilerarg line="${ap.processors.internal}"/>
+                    <compilerarg value="-s"/>
+                    <compilerarg path="@{apgeneratedsrcdir}"/>
+                    <compilerarg line="${ap.proc.none.internal}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${javac.processorpath}" name="processorpath"/>
+            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="${empty.dir}" name="gensrcdir"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property location="${build.dir}/empty" name="empty.dir"/>
+                <mkdir dir="${empty.dir}"/>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                    <src>
+                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+                            <include name="*"/>
+                        </dirset>
+                    </src>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <compilerarg line="${javac.compilerargs}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
+        <macrodef name="depend" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <sequential>
+                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </depend>
+            </sequential>
+        </macrodef>
+        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <sequential>
+                <fail unless="javac.includes">Must set javac.includes</fail>
+                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
+                    <path>
+                        <filelist dir="@{destdir}" files="${javac.includes}"/>
+                    </path>
+                    <globmapper from="*.java" to="*.class"/>
+                </pathconvert>
+                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
+                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
+                <delete>
+                    <files includesfile="${javac.includesfile.binary}"/>
+                </delete>
+                <delete file="${javac.includesfile.binary}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-init">
+        <condition else="false" property="nb.junit.batch" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <not>
+                    <isset property="test.method"/>
+                </not>
+            </and>
+        </condition>
+        <condition else="false" property="nb.junit.single" value="true">
+            <and>
+                <istrue value="${junit.available}"/>
+                <isset property="test.method"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-init-test-properties">
+        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
+        <property name="test.binarytestincludes" value=""/>
+        <property name="test.binaryexcludes" value=""/>
+    </target>
+    <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="run.jvmargs.ide" value=""/>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
+    <target if="${testng.available}" name="-init-macrodef-testng">
+        <macrodef name="testng" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
+                    <isset property="test.method"/>
+                </condition>
+                <union id="test.set">
+                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
+                        <filename name="@{testincludes}"/>
+                    </fileset>
+                </union>
+                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="HelloWeb" testname="TestNG tests" workingDir="${basedir}">
+                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
+                    <propertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </propertyset>
+                    <customize/>
+                </testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-test-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <echo>No tests executed.</echo>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <webproject2:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </webproject2:junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
+        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <webproject2:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </webproject2:testng>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
+        <macrodef name="test" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <sequential>
+                <webproject2:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${runmain.jvmargs}"/>
+                    </customize>
+                </webproject2:test-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+                    <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
+        <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property name="run.jvmargs.ide" value=""/>
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                        <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
+                            <filename name="${test.binarytestincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg value="-ea"/>
+                    <jvmarg line="${run.jvmargs.ide}"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <customize/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
+        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <element implicit="true" name="customize" optional="true"/>
+            <sequential>
+                <webproject2:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize/>
+                </webproject2:junit-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target if="${testng.available}" name="-init-macrodef-testng-debug">
+        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element name="customize2" optional="true"/>
+            <sequential>
+                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
+                    <isset property="test.method"/>
+                </condition>
+                <condition else="-suitename HelloWeb -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                    <matches pattern=".*\.xml" string="@{testClass}"/>
+                </condition>
+                <delete dir="${build.test.results.dir}" quiet="true"/>
+                <mkdir dir="${build.test.results.dir}"/>
+                <webproject1:debug args="${testng.cmd.args}" classname="org.testng.TestNG" classpath="${debug.test.classpath}:${j2ee.platform.embeddableejb.classpath}">
+                    <customize>
+                        <customize2/>
+                        <jvmarg value="-ea"/>
+                        <arg line="${testng.debug.mode}"/>
+                        <arg line="-d ${build.test.results.dir}"/>
+                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
+                    </customize>
+                </webproject1:debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
+        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <element implicit="true" name="customize2" optional="true"/>
+            <sequential>
+                <webproject2:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2/>
+                </webproject2:testng-debug>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <webproject2:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
+                    <customize>
+                        <classpath>
+                            <path path="${run.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}"/>
+                        </classpath>
+                        <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                        <jvmarg line="${runmain.jvmargs}"/>
+                    </customize>
+                </webproject2:test-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
+        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/web-project/2">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <attribute default="" name="testmethods"/>
+            <attribute default="${main.class}" name="testClass"/>
+            <attribute default="" name="testMethod"/>
+            <sequential>
+                <webproject2:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
+                    <customize2>
+                        <syspropertyset>
+                            <propertyref prefix="test-sys-prop."/>
+                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                        </syspropertyset>
+                    </customize2>
+                </webproject2:testng-debug-impl>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
+    <target name="-init-macrodef-java">
+        <macrodef name="java" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg line="${runmain.jvmargs}"/>
+                    <classpath>
+                        <path path="@{classpath}:${j2ee.platform.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-nbjsdebug">
+        <macrodef name="nbjsdebugstart" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${client.url}" name="webUrl"/>
+            <sequential>
+                <nbjsdebugstart urlPart="${client.urlPart}" webUrl="@{webUrl}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="name"/>
+            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <sequential>
+                <nbjpdastart addressproperty="jpda.address" name="@{name}" transport="${debug-transport}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </nbjpdastart>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${build.classes.dir}" name="dir"/>
+            <sequential>
+                <nbjpdareload>
+                    <fileset dir="@{dir}" includes="${fix.classes}">
+                        <include name="${fix.includes}*.class"/>
+                    </fileset>
+                </nbjpdareload>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdaappreloaded" uri="http://www.netbeans.org/ns/web-project/1">
+            <sequential>
+                <nbjpdaappreloaded/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-debug-args">
+        <property name="version-output" value="java version &quot;${ant.java.version}"/>
+        <condition property="have-jdk-older-than-1.4">
+            <or>
+                <contains string="${version-output}" substring="java version &quot;1.0"/>
+                <contains string="${version-output}" substring="java version &quot;1.1"/>
+                <contains string="${version-output}" substring="java version &quot;1.2"/>
+                <contains string="${version-output}" substring="java version &quot;1.3"/>
+            </or>
+        </condition>
+        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
+            <istrue value="${have-jdk-older-than-1.4}"/>
+        </condition>
+        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
+            <os family="windows"/>
+        </condition>
+        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
+            <isset property="debug.transport"/>
+        </condition>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-debug">
+        <macrodef name="debug" uri="http://www.netbeans.org/ns/web-project/1">
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}:${j2ee.platform.classpath}" name="classpath"/>
+            <attribute default="${application.args.param}" name="args"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" fork="true">
+                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <jvmarg line="${runmain.jvmargs}"/>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <arg line="@{args}"/>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-taskdefs">
+        <fail unless="libs.CopyLibs.classpath">
+The libs.CopyLibs.classpath property is not set up.
+This property must point to 
+org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part
+of NetBeans IDE installation and is usually located at 
+&lt;netbeans_installation&gt;/java&lt;version&gt;/ant/extra folder.
+Either open the project in the IDE and make sure CopyLibs library
+exists or setup the property manually. For example like this:
+ ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar
+                </fail>
+        <taskdef classpath="${libs.CopyLibs.classpath}" resource="org/netbeans/modules/java/j2seproject/copylibstask/antlib.xml"/>
+    </target>
+    <target name="-init-ap-cmdline-properties">
+        <property name="annotation.processing.enabled" value="true"/>
+        <property name="annotation.processing.processors.list" value=""/>
+        <property name="annotation.processing.run.all.processors" value="true"/>
+        <property name="javac.processorpath" value="${javac.classpath}"/>
+        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
+        <condition property="ap.supported.internal" value="true">
+            <not>
+                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
+            </not>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
+        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
+            <isfalse value="${annotation.processing.run.all.processors}"/>
+        </condition>
+        <condition else="" property="ap.proc.none.internal" value="-proc:none">
+            <isfalse value="${annotation.processing.enabled}"/>
+        </condition>
+    </target>
+    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
+        <property name="ap.cmd.line.internal" value=""/>
+    </target>
+    <!--
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
+    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-profile-pre-init, init, -profile-post-init" if="profiler.info.jvmargs.agent" name="-profile-init-check">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+                end of pre NB7.2 profiling section
+            -->
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-nbjsdebug,-init-macrodef-debug,-init-taskdefs,-init-ap-cmdline" name="init"/>
+    <!--
+                COMPILATION SECTION
+            -->
+    <target depends="init" if="no.dist.ear.dir" name="deps-module-jar" unless="no.deps"/>
+    <target depends="init" if="dist.ear.dir" name="deps-ear-jar" unless="no.deps"/>
+    <target depends="init, deps-module-jar, deps-ear-jar" name="deps-jar" unless="no.deps"/>
+    <target depends="init,deps-jar" name="-pre-pre-compile">
+        <mkdir dir="${build.classes.dir}"/>
+    </target>
+    <target name="-pre-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-copy-webdir">
+        <copy todir="${build.web.dir}">
+            <fileset dir="${web.docbase.dir}" excludes="${build.web.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+        <copy todir="${build.web.dir}/WEB-INF">
+            <fileset dir="${webinf.dir}" excludes="${build.web.excludes}"/>
+        </copy>
+    </target>
+    <target depends="init, deps-jar, -pre-pre-compile, -pre-compile, -copy-manifest, -copy-persistence-xml, -copy-webdir, library-inclusion-in-archive,library-inclusion-in-manifest" if="have.sources" name="-do-compile">
+        <webproject2:javac destdir="${build.classes.dir}" gensrcdir="${build.generated.sources.dir}"/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target if="has.custom.manifest" name="-copy-manifest">
+        <mkdir dir="${build.meta.inf.dir}"/>
+        <copy todir="${build.meta.inf.dir}">
+            <fileset dir="${conf.dir}" includes="MANIFEST.MF"/>
+        </copy>
+    </target>
+    <target if="has.persistence.xml" name="-copy-persistence-xml">
+        <mkdir dir="${build.web.dir}/WEB-INF/classes/META-INF"/>
+        <copy todir="${build.web.dir}/WEB-INF/classes/META-INF">
+            <fileset dir="${persistence.xml.dir}" includes="persistence.xml orm.xml"/>
+        </copy>
+    </target>
+    <target name="-post-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
+    <target name="-pre-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <webproject2:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}"/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+    <property name="jspc.schemas" value="/resources/schemas/"/>
+    <property name="jspc.dtds" value="/resources/dtds/"/>
+    <target depends="compile" description="Test compile JSP pages to expose compilation errors." if="do.compile.jsps" name="compile-jsps">
+        <mkdir dir="${build.generated.dir}/src"/>
+        <java classname="org.netbeans.modules.web.project.ant.JspC" failonerror="true" fork="true">
+            <arg value="-uriroot"/>
+            <arg file="${basedir}/${build.web.dir}"/>
+            <arg value="-d"/>
+            <arg file="${basedir}/${build.generated.dir}/src"/>
+            <arg value="-die1"/>
+            <arg value="-schemas ${jspc.schemas}"/>
+            <arg value="-dtds ${jspc.dtds}"/>
+            <arg value="-compilerSourceVM ${javac.source}"/>
+            <arg value="-compilerTargetVM ${javac.target}"/>
+            <arg value="-javaEncoding ${source.encoding}"/>
+            <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
+            <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
+        </java>
+        <mkdir dir="${build.generated.dir}/classes"/>
+        <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src"/>
+    </target>
+    <target depends="compile" if="jsp.includes" name="-do-compile-single-jsp">
+        <fail unless="javac.jsp.includes">Must select some files in the IDE or set javac.jsp.includes</fail>
+        <mkdir dir="${build.generated.dir}/src"/>
+        <java classname="org.netbeans.modules.web.project.ant.JspCSingle" failonerror="true" fork="true">
+            <arg value="-uriroot"/>
+            <arg file="${basedir}/${build.web.dir}"/>
+            <arg value="-d"/>
+            <arg file="${basedir}/${build.generated.dir}/src"/>
+            <arg value="-die1"/>
+            <arg value="-schemas ${jspc.schemas}"/>
+            <arg value="-dtds ${jspc.dtds}"/>
+            <arg value="-sysClasspath ${libs.jsp-compilation-syscp.classpath}"/>
+            <arg value="-jspc.files"/>
+            <arg path="${jsp.includes}"/>
+            <arg value="-compilerSourceVM ${javac.source}"/>
+            <arg value="-compilerTargetVM ${javac.target}"/>
+            <arg value="-javaEncoding ${source.encoding}"/>
+            <classpath path="${java.home}/../lib/tools.jar:${libs.jsp-compiler.classpath}:${libs.jsp-compilation.classpath}"/>
+        </java>
+        <mkdir dir="${build.generated.dir}/classes"/>
+        <webproject2:javac classpath="${build.classes.dir}:${libs.jsp-compilation.classpath}:${javac.classpath}:${j2ee.platform.classpath}" destdir="${build.generated.dir}/classes" srcdir="${build.generated.dir}/src">
+            <customize>
+                <patternset includes="${javac.jsp.includes}"/>
+            </customize>
+        </webproject2:javac>
+    </target>
+    <target name="compile-single-jsp">
+        <fail unless="jsp.includes">Must select a file in the IDE or set jsp.includes</fail>
+        <antcall target="-do-compile-single-jsp"/>
+    </target>
+    <!--
+                DIST BUILDING SECTION
+            -->
+    <target name="-pre-dist">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.without.custom.manifest" name="-do-dist-without-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.war.package.with.custom.manifest" name="-do-dist-with-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.without.custom.manifest" name="-do-tmp-dist-without-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist" if="do.tmp.war.package.with.custom.manifest" name="-do-tmp-dist-with-manifest">
+        <dirname file="${dist.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.war}" manifest="${build.meta.inf.dir}/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+        </jar>
+    </target>
+    <target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/>
+    <target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest">
+        <mkdir dir="${build.web.dir}/META-INF"/>
+        <manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
+    </target>
+    <target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir"/>
+    <target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
+        <delete dir="${build.web.dir}/WEB-INF/lib"/>
+    </target>
+    <target depends="init,-clean-webinf-lib,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest" if="do.tmp.war.package" name="do-ear-dist">
+        <dirname file="${dist.ear.war}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+        <jar compress="${jar.compress}" jarfile="${dist.ear.war}" manifest="${build.web.dir}/META-INF/MANIFEST.MF">
+            <fileset dir="${build.web.dir}" excludes="WEB-INF/classes/.netbeans_*,${dist.archive.excludes}"/>
+        </jar>
+    </target>
+    <target name="-post-dist">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)." name="dist"/>
+    <target depends="init,-clean-webinf-lib,-init-cos,compile,-pre-dist,do-ear-dist,-post-dist" description="Build distribution (WAR) to be packaged into an EAR." name="dist-ear"/>
+    <!--
+                EXECUTION SECTION
+            -->
+    <target depends="run-deploy,run-display-browser" description="Deploy to server and show in browser." name="run"/>
+    <target name="-pre-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-post-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-pre-nbmodule-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -pre-run-deploy task instead. -->
+    </target>
+    <target name="-post-nbmodule-run-deploy">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -post-run-deploy task instead. -->
+    </target>
+    <target name="-run-deploy-am">
+        <!-- Task to deploy to the Access Manager runtime. -->
+    </target>
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest,-pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,-post-run-deploy,-do-update-breakpoints" name="run-deploy"/>
+    <target if="netbeans.home" name="-run-deploy-nb">
+        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
+    </target>
+    <target name="-init-deploy-ant" unless="netbeans.home">
+        <property name="deploy.ant.archive" value="${dist.war}"/>
+        <property name="deploy.ant.docbase.dir" value="${web.docbase.dir}"/>
+        <property name="deploy.ant.resource.dir" value="${resource.dir}"/>
+        <property name="deploy.ant.enabled" value="true"/>
+    </target>
+    <target depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant" name="run-undeploy"/>
+    <target if="netbeans.home" name="-run-undeploy-nb">
+        <fail message="Undeploy is not supported from within the IDE"/>
+    </target>
+    <target depends="init,-pre-dist,dist,-post-dist" name="verify">
+        <nbverify file="${dist.war}"/>
+    </target>
+    <target depends="run-deploy,-init-display-browser,-display-browser-nb-old,-display-browser-nb,-display-browser-cl" name="run-display-browser"/>
+    <target if="do.display.browser" name="-init-display-browser">
+        <condition property="do.display.browser.nb.old">
+            <and>
+                <isset property="netbeans.home"/>
+                <not>
+                    <isset property="browser.context"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="do.display.browser.nb">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="browser.context"/>
+            </and>
+        </condition>
+        <condition property="do.display.browser.cl">
+            <isset property="deploy.ant.enabled"/>
+        </condition>
+    </target>
+    <target if="do.display.browser.nb.old" name="-display-browser-nb-old">
+        <nbbrowse url="${client.url}"/>
+    </target>
+    <target if="do.display.browser.nb" name="-display-browser-nb">
+        <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
+    </target>
+    <target if="do.display.browser.cl" name="-get-browser" unless="browser">
+        <condition property="browser" value="rundll32">
+            <os family="windows"/>
+        </condition>
+        <condition else="" property="browser.args" value="url.dll,FileProtocolHandler">
+            <os family="windows"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/open">
+            <os family="mac"/>
+        </condition>
+        <property environment="env"/>
+        <condition property="browser" value="${env.BROWSER}">
+            <isset property="env.BROWSER"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/firefox">
+            <available file="/usr/bin/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/local/firefox/firefox">
+            <available file="/usr/local/firefox/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/bin/mozilla">
+            <available file="/usr/bin/mozilla"/>
+        </condition>
+        <condition property="browser" value="/usr/local/mozilla/mozilla">
+            <available file="/usr/local/mozilla/mozilla"/>
+        </condition>
+        <condition property="browser" value="/usr/sfw/lib/firefox/firefox">
+            <available file="/usr/sfw/lib/firefox/firefox"/>
+        </condition>
+        <condition property="browser" value="/opt/csw/bin/firefox">
+            <available file="/opt/csw/bin/firefox"/>
+        </condition>
+        <condition property="browser" value="/usr/sfw/lib/mozilla/mozilla">
+            <available file="/usr/sfw/lib/mozilla/mozilla"/>
+        </condition>
+        <condition property="browser" value="/opt/csw/bin/mozilla">
+            <available file="/opt/csw/bin/mozilla"/>
+        </condition>
+    </target>
+    <target depends="-get-browser" if="do.display.browser.cl" name="-display-browser-cl">
+        <fail unless="browser">
+                    Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
+                </fail>
+        <property name="browse.url" value="${deploy.ant.client.url}${client.urlPart}"/>
+        <echo>Launching ${browse.url}</echo>
+        <exec executable="${browser}" spawn="true">
+            <arg line="${browser.args} ${browse.url}"/>
+        </exec>
+    </target>
+    <target depends="init,-init-cos,compile-single" name="run-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <webproject1:java classname="${run.class}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" name="run-test-with-main">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <webproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
+    </target>
+    <target depends="init" if="netbeans.home" name="-do-update-breakpoints">
+        <webproject1:nbjpdaappreloaded/>
+    </target>
+    <!--
+                DEBUGGING SECTION
+            -->
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" description="Debug project in IDE." if="netbeans.home" name="debug">
+        <nbstartserver debugmode="true"/>
+        <antcall target="connect-debugger"/>
+        <nbdeploy clientUrlPart="${client.urlPart}" debugmode="true" forceRedeploy="true"/>
+        <antcall target="debug-display-browser-old"/>
+        <antcall target="debug-display-browser"/>
+        <antcall target="connect-client-debugger"/>
+    </target>
+    <target if="do.debug.server" name="connect-debugger" unless="is.debugged">
+        <condition property="listeningcp" value="sourcepath">
+            <istrue value="${j2ee.compile.on.save}"/>
+        </condition>
+        <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" listeningcp="${listeningcp}" name="${name}" transport="${jpda.transport}">
+            <classpath>
+                <path path="${debug.classpath}:${j2ee.platform.classpath}"/>
+            </classpath>
+            <sourcepath>
+                <path path="${web.docbase.dir}"/>
+            </sourcepath>
+        </nbjpdaconnect>
+    </target>
+    <target if="do.display.browser.debug.old" name="debug-display-browser-old">
+        <nbbrowse url="${client.url}"/>
+    </target>
+    <target if="do.display.browser.debug" name="debug-display-browser">
+        <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
+    </target>
+    <target if="do.debug.client" name="connect-client-debugger">
+        <webproject1:nbjsdebugstart webUrl="${client.url}"/>
+    </target>
+    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <webproject1:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
+    </target>
+    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
+    <target depends="init,compile,compile-jsps,-do-compile-single-jsp,debug" if="netbeans.home" name="debug-single"/>
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
+        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
+    </target>
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
+        <webproject1:nbjpdastart name="${debug.class}"/>
+    </target>
+    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <webproject1:debug classname="${debug.class}"/>
+    </target>
+    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single-main"/>
+    <target depends="init" name="-pre-debug-fix">
+        <fail unless="fix.includes">Must set fix.includes</fail>
+        <property name="javac.includes" value="${fix.includes}.java"/>
+    </target>
+    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
+        <webproject1:nbjpdareload/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
+    <!--
+            =================
+            PROFILING SECTION
+            =================
+            -->
+    <!--
+                pre NB7.2 profiling section; consider it deprecated
+            -->
+    <target description="Profile a J2EE project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
+        <condition else="start-profiled-server" property="profiler.startserver.target" value="start-profiled-server-extraargs">
+            <isset property="profiler.info.jvmargs.extra"/>
+        </condition>
+        <antcall target="${profiler.startserver.target}"/>
+        <antcall target="run"/>
+        <antcall target="-profile-start-loadgen"/>
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="start-profiled-server">
+        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg value="${profiler.j2ee.agentID}"/>
+        </nbstartprofiledserver>
+    </target>
+    <target if="profiler.info.jvmargs.agent" name="start-profiled-server-extraargs">
+        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
+            <jvmarg value="${profiler.info.jvmargs.extra}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg value="${profiler.j2ee.agentID}"/>
+        </nbstartprofiledserver>
+    </target>
+    <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
+        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+                <path path="${j2ee.platform.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
+            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+                <path path="${j2ee.platform.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper from="test-sys-prop.*" to="*" type="glob"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+    <target if="netbeans.home" name="-profile-check">
+        <condition property="profiler.configured">
+            <or>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
+                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
+            </or>
+        </condition>
+    </target>
+    <target depends="init,-init-cos,compile,compile-jsps,-do-compile-single-jsp,-pre-dist,-do-tmp-dist-with-manifest,-do-tmp-dist-without-manifest" name="-do-profile">
+        <startprofiler/>
+        <nbstartserver profilemode="true"/>
+        <nbdeploy clientUrlPart="${client.urlPart}" forceRedeploy="true" profilemode="true"/>
+        <antcall target="debug-display-browser-old"/>
+        <antcall target="debug-display-browser"/>
+        <antcall target="-profile-start-loadgen"/>
+    </target>
+    <target depends="-profile-check,-profile-pre72" description="Profile a J2EE project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
+        <antcall target="-do-profile"/>
+    </target>
+    <target depends="-profile-test-single-pre72" name="profile-test-single"/>
+    <target depends="-profile-check" if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs.agent">
+        <startprofiler/>
+        <antcall target="test-single"/>
+    </target>
+    <target if="profiler.loadgen.path" name="-profile-start-loadgen">
+        <loadgenstart path="${profiler.loadgen.path}"/>
+    </target>
+    <!--
+                JAVADOC SECTION
+            -->
+    <target depends="init" if="have.sources" name="javadoc-build">
+        <mkdir dir="${dist.javadoc.dir}"/>
+        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+            <classpath>
+                <path path="${javac.classpath}:${j2ee.platform.classpath}"/>
+            </classpath>
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/*.java"/>
+            </fileset>
+        </javadoc>
+        <copy todir="${dist.javadoc.dir}">
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/doc-files/**"/>
+            </fileset>
+            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+                <include name="**/doc-files/**"/>
+            </fileset>
+        </copy>
+    </target>
+    <target depends="init,javadoc-build" if="netbeans.home" name="javadoc-browse" unless="no.javadoc.preview">
+        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+    </target>
+    <target depends="init,javadoc-build,javadoc-browse" description="Build Javadoc." name="javadoc"/>
+    <!--
+                
+                TEST COMPILATION SECTION
+            -->
+    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
+        <mkdir dir="${build.test.classes.dir}"/>
+        <property name="j2ee.platform.embeddableejb.classpath" value=""/>
+    </target>
+    <target name="-pre-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test" if="have.tests" name="-do-compile-test">
+        <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
+    <target name="-pre-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <webproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}:${j2ee.platform.embeddableejb.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
+    <!--
+                
+                TEST EXECUTION SECTION
+            -->
+    <target depends="init" if="have.tests" name="-pre-test-run">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
+        <webproject2:test includes="${includes}" testincludes="**/*Test.java"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init" if="have.tests" name="test-report"/>
+    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+    <target depends="init" if="have.tests" name="-pre-test-run-single">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <webproject2:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
+        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <webproject2:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
+        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
+    <!--
+                
+                TEST DEBUGGING SECTION
+            -->
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <webproject2:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
+        <webproject2:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
+    </target>
+    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+        <webproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
+    </target>
+    <target depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+    <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
+    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
+        <webproject1:nbjpdareload dir="${build.test.classes.dir}"/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
+    <!--
+                
+                CLEANUP SECTION
+            -->
+    <target depends="init" name="deps-clean" unless="no.deps"/>
+    <target depends="init" name="do-clean">
+        <condition property="build.dir.to.clean" value="${build.web.dir}">
+            <isset property="dist.ear.dir"/>
+        </condition>
+        <property name="build.dir.to.clean" value="${build.web.dir}"/>
+        <delete includeEmptyDirs="true" quiet="true">
+            <fileset dir="${build.dir.to.clean}/WEB-INF/lib"/>
+        </delete>
+        <delete dir="${build.dir}"/>
+        <available file="${build.dir.to.clean}/WEB-INF/lib" property="status.clean-failed" type="dir"/>
+        <delete dir="${dist.dir}"/>
+    </target>
+    <target depends="do-clean" if="status.clean-failed" name="check-clean">
+        <echo message="Warning: unable to delete some files in ${build.web.dir}/WEB-INF/lib - they are probably locked by the J2EE server. "/>
+        <echo level="info" message="To delete all files undeploy the module from Server Registry in Runtime tab and then use Clean again."/>
+    </target>
+    <target depends="init" if="netbeans.home" name="undeploy-clean">
+        <nbundeploy failOnError="false" startServer="false"/>
+    </target>
+    <target name="-post-clean">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,undeploy-clean,deps-clean,do-clean,check-clean,-post-clean" description="Clean build products." name="clean"/>
+    <target depends="clean" description="Clean build products." name="clean-ear"/>
+</project>
diff --git a/HelloWeb/nbproject/genfiles.properties b/HelloWeb/nbproject/genfiles.properties
new file mode 100644
index 0000000000000000000000000000000000000000..3ce279b54c6ea06c9409b8a309e6bf0503054fe7
--- /dev/null
+++ b/HelloWeb/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=ef64ba77
+build.xml.script.CRC32=7449866d
+build.xml.stylesheet.CRC32=651128d4@1.77.1.1
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=ef64ba77
+nbproject/build-impl.xml.script.CRC32=97641e6f
+nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.77.1.1
diff --git a/HelloWeb/nbproject/private/private.properties b/HelloWeb/nbproject/private/private.properties
new file mode 100644
index 0000000000000000000000000000000000000000..ebea3a47e2ed5dc3c14b57d398cccb03058110ec
--- /dev/null
+++ b/HelloWeb/nbproject/private/private.properties
@@ -0,0 +1,7 @@
+deploy.ant.properties.file=/home/nim_13515091/.netbeans/8.2/config/GlassFishEE6/Properties/gfv3-611079199.properties
+j2ee.platform.is.jsr109=true
+j2ee.server.domain=/home/nim_13515091/glassfish-4.1.1/glassfish/domains/domain1
+j2ee.server.home=/home/nim_13515091/glassfish-4.1.1/glassfish
+j2ee.server.instance=[/home/nim_13515091/glassfish-4.1.1/glassfish:/home/nim_13515091/glassfish-4.1.1/glassfish/domains/domain1]deployer:gfv3ee6wc:localhost:4848
+j2ee.server.middleware=/home/nim_13515091/glassfish-4.1.1
+user.properties.file=/home/nim_13515091/.netbeans/8.2/build.properties
diff --git a/HelloWeb/nbproject/project.properties b/HelloWeb/nbproject/project.properties
new file mode 100644
index 0000000000000000000000000000000000000000..57c9144548eed1ff35ffe52d96fb97e5daab26a9
--- /dev/null
+++ b/HelloWeb/nbproject/project.properties
@@ -0,0 +1,89 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=true
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+build.classes.dir=${build.web.dir}/WEB-INF/classes
+build.classes.excludes=**/*.java,**/*.form
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+build.web.dir=${build.dir}/web
+build.web.excludes=${build.classes.excludes}
+client.urlPart=
+compile.jsps=false
+conf.dir=${source.root}/conf
+debug.classpath=${build.classes.dir}:${javac.classpath}
+debug.test.classpath=\
+    ${run.test.classpath}
+display.browser=true
+# Files to be excluded from distribution war
+dist.archive.excludes=
+dist.dir=dist
+dist.ear.war=${dist.dir}/${war.ear.name}
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.war=${dist.dir}/${war.name}
+endorsed.classpath=\
+    ${libs.javaee-endorsed-api-7.0.classpath}
+excludes=
+includes=**
+j2ee.compile.on.save=true
+j2ee.copy.static.files.on.save=true
+j2ee.deploy.on.save=true
+j2ee.platform=1.7-web
+j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/cdi-api.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar
+j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar
+j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar
+j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar
+j2ee.platform.wsimport.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar
+j2ee.platform.wsit.classpath=
+j2ee.server.type=gfv3ee6
+jar.compress=false
+javac.classpath=
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.debug=true
+javac.deprecation=false
+javac.processorpath=\
+    ${javac.classpath}
+javac.source=1.8
+javac.target=1.8
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+javac.test.processorpath=\
+    ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.preview=true
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+lib.dir=${web.docbase.dir}/WEB-INF/lib
+no.dependencies=false
+persistence.xml.dir=${conf.dir}
+platform.active=default_platform
+resource.dir=setup
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+# Space-separated list of JVM arguments used when running a class with a main method or a unit test
+# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
+runmain.jvmargs=
+source.encoding=UTF-8
+source.root=src
+src.dir=${source.root}/java
+test.src.dir=test
+war.content.additional=
+war.ear.name=${war.name}
+war.name=HelloWeb.war
+web.docbase.dir=web
+webinf.dir=web/WEB-INF
diff --git a/HelloWeb/nbproject/project.xml b/HelloWeb/nbproject/project.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e6da5e4a1c8144e3d499f7c70aacabc857888a32
--- /dev/null
+++ b/HelloWeb/nbproject/project.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.web.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/web-project/3">
+            <name>HelloWeb</name>
+            <minimum-ant-version>1.6.5</minimum-ant-version>
+            <web-module-libraries/>
+            <web-module-additional-libraries/>
+            <source-roots>
+                <root id="src.dir" name="Source Packages"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir" name="Test Packages"/>
+            </test-roots>
+        </data>
+    </configuration>
+</project>
diff --git a/HelloWeb/src/conf/MANIFEST.MF b/HelloWeb/src/conf/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..59499bce4a2bd51cba227b7c00fcf745b19c95a4
--- /dev/null
+++ b/HelloWeb/src/conf/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/HelloWeb/web/CompleteOrder.jsp b/HelloWeb/web/CompleteOrder.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..a391722f4b82ca63b942d62759148061ac132c84
--- /dev/null
+++ b/HelloWeb/web/CompleteOrder.jsp
@@ -0,0 +1,60 @@
+<%-- 
+    Document   : CompleteOrder
+    Created on : Nov 4, 2017, 11:24:04 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <jsp:include page="HeaderWithMenu.jsp" />
+        <div class="edit-profile-header">
+            Make an order       
+        </div>
+        <div class="progress-container">
+            <div class="progress">
+                <div class="progress-num">1</div> Select Destination
+            </div>
+            <div class="progress">
+                <div class="progress-num">2</div> Select a driver
+            </div>
+            <div class="progress selected">
+                <div class="progress-num selected">3</div> Complete your order
+            </div>
+        </div>
+        <div class="edit-profile-header">
+            How was it?
+        </div>
+        <form action="/order/<?php echo $this->user; ?>/completeorder/finish" method="post" name="completeorder-form">
+            <div class="completeorder-container">
+            <input type='hidden' name='driver' value='<?php echo $this->driver; ?>'>
+            <input type='hidden' name='from' value='<?php echo $this->from; ?>'>
+            <input type='hidden' name='dest' value='<?php echo $this->dest; ?>'>
+            <img class="driver-completeorder-pic" src="<?php echo $this->image; ?>" alt="">
+            <div class="driver-name-disp">@<?php echo $this->driver; ?></div>
+            <div class="driver-fullname-disp"><?php echo $this->drivername; ?></div>
+            <span class="starRating">
+              <input id="rating5" type="radio" name="rating" value="5">
+              <label for="rating5">5</label>
+              <input id="rating4" type="radio" name="rating" value="4">
+              <label for="rating4">4</label>
+              <input id="rating3" type="radio" name="rating" value="3">
+              <label for="rating3">3</label>
+              <input id="rating2" type="radio" name="rating" value="2">
+              <label for="rating2">2</label>
+              <input id="rating1" type="radio" name="rating" value="1">
+              <label for="rating1">1</label>
+            </span>
+            <textarea cols="5" placeholder="Your comment..." name="comment"></textarea>
+            </div>
+            <div class="right-align">
+                <input class="accept-button select-driver-btn completeorder-btn" type="submit" value="Complete&#13;&#10;Order">
+            </div>
+        </form>
+        <jsp:include page="Footer.jsp" />
+    </body>
+</html>
diff --git a/HelloWeb/web/Footer.jsp b/HelloWeb/web/Footer.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..cb71c0e72911f50c9dbe43c71bd65e1480f68104
--- /dev/null
+++ b/HelloWeb/web/Footer.jsp
@@ -0,0 +1,21 @@
+<%-- 
+    Document   : Footer
+    Created on : Nov 4, 2017, 11:22:37 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        <div class="footer">
+            <div>Dayu <br /> 13500000</div>
+            <div>Marvin <br /> 1350000</div>
+            <div>Adrian HP <br /> 13515091</div>
+        </div>
+    </body>
+</html>
diff --git a/HelloWeb/web/Header.jsp b/HelloWeb/web/Header.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..119e70cf6571e555a0c91f2d8cd7a3725e9bf931
--- /dev/null
+++ b/HelloWeb/web/Header.jsp
@@ -0,0 +1,17 @@
+<%-- 
+    Document   : Header
+    Created on : Nov 4, 2017, 11:22:56 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        
+    </body>
+</html>
diff --git a/HelloWeb/web/HeaderWithMenu.jsp b/HelloWeb/web/HeaderWithMenu.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..78c4a75393711918b69da7a6a7906f70ea9e48aa
--- /dev/null
+++ b/HelloWeb/web/HeaderWithMenu.jsp
@@ -0,0 +1,43 @@
+<%-- 
+    Document   : HeaderWithMenu
+    Created on : Nov 4, 2017, 11:23:12 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <link rel="stylesheet" href="css/profile.css"/>
+        <link rel="stylesheet" href="css/style.css"/>
+    </head>
+    <body>
+        <div>
+            <header class="header-box">
+                <div class="col-header-left">
+                    <div>
+                        <span class='logo-title'>MotoRaido</span><br />
+                        <span class='tagline'>Anata to issho ni noru mōtā</span>
+                    </div>	
+                </div>
+                <div class="col-header-right">
+                    <div>
+                        Hi, <b><?php echo $this->user; ?></b> !
+                    </div>
+                    <div>
+                        <a href="/login">Logout</a>
+                    </div>
+                </div>
+            </header>
+            <div class='menu'>
+                <div class="menu-column"></div>
+                <div class="menu-column"></div>
+                <div class="menu-column"></div>
+                <div id="orderheader" class="menu-cell"><a href="/order/<?php echo $this->user; ?>" class="text-link">ORDER</a></div>
+                <div id="historyheader" class="menu-cell"><a href="/history/<?php echo $this->user; ?>" class="text-link">HISTORY</a></div>
+                <div id="profileheader" class="menu-cell"><a href="/profile/<?php echo $this->user; ?>" class="text-link">MY PROFILE</a></div>
+            </div>
+        </div>
+    </body>
+</html>
diff --git a/HelloWeb/web/Order.jsp b/HelloWeb/web/Order.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..2e60e67aec463f378c67bdefc5c1691c2eeff4ac
--- /dev/null
+++ b/HelloWeb/web/Order.jsp
@@ -0,0 +1,52 @@
+<%-- 
+    Document   : Order
+    Created on : Nov 4, 2017, 11:23:35 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <jsp:include page="HeaderWithMenu.jsp" />
+        <div class="container">
+            <div class="edit-profile-header">
+                Make an order       
+            </div>
+            <div class="progress-container">
+                <div class="progress selected">
+                    <div class="progress-num">1</div> Select Destination
+                </div>
+                <div class="progress">
+                    <div class="progress-num">2</div> Select a driver
+                </div>
+                <div class="progress">
+                    <div class="progress-num">3</div> Complete your order
+                </div>
+            </div>
+            <form action="SelectDriver.jsp"  method='post'>
+                <div class="edit-profile-btm">
+                    <div class="form-input">
+                        <label for="pick-point">Picking point</label>
+                        <input class="ep-textarea" type="text" name="pick-point" />
+                    </div>
+                    <div class="form-input">
+                        <label for="destination">Destination</label>
+                        <input class="ep-textarea" type="text" name="destination" />
+                    </div>
+                    <div class="form-input">
+                        <label for="pref-driver">Preferred Driver</label>
+                        <input class="ep-textarea" type="text" name="pref-driver" placeholder="(Optional)"/>
+                    </div>
+                    <div class="right-align">
+                        <input class="accept-button select-driver-btn" id="save-profile" type="submit" value="Next" />
+                    </div>
+                </div>
+            </form>
+        </div>
+        <jsp:include page="Footer.jsp" />
+    </body>
+</html>
diff --git a/HelloWeb/web/SelectDriver.jsp b/HelloWeb/web/SelectDriver.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..66883b9eab372f10232faadc29186ce462e57856
--- /dev/null
+++ b/HelloWeb/web/SelectDriver.jsp
@@ -0,0 +1,42 @@
+<%-- 
+    Document   : SelectDriver
+    Created on : Nov 4, 2017, 11:23:47 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    </head>
+    <body>
+        <jsp:include page="HeaderWithMenu.jsp" />
+        <div class="edit-profile-header">
+            Make an order       
+        </div>
+        <div class="progress-container">
+            <div class="progress">
+                <div class="progress-num">1</div> Select Destination
+            </div>
+            <div class="progress selected">
+                <div class="progress-num">2</div> Select a driver
+            </div>
+            <div class="progress">
+                <div class="progress-num">3</div> Complete your order
+            </div>
+        </div>
+        <div id="pref-driver" class="select-driver">
+            <div class= "selectdriver-header">
+                Preferred Drivers:
+            </div>
+            </div>
+        <div id="other-driver" class="select-driver">
+            <div class="selectdriver-header">
+                Other Drivers:
+            </div>
+        </div>
+        <script src="js/selectdriver.js"></script>
+        <jsp:include page="Footer.jsp" />
+    </body>
+</html>
diff --git a/HelloWeb/web/css/.gitkeep b/HelloWeb/web/css/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/web/css/fonts/geo.woff2 b/HelloWeb/web/css/fonts/geo.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..4c1d8680a68afc90ed228ae5c313f9002255b7b2
Binary files /dev/null and b/HelloWeb/web/css/fonts/geo.woff2 differ
diff --git a/HelloWeb/web/css/fonts/mukta1.woff2 b/HelloWeb/web/css/fonts/mukta1.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..dfa6d95388c06078e73dc1ccc0df0cdd8c152c4b
Binary files /dev/null and b/HelloWeb/web/css/fonts/mukta1.woff2 differ
diff --git a/HelloWeb/web/css/fonts/mukta2.woff2 b/HelloWeb/web/css/fonts/mukta2.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..ed0d8a0451ef90b479b036e337f741573dfa55bb
Binary files /dev/null and b/HelloWeb/web/css/fonts/mukta2.woff2 differ
diff --git a/HelloWeb/web/css/fonts/mukta3.woff2 b/HelloWeb/web/css/fonts/mukta3.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..b6d906226264df96ac57ba02427ae5043bfd031f
Binary files /dev/null and b/HelloWeb/web/css/fonts/mukta3.woff2 differ
diff --git a/HelloWeb/web/css/profile.css b/HelloWeb/web/css/profile.css
new file mode 100644
index 0000000000000000000000000000000000000000..7bf19a4f7d989ea396720a3c92bd8cb9cce368d7
--- /dev/null
+++ b/HelloWeb/web/css/profile.css
@@ -0,0 +1,154 @@
+.profile-picture {
+  width: 150px;
+  height: 150px;
+  border: 5px solid black;
+  float: left;
+  border-radius: 500px;
+  clear: both;
+}
+
+#info-profile {
+  margin: 20px 0px;
+  height: auto;
+}
+
+.edit-pen {
+  float: right;
+  height: 30px;
+
+}
+
+.subtitle-profile {
+  float: left;
+  width: 200px;
+  font-size: 2em;
+  font-weight: bold;
+  font-family: 'Mutka', sans-serif;
+}
+
+#profile-pic-div {
+  margin: auto;
+  width: 160px;
+  height: 160px;
+}
+
+#edit-pen-div {
+  margin: auto;
+  height: auto;
+}
+
+.subtitle-cont {
+  margin-bottom: 20px;
+  height: 37px;
+}
+
+#info-text {
+  margin: auto;
+  font-size: 1.2em;
+}
+
+#list-info {
+  list-style: none;
+  text-align: center;
+  padding: 0px;
+}
+
+#prefer-loc-title {
+  font-size: 1.5em;
+  width: 400px;
+}
+
+.fa-star-o{
+  color: red;
+}
+
+#info-pref-text {
+  font-size: 1.2em;
+}
+
+.subtitle-history {
+  float: left;
+  font-size: 2em;
+  font-weight: bold;
+  font-family: 'Mutka', sans-serif;
+  margin-top: 20px; 
+}
+
+.history-pic-div {
+  width: 120px;
+  height: 120px;
+  margin: 0px 20px;
+  float: left;
+}
+
+.profile-pic-his {
+  width: 110px;
+  height: 110px;
+  border: 1px solid black;
+  float: left;
+}
+
+.history-list {
+  margin-top: 20px;
+  list-style: none;
+  padding: 0px;
+  height: auto;
+}
+
+.order-list {
+  display: none;
+}
+
+.driver-list {
+  display: none;
+}
+
+.active-list {
+  display:block;
+}
+
+.comment {
+  margin-left: 180px;
+}
+
+.hide{
+  width: auto;
+  padding: 10px 15px;
+  border: 1px solid black;
+  border-radius: 10px;
+  background-color: red;
+  position: absolute;
+  right: 0;
+}
+
+.his-text>span {
+  display: inline-block;
+}
+
+.list-text-his {
+  height: auto;
+  position: relative;
+  clear: both;
+}
+
+.date-his {
+  color: gray;
+}
+
+.name-his {
+  font-size: 1.2em;
+}
+
+.tab-active {
+  display: block;
+}
+
+.active {
+  color: #ffffff;
+  border-color: #000000;
+  background-color: #5A1E83;
+}
+
+.hide-element {
+  display: none;
+}
\ No newline at end of file
diff --git a/HelloWeb/web/css/style.css b/HelloWeb/web/css/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..ae7bb6a41858edde4cdc42187c4481c84a4a3473
--- /dev/null
+++ b/HelloWeb/web/css/style.css
@@ -0,0 +1,628 @@
+@charset "UTF-8";
+
+body {
+  width: 470px;
+  margin: auto;
+  font-family: 'Mutka', sans-serif;
+}
+
+textarea {
+  resize: none;
+  width: 100%;
+  margin-bottom: 10px;
+}
+
+/* Order Header */
+  .progress-container {
+    width: fit-content;
+    border-collapse:separate;
+    border-spacing: 10px 10px;
+    display: table;
+  }
+
+  .progress {
+    width: 30%;
+    height: 50px;
+    font-size: 105%;
+    border: 1px solid black;
+    text-align: left;
+    vertical-align: middle;
+    display: table-cell;
+  }
+
+  .progress-num {
+    display:inline-block;
+    background-color: #DDD;
+    width: 35px;
+    height: 35px;
+    border-radius: 100%;
+    margin: 0px 5px;
+    line-height: 200%;
+    text-align: center;
+    vertical-align: middle;
+    float: left;
+  }
+
+  .selected {
+    background-color: #FFFF44;
+  }
+
+/* Header style */
+
+.header-box {
+  height: fit-content content-box;
+  width: fit-content content-box;
+  margin-left: auto;
+  margin-right: auto;
+  margin-top: none;
+  margin-bottom: none;
+  font-family: 'Mutka', sans-serif;
+  column-count: 2;
+  -moz-column-count: 2;
+  -webkit-column-count: 2;
+  -webkit-column-span: all; /* Chrome, Safari, Opera */
+  column-span: all;
+  column-gap: 40px;
+}
+
+.col-header-left {
+  width: 50% content-box;
+  float: left;
+  vertical-align: middle;
+}
+
+.logo-title {
+  font-family: 'Geo', sans-serif;
+  font-weight: bold;
+  font-size: 250%;
+  color: #5A1E83;
+}
+
+.tagline {
+  color: #311B92;
+}
+
+.col-header-right {
+  width: 50% content-box;
+  float: right;
+  text-align: right;
+  vertical-align: middle;
+  line-height: 2;
+}
+
+/* Menu style */
+
+.menu {
+  width: 100%;
+  display: table;
+  table-layout: fixed;
+}
+
+.menu > div.menu-column {
+  display: table-column;
+}
+
+.menu > div.menu-cell {
+  display: table-cell;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+  line-height: 50px;
+  text-align: center;
+  font-weight: bold;
+  border-style: solid;
+  border-width: 1px;
+}
+
+.menu > div:hover, .menu > div.selected {
+  color: #ffffff;
+  border-color: #000000;
+  background-color: #5A1E83;
+}
+
+/* Footer style */
+.footer {
+  column-count: 3;
+  -moz-column-count: 3;
+  -webkit-column-count: 3;
+  -webkit-column-span: all;
+  column-span: all;
+  -moz-column-gap: 2em;
+  -webkit-column-gap: 2em;
+  column-gap: 1.5em;
+  column-rule-style: solid;
+  border-style: solid;
+  border-width: 2px;
+}
+
+.footer > div {
+  width: fit-content content-box;
+  text-align: center;
+  font-weight: bold;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+}
+
+.img-chooser {
+  padding-top: 20px;
+}
+
+.text-link {
+  text-decoration: none;
+  font-size: 120%;
+  font-weight: bold;
+  color: black;
+}
+
+
+
+/* Container */
+.container {
+  width: inherit;
+}
+
+.header {
+  line-height: 1.5;
+  text-transform: uppercase;
+}
+
+.selectdriver-header {
+  text-transform: uppercase;
+  font-weight: bold;
+}
+
+.edit-profile-container {
+  font-family: Verdana;
+}
+
+.edit-profile-header {
+  text-transform: uppercase;
+  font-weight: bold;
+  width: 100%;
+  font-size: 170%;
+}
+
+.edit-profile-btm {
+  clear: both;
+}
+
+.form-editprofile{
+  margin: 5px 0;
+}
+
+.ep-textarea{
+  width: 60%;
+  float: right;
+  clear: both;
+}
+
+.content-layout {
+  background-color: rgb(124, 206, 43);
+  padding: 50px;
+  border: 10px solid rgb(10, 127, 10);
+  border-radius: 100px;
+  width: 350px;
+}
+
+.title {
+  height: 27px;
+  padding: 0px 20px;
+}
+
+.title>div>h1 {
+  text-align: center;
+  margin-top: 0px;
+  width: 100px;
+  float: left;
+}
+
+.title>div>hr {
+  float:left;
+  position: relative;
+  width: 100px;
+  top: 5px;
+  background-color: rgb(10, 127, 10);
+  height: 5px;
+  border: none;
+}
+
+.form-layout {
+  clear: left;
+}
+
+.form-input {
+  width: 350px;
+  margin-bottom: 5px;
+}
+
+.form-input>div {
+  float: left;
+  width: 135px;
+}
+
+.form-input>input {
+  width: 198px;
+}
+
+.checked-input>input {
+  width: 170px;
+}
+
+.driver-checkbox {
+  margin: 20px 0px;
+}
+
+.driver-checkbox>input {
+  float: left;
+  margin-left: 0px;
+}
+
+
+.cancel-button {
+  width: 75px;
+  height: 30px;
+  text-align: center;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #D2002E;
+  border-radius: 10px;
+}
+
+.accept-button {
+  width: 75px;
+  height: 30px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+}
+
+.driver-completeorder-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+}
+
+.completeorder-container {
+  text-align: center;
+  clear: both;
+}
+
+.right-align {
+  width: 100%;
+  text-align: right;
+}
+
+.driver-fullname-disp {
+  font-size: 105%;
+  font-weight: bold;
+  margin-top: 5px;
+}
+
+/*Select driver*/
+.select-driver {
+  width: auto;
+  padding: 0 10px;
+  border-radius: 12px;
+  border: 1px solid black;
+  margin: 10px 0;
+}
+
+.driver-content {
+  height: 120px;
+  overflow: hidden;
+}
+
+.driver-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+  float: left;
+}
+
+.driver-name-disp {
+  font-size: 160%;
+  font-weight: bold;
+  margin-top: 10px;
+}
+
+.driver-rating-disp {
+  color: orange;
+  font-size: 110%;
+}
+
+.driver-not-found {
+  color: grey;
+  height: 70px;
+  text-align: center;
+  text-transform: none;
+  line-height: 70px;
+  vertical-align: middle;
+}
+
+.vote-disp {
+  color: black;
+}
+
+.select-driver-btn {
+  width: auto;
+  color: white;
+  background-color: #5A1E83;
+  letter-spacing: 0.5px;
+  float: right;
+}
+
+.order-btn {
+  float: none;
+  clear: both;
+}
+
+#profile-pic {
+  width: 150px;
+  height: 150px;
+  border: 1px solid black;
+  float: left;
+  margin-right: 25px;
+  margin-bottom: 30px;
+}
+
+#save-profile {
+  float: right;
+  margin-right: 120px;
+}
+
+#register-button {
+  background-color: #4CAF50;
+  border: 5px solid rgb(10, 127, 10);
+  border-radius: 20px;
+  color: white;
+  padding: 15px 32px;
+  text-align: center;
+  text-decoration: none;
+  display: inline-block;
+  font-size: 16px;
+  margin: 4px 2px;
+  cursor: pointer;
+}
+
+#button-layout>div {
+  float: left;
+  width: 200px;
+  height: 66px;
+}
+
+#button-layout a {
+  position: relative;
+  top: 20px;
+}
+
+
+.button-form {
+  text-align: right;
+  width: 350px;
+}
+
+.button-form div {
+  float: left;
+}
+
+.completeorder-btn {
+  width: 100px;
+  height: 50px;
+  float: none;
+}
+
+ /* The switch - the box around the slider */
+ .switch {
+  position: relative;
+  display: inline-block;
+
+  width: 50px;
+  height: 25px;
+}
+
+/* Hide default HTML checkbox */
+.switch input {display:none;}
+
+/* The slider */
+.slider {
+  position: absolute;
+  cursor: pointer;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: #ccc;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+.slider:before {
+  position: absolute;
+  content: "";
+  height: 19px;
+  width: 19px;
+  left: 4px;
+  bottom: 3px;
+  background-color: white;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+input:checked + .slider {
+  background-color: #1E7B25;
+}
+
+input:focus + .slider {
+  box-shadow: 0 0 1px #1E7B25;
+}
+
+input:checked + .slider:before {
+  -webkit-transform: translateX(23px);
+  -ms-transform: translateX(23px);
+  transform: translateX(23px);
+}
+
+/* Rounded sliders */
+.slider.round {
+  border-radius: 34px;
+}
+
+.slider.round:before {
+  border-radius: 50%;
+}
+
+/* Menu Order */
+.menu-order {
+  height: 100%;
+  width: 100%;
+  position: relative;
+  font-size: 12px;
+  border-spacing: 20px 12px;
+}
+
+.menu-order-column {
+  height: 100%;
+}
+
+.menu-order-cell {
+  display: table-cell;
+  position: relative;
+  text-align: left;
+  font-weight: bold;
+}
+
+.menu-order-number
+{
+    position: relative;
+    display: block;
+    width: 50px;
+    height: 50px;
+    border-radius: 25px; /* or 50% */
+    text-align: center;
+    margin-left: auto;
+    margin-right: auto;
+    background-color: #311B92;
+    color: #ffffff;
+    line-height: 50px;
+}
+
+.menu-order-title
+{
+    position: relative;
+    display: inline-block;
+}
+
+#next-button-text {
+  line-height: 20px;
+  width: 75%;
+  padding-right: 1px;
+}
+
+input.next-button {
+  width: 20%;
+  height: 30px;
+  line-height: 20px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+  display: inline-block;
+}
+
+table, th, td {
+  table-layout: auto !important;
+  width: 100% auto !important;
+  max-width:100%;
+  white-space:nowrap;
+  border: 1px solid black;
+  border-collapse: collapse;
+}
+
+.pref-button {
+  width: 21px;
+  height: 21px;
+  vertical-align: middle;
+  border: none;
+  display: inline-block;
+}
+
+/** Rating **/
+.starRating:not(old){
+  display        : inline-block;
+  width          : 7.5em;
+  height         : 1.5em;
+  overflow       : hidden;
+  vertical-align : bottom;
+}
+
+.starRating:not(old) > input{
+  margin-right : -100%;
+  opacity      : 0;
+}
+
+.starRating:not(old) > label{
+  display         : block;
+  float           : right;
+  position        : relative;
+  background      : url('../img/star-off.svg');
+  background-size : contain;
+}
+
+.starRating:not(old) > label:before{
+  content         : '';
+  display         : block;
+  width           : 1.5em;
+  height          : 1.5em;
+  background      : url('../img/star-on.svg');
+  background-size : contain;
+  opacity         : 0;
+  transition      : opacity 0.2s linear;
+}
+
+.starRating:not(old) > label:hover:before,
+.starRating:not(old) > label:hover ~ label:before,
+.starRating:not(:hover) > :checked ~ label:before{
+  opacity : 1;
+}
+
+/* Font customization */
+/* latin */
+@font-face {
+  font-family: 'Geo';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Geo'), local('Geo-Regular'), url(./fonts/geo.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+/* devanagari */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
+}
+/* latin-ext */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
diff --git a/HelloWeb/web/css/style_old.css b/HelloWeb/web/css/style_old.css
new file mode 100644
index 0000000000000000000000000000000000000000..7ee8d5f20ad0ad8b49088c590ce18c398f09c1d8
--- /dev/null
+++ b/HelloWeb/web/css/style_old.css
@@ -0,0 +1,614 @@
+@charset "UTF-8";
+
+/* Font customization */
+/* latin */
+@font-face {
+  font-family: 'Geo';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Geo'), local('Geo-Regular'), url(./fonts/geo.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+/* devanagari */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+02BC, U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
+}
+/* latin-ext */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
+}
+/* latin */
+@font-face {
+  font-family: 'Mukta';
+  font-style: normal;
+  font-weight: 400;
+  src: local('Mukta Regular'), local('Mukta-Regular'), url(./fonts/mukta1.woff2) format('woff2');
+  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
+}
+
+/* Body style */
+
+body {
+  width: 470px;
+  margin: auto;
+  font-family: 'Mutka', sans-serif;
+}
+
+textarea {
+  resize: none;
+  width: 100%;
+  margin-bottom: 10px;
+}
+
+/* Order Header */
+  .progress-container {
+    width: fit-content;
+    border-collapse:separate;
+    border-spacing: 10px 10px;
+    display: table;
+  }
+
+  .progress {
+    width: 30%;
+    height: 50px;
+    font-size: 105%;
+    border: 1px solid black;
+    text-align: left;
+    vertical-align: middle;
+    display: table-cell;
+  }
+
+  .progress-num {
+    display:inline-block;
+    background-color: #DDD;
+    width: 35px;
+    height: 35px;
+    border-radius: 100%;
+    margin: 0px 5px;
+    line-height: 200%;
+    text-align: center;
+    vertical-align: middle;
+  }
+
+  .selected {
+    background-color: #FFFF44;
+  }
+
+/* Header style */
+
+.header-box {
+  height: fit-content content-box;
+  width: fit-content content-box;
+  margin-left: auto;
+  margin-right: auto;
+  margin-top: none;
+  margin-bottom: none;
+  column-count: 2;
+  -moz-column-count: 2;
+  -webkit-column-count: 2;
+  -webkit-column-span: all; /* Chrome, Safari, Opera */
+  column-span: all;
+  column-gap: 40px;
+}
+
+.col-header-left {
+  width: 50% content-box;
+  float: left;
+  vertical-align: middle;
+}
+
+.logo-title {
+  font-family: 'Geo', sans-serif;
+  font-weight: bold;
+  font-size: 250%;
+  color: #5A1E83;
+}
+
+.tagline {
+  color: #311B92;
+}
+
+.col-header-right {
+  width: 50% content-box;
+  float: right;
+  text-align: right;
+  vertical-align: middle;
+  line-height: 2;
+}
+
+/* Menu style */
+
+.menu {
+  width: 100%;
+  display: table;
+  table-layout: fixed;
+}
+
+.menu > div.menu-column {
+  display: table-column;
+}
+
+.menu > div.menu-cell {
+  display: table-cell;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+  line-height: 50px;
+  text-align: center;
+  font-weight: bold;
+  border-style: solid;
+  border-width: 1px;
+}
+
+.menu-item:hover, .menu-item#selected {
+  color: #ffffff;
+  border-color: #000000;
+  background-color: #5A1E83;
+}
+
+/* Footer style */
+.footer {
+  width: 100% fit-content;
+  display: inline-block;
+  column-count: 3;
+  column-span: all;
+  column-gap: 1.5em;
+  column-rule-style: solid;
+  border-style: solid;
+  border-width: 2px;
+  margin: auto;
+}
+
+.footer > div {
+  text-align: center;
+  font-weight: bold;
+  font-family: 'Mukta', sans-serif;
+  vertical-align: middle;
+}
+
+.img-chooser {
+  padding-top: 20px;
+}
+
+/* Container */
+.container {
+  width: inherit;
+}
+
+.header {
+  line-height: 1.5;
+  text-transform: uppercase;
+}
+
+.selectdriver-header {
+  text-transform: uppercase;
+  font-weight: bold;
+}
+
+.edit-profile-container {
+  font-family: Verdana;
+}
+
+.edit-profile-header {
+  text-transform: uppercase;
+  font-weight: bold;
+  width: 100%;
+  font-size: 170%;
+}
+
+.edit-profile-btm {
+  clear: both;
+}
+
+.form-editprofile{
+  margin: 5px 0;
+}
+
+
+
+.ep-textarea{
+  width: 60%;
+  float: right;
+  clear: both;
+}
+
+.content-layout {
+  background-color: rgb(124, 206, 43);
+  padding: 50px;
+  border: 10px solid rgb(10, 127, 10);
+  border-radius: 100px;
+  width: 350px;
+}
+
+.title {
+  height: 27px;
+  padding: 0px 20px;
+}
+
+.title>div>h1 {
+  text-align: center;
+  margin-top: 0px;
+  width: 100px;
+  float: left;
+}
+
+.title>div>hr {
+  float:left;
+  position: relative;
+  width: 100px;
+  top: 5px;
+  background-color: rgb(10, 127, 10);
+  height: 5px;
+  border: none;
+}
+
+.form-layout {
+  clear: left;
+}
+
+.form-input {
+  width: 350px;
+  margin-bottom: 5px;
+}
+
+.form-input>div {
+  float: left;
+  width: 130px;
+}
+
+.form-input>input {
+  width: 198px;
+}
+
+.driver-checkbox {
+  margin: 20px 0px;
+}
+
+.driver-checkbox>input {
+  float: left;
+  margin-left: 0px;
+}
+
+
+.cancel-button {
+  width: 75px;
+  height: 30px;
+  text-align: center;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #D2002E;
+  border-radius: 10px;
+}
+
+.accept-button {
+  width: 75px;
+  height: 30px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+}
+
+
+.driver-completeorder-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+}
+
+.completeorder-container {
+  text-align: center;
+  clear: both;
+}
+
+.right-align {
+  width: 100%;
+  text-align: right;
+}
+
+.driver-fullname-disp {
+  font-size: 105%;
+  font-weight: bold;
+  margin-top: 5px;
+}
+
+/*Select driver*/
+.select-driver {
+  width: fit-content;
+  padding: 0 10px;
+  border-radius: 12px;
+  border: 1px solid black;
+  margin: 10px 0;
+}
+
+.driver-content {
+  height: 120px;
+  overflow: hidden;
+}
+
+.driver-pic {
+  height: 100px;
+  width: 100px;
+  margin: 10px;
+  border-radius: 100%;
+  border: 3px solid #5A1E83;
+  float: left;
+}
+
+.driver-name-disp {
+  font-size: 160%;
+  font-weight: bold;
+  margin-top: 10px;
+}
+
+.driver-rating-disp {
+  color: orange;
+  font-size: 110%;
+}
+
+.driver-not-found {
+  color: grey;
+  height: 70px;
+  text-align: center;
+  text-transform: none;
+  line-height: 70px;
+  vertical-align: middle;
+}
+
+.vote-disp {
+  color: black;
+}
+
+.select-driver-btn {
+  width: auto;
+  color: white;
+  background-color: #5A1E83;
+  letter-spacing: 0.5px;
+  float: right;
+}
+
+.order-btn {
+  float: none;
+  clear: both;
+}
+
+#profile-pic {
+  width: 150px;
+  height: 150px;
+  border: 1px solid black;
+  float: left;
+  margin-right: 25px;
+  margin-bottom: 30px;
+}
+
+#save-profile {
+  float: right;
+}
+
+#register-button {
+  background-color: #4CAF50;
+  border: 5px solid rgb(10, 127, 10);
+  border-radius: 20px;
+  color: white;
+  padding: 15px 32px;
+  text-align: center;
+  text-decoration: none;
+  display: inline-block;
+  font-size: 16px;
+  margin: 4px 2px;
+  cursor: pointer;
+}
+
+#button-layout>div {
+  float: left;
+  width: 200px;
+  height: 66px;
+}
+
+#button-layout a {
+  position: relative;
+  top: 20px;
+}
+
+
+.button-form {
+  text-align: right;
+  width: 100%;
+}
+
+.button-form div {
+  float: left;
+}
+
+.completeorder-btn {
+  width: 100px;
+  height: 50px;
+  float: none;
+}
+
+ /* The switch - the box around the slider */
+ .switch {
+  position: relative;
+  display: inline-block;
+
+  width: 50px;
+  height: 25px;
+}
+
+/* Hide default HTML checkbox */
+.switch input {display:none;}
+
+/* The slider */
+.slider {
+  position: absolute;
+  cursor: pointer;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: #ccc;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+.slider:before {
+  position: absolute;
+  content: "";
+  height: 19px;
+  width: 19px;
+  left: 4px;
+  bottom: 3px;
+  background-color: white;
+  -webkit-transition: .4s;
+  transition: .4s;
+}
+
+input:checked + .slider {
+  background-color: #1E7B25;
+}
+
+input:focus + .slider {
+  box-shadow: 0 0 1px #1E7B25;
+}
+
+input:checked + .slider:before {
+  -webkit-transform: translateX(23px);
+  -ms-transform: translateX(23px);
+  transform: translateX(23px);
+}
+
+/* Rounded sliders */
+.slider.round {
+  border-radius: 34px;
+}
+
+.slider.round:before {
+  border-radius: 50%;
+}
+
+/* Menu Order */
+.menu-order {
+  height: 100%;
+  width: 100%;
+  position: relative;
+  font-size: 12px;
+  border-spacing: 20px 12px;
+}
+
+.menu-order-column {
+  height: 100%;
+}
+
+.menu-order-cell {
+  display: table-cell;
+  position: relative;
+  text-align: left;
+  font-weight: bold;
+}
+
+.menu-order-number
+{
+    position: relative;
+    display: block;
+    width: 50px;
+    height: 50px;
+    border-radius: 25px; /* or 50% */
+    text-align: center;
+    margin-left: auto;
+    margin-right: auto;
+    background-color: #311B92;
+    color: #ffffff;
+    line-height: 50px;
+}
+
+.menu-order-title
+{
+    position: relative;
+    display: inline-block;
+}
+
+#next-button-text {
+  line-height: 20px;
+  width: 75%;
+  padding-right: 1px;
+}
+
+input.next-button {
+  width: 20%;
+  height: 30px;
+  line-height: 20px;
+  text-transform: uppercase;
+  letter-spacing: 1px;
+  border: 1px solid black;
+  background-color: #83D535;
+  border-radius: 10px;
+  display: inline-block;
+}
+
+table, th, td {
+  table-layout: auto !important;
+  width: 100% auto !important;
+  max-width:100%;
+  white-space:nowrap;
+  border: 1px solid black;
+  border-collapse: collapse;
+}
+
+.pref-button {
+  width: 21px;
+  height: 21px;
+  vertical-align: middle;
+  border: none;
+  display: inline-block;
+}
+
+/** Rating **/
+.starRating:not(old){
+  display        : inline-block;
+  width          : 7.5em;
+  height         : 1.5em;
+  overflow       : hidden;
+  vertical-align : bottom;
+}
+
+.starRating:not(old) > input{
+  margin-right : -100%;
+  opacity      : 0;
+}
+
+.starRating:not(old) > label{
+  display         : block;
+  float           : right;
+  position        : relative;
+  background      : url('../img/star-off.svg');
+  background-size : contain;
+}
+
+.starRating:not(old) > label:before{
+  content         : '';
+  display         : block;
+  width           : 1.5em;
+  height          : 1.5em;
+  background      : url('../img/star-on.svg');
+  background-size : contain;
+  opacity         : 0;
+  transition      : opacity 0.2s linear;
+}
+
+.starRating:not(old) > label:hover:before,
+.starRating:not(old) > label:hover ~ label:before,
+.starRating:not(:hover) > :checked ~ label:before{
+  opacity : 1;
+}
diff --git a/HelloWeb/web/img/.gitkeep b/HelloWeb/web/img/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/web/img/a b/HelloWeb/web/img/a
new file mode 100644
index 0000000000000000000000000000000000000000..33aea4c0776f5cb48d23fab288743ca549d3092e
Binary files /dev/null and b/HelloWeb/web/img/a differ
diff --git a/HelloWeb/web/img/admin b/HelloWeb/web/img/admin
new file mode 100644
index 0000000000000000000000000000000000000000..dd3fea2721dfc529ad21300b36bada01e362032d
Binary files /dev/null and b/HelloWeb/web/img/admin differ
diff --git a/HelloWeb/web/img/delete.png b/HelloWeb/web/img/delete.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8998a18f10f6e0e754cdf3f06794b299e90a1b9
Binary files /dev/null and b/HelloWeb/web/img/delete.png differ
diff --git a/HelloWeb/web/img/driver1 b/HelloWeb/web/img/driver1
new file mode 100644
index 0000000000000000000000000000000000000000..8de4beb39862ac7125f2339dcb1c9b32ab7f90f8
Binary files /dev/null and b/HelloWeb/web/img/driver1 differ
diff --git a/HelloWeb/web/img/edit.png b/HelloWeb/web/img/edit.png
new file mode 100644
index 0000000000000000000000000000000000000000..919913bc0052626f61433d69128dc17ac739450b
Binary files /dev/null and b/HelloWeb/web/img/edit.png differ
diff --git a/HelloWeb/web/img/images.jpg b/HelloWeb/web/img/images.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..30b7ce2cd13386017b2fa5d56503d42e4c25ea1d
Binary files /dev/null and b/HelloWeb/web/img/images.jpg differ
diff --git a/HelloWeb/web/img/motaraido.png b/HelloWeb/web/img/motaraido.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b72f7e2abdd5f8ea4d11911d7c6ad9260be5262
Binary files /dev/null and b/HelloWeb/web/img/motaraido.png differ
diff --git a/HelloWeb/web/img/pen.png b/HelloWeb/web/img/pen.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2bcdf9ca880be6a8d6d687245ec080d4d711240
Binary files /dev/null and b/HelloWeb/web/img/pen.png differ
diff --git a/HelloWeb/web/img/profilepic.png b/HelloWeb/web/img/profilepic.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b72f7e2abdd5f8ea4d11911d7c6ad9260be5262
Binary files /dev/null and b/HelloWeb/web/img/profilepic.png differ
diff --git a/HelloWeb/web/img/star-off.svg b/HelloWeb/web/img/star-off.svg
new file mode 100755
index 0000000000000000000000000000000000000000..9a393aa40d139025bf2324aec47830757facb84a
--- /dev/null
+++ b/HelloWeb/web/img/star-off.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
+  <path fill="#fff" stroke="#ccc" d="M 12,2.5 14.4,9.5 21.5,9.5 15.8,13.75 18.5,21.5 12,16.625 5.5,21.5 8.2,13.75 2.5,9.5 9.6,9.5 z"/>
+</svg>
diff --git a/HelloWeb/web/img/star-on.svg b/HelloWeb/web/img/star-on.svg
new file mode 100755
index 0000000000000000000000000000000000000000..fac31ff43ec2ba8dff2f36a3b0ae43d92b312533
--- /dev/null
+++ b/HelloWeb/web/img/star-on.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
+  <path fill="#311B92" stroke="#000" d="M 12,2.5 14.4,9.5 21.5,9.5 15.8,13.75 18.5,21.5 12,16.625 5.5,21.5 8.2,13.75 2.5,9.5 9.6,9.5 z"/>
+</svg>
diff --git a/HelloWeb/web/img/tes1 b/HelloWeb/web/img/tes1
new file mode 100644
index 0000000000000000000000000000000000000000..7352b27d5a4202c3849d34614463b6e94eee7285
Binary files /dev/null and b/HelloWeb/web/img/tes1 differ
diff --git a/HelloWeb/web/img/winarto b/HelloWeb/web/img/winarto
new file mode 100644
index 0000000000000000000000000000000000000000..33aea4c0776f5cb48d23fab288743ca549d3092e
Binary files /dev/null and b/HelloWeb/web/img/winarto differ
diff --git a/HelloWeb/web/img/yowinarto b/HelloWeb/web/img/yowinarto
new file mode 100644
index 0000000000000000000000000000000000000000..8de4beb39862ac7125f2339dcb1c9b32ab7f90f8
Binary files /dev/null and b/HelloWeb/web/img/yowinarto differ
diff --git a/HelloWeb/web/index.jsp b/HelloWeb/web/index.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..22504f9267bb56b7c135ccc41f977d7940e730e0
--- /dev/null
+++ b/HelloWeb/web/index.jsp
@@ -0,0 +1,23 @@
+<%-- 
+    Document   : index
+    Created on : Nov 4, 2017, 9:23:05 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        <h1>Hello World!</h1>
+        
+        <form name="Name Input Form" action="Order.jsp">
+            Enter Your Name:
+            <input type="text" name="name" value="" />
+            <input type="submit" value="OK" />
+        </form>
+    </body>
+</html>
diff --git a/HelloWeb/web/js/.gitkeep b/HelloWeb/web/js/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/HelloWeb/web/js/app.js b/HelloWeb/web/js/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..dbea0f5c367dec9b0cb20f3b11c4ce40644838a3
--- /dev/null
+++ b/HelloWeb/web/js/app.js
@@ -0,0 +1,102 @@
+function loginValidation() {
+    var username = document.forms["loginform"]["username"];
+    var pwd = document.forms["loginform"]["password"];
+    var usrVerify = Validate(username, "empty");
+    var pwdVerify = Validate(pwd, "empty");
+    return (usrVerify && pwdVerify);
+}
+
+function editProfileValidation() {
+    var name = document.forms["editprofile-form"]["your-name"];
+    var phone = document.forms["editprofile-form"]["phone-number"];
+    var nameVerify = Validate(name, "empty", 0, 20, "length");
+    var phoneVerify = Validate(phone, "empty", 9, 12, "length");
+    return (nameVerify && phoneVerify);
+}
+
+function Validate(inputArea, type1, min = 0, max = 0, type2 = null, type3 = null) {
+    var error = GetErrorMessage(inputArea.value, type1, min, max);
+    if(error === "") {
+        if (type2 != null) {
+            error = GetErrorMessage(inputArea.value, type2, min, max);
+            console.log(type2 + "length");
+        }
+        if (error === "") {
+            if (type3 != null) {
+                error = GetErrorMessage(inputArea.value, type3, min, max);
+            }
+        }
+    }
+    if(error !== "" && inputArea.nextElementSibling === null) {
+        var errorEl = document.createElement("p");
+        errorEl.innerHTML = error;
+        errorEl.className = "error";
+        insertAfterElement(errorEl, inputArea);
+
+        inputArea.addEventListener("blur", function() {
+            var error = GetErrorMessage(inputArea.value, type1, min, max);
+            if(error === "") {
+                if (type2 != null) {
+                    error = GetErrorMessage(inputArea.value, type2, min, max);
+                }
+                if (error === "") {
+                    if (type3 != null) {
+                        error = GetErrorMessage(inputArea.value, type3, min, max);
+                    }
+                }
+            }
+            if (error === ""){
+                this.nextSibling.remove();
+            }
+        },true);
+    }
+    return (error === "");
+}
+
+function insertAfterElement(el, src) {
+    src.parentNode.insertBefore(el, src.nextSibling);
+}
+
+
+function GetErrorMessage(textArea, type, min = 0, max = 0) {
+    var validateText = "";
+    switch(type) {
+        case "empty" :
+            if(isEmpty(textArea)) {
+                validateText = "Fill in the field";
+            }
+            break;
+        case "email" :
+            if(!isEmail(textArea)) {
+                validatedText = "Invalid Email Address";
+            }
+            break;
+        case "number" :
+            if(isNumber(textArea)){
+                validateText = "Fill in with only number";
+            }
+            break;
+        case "length" :
+            if (!isLengthEqual(textArea,min,max)){
+                validateText = "Character must be between " + min.toString() + " and " + max.toString() + " long";
+            }
+            break;
+    }
+    return validateText;
+}
+
+function isEmpty(textArea) {
+    return (textArea.match(/^s+$/) || textArea == "");
+}
+
+function isNumber(textArea) {
+    return (!isNaN(textArea));
+}
+
+function isLengthEqual(textArea, min, max){
+    return (textArea.length >= min && textArea.length <= max);
+}
+
+function isEmail(textArea) {
+    return (textArea.match(/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/));
+}
\ No newline at end of file
diff --git a/HelloWeb/web/js/history.js b/HelloWeb/web/js/history.js
new file mode 100644
index 0000000000000000000000000000000000000000..4e4b3f528dfb96a699cdbb10ad6ba0b731005f5a
--- /dev/null
+++ b/HelloWeb/web/js/history.js
@@ -0,0 +1,41 @@
+
+function tabActive(tag) {
+	var tabUser = document.getElementById('user-his');
+	var tabDriver = document.getElementById('driver-his');
+	var order = document.getElementsByClassName('order-list');
+	var driver = document.getElementsByClassName('driver-list');
+
+	if (tag == 'user') {
+		order[0].classList.add("active-list");
+		driver[0].classList.remove("active-list");
+		tabUser.classList.add('active');
+		tabDriver.classList.remove('active');
+	}
+	else {
+		driver[0].classList.add("active-list");
+		order[0].classList.remove("active-list");
+		tabDriver.classList.add('active');
+		tabUser.classList.remove('active');
+	}
+}
+
+tabActive('user');
+
+function hideThis(user) {
+	updateHide(user);
+	console.log(user[0]);
+}
+
+function updateHide(history)
+{
+	var data = "user=" + history[0] + "&driver=" + history[1] + "&date=" + history[4];
+    var xhr;
+    if (window.XMLHttpRequest) {
+        xhr = new XMLHttpRequest();
+    } else if (window.ActiveXObject) {
+        xhr = new ActiveXObject("Microsoft.XMLHTTP");
+    }
+    xhr.open("GET", "/history/update", true);
+    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
+    xhr.send(data);
+}
\ No newline at end of file
diff --git a/HelloWeb/web/js/selectdriver.js b/HelloWeb/web/js/selectdriver.js
new file mode 100644
index 0000000000000000000000000000000000000000..2d7b38f4833461051ad76f37a3eac112a88b0156
--- /dev/null
+++ b/HelloWeb/web/js/selectdriver.js
@@ -0,0 +1,97 @@
+var prefDriver = document.getElementById("pref-driver");
+var otherDriver = document.getElementById("other-driver");
+var driverSumRating = [];
+var driverCountRating = [];
+var driverNameList = [];
+
+for (var i = 0; i < driverArr.length; i++) {
+    for(var j = 0; j < ratingArr.length; j++) {
+        if(driverArr[i] === ratingArr[j]["usernameDriver"]){
+            driverSumRating[driverArr[i]] = (driverSumRating[driverArr[i]] === undefined) ? parseFloat(ratingArr[j]["rating"]) : driverSumRating[driverArr[i]] + parseFloat(ratingArr[j]["rating"]);
+            driverCountRating[driverArr[i]] = (driverCountRating[driverArr[i]] === undefined) ? 1 : driverCountRating[driverArr[i]]+1;
+        }
+    }
+    for(var k = 0; k < driverNameArr.length; k++) {
+        if(driverArr[i] === driverNameArr[k]["username"]){
+            driverNameList[driverArr[i]] = driverNameArr[k]["fullname"];
+            break;
+        }
+    }
+}
+
+for(var j = 0; j < ratingArr.length; j++) {
+    if(preferredDriver === ratingArr[j]["usernameDriver"]){
+        driverSumRating[preferredDriver] = (driverSumRating[preferredDriver] === undefined) ? parseFloat(ratingArr[j]["rating"]) : driverSumRating[preferredDriver] + parseFloat(ratingArr[j]["rating"]);
+        driverCountRating[preferredDriver] = (driverCountRating[preferredDriver] === undefined) ? 1 : driverCountRating[preferredDriver]+1;
+    }
+}
+for(var k = 0; k < driverNameArr.length; k++) {
+    if(preferredDriver === driverNameArr[k]["username"]){
+        driverNameList[preferredDriver] = driverNameArr[k]["fullname"];
+        break;
+    }
+}
+
+if(preferredDriver !== "") {
+    CreateDriverDisplay(prefDriver, preferredDriver);
+} else {
+    CreateNotFoundDisplay(prefDriver);
+}
+
+if(driverArr.length > 0) {
+    for (var i = 0; i < driverArr.length; i++) {
+        CreateDriverDisplay(otherDriver, driverArr[i]);
+    }
+} else {
+    CreateNotFoundDisplay(otherDriver);
+}
+
+function CreateDriverDisplay(driverType, driverUsrName) {
+    var newForm = driverType.appendChild(document.createElement("form"));
+    var newContainer = newForm.appendChild(document.createElement("div"));
+    var newImg = newContainer.appendChild(document.createElement("img"));
+    var newName = newContainer.appendChild(document.createElement("div"));
+    var newRating = newContainer.appendChild(document.createElement("div"));
+    var postUsrName = newContainer.appendChild(document.createElement("input"));
+    var newPickLoc = newContainer.appendChild(document.createElement("input"));
+    var newDest = newContainer.appendChild(document.createElement("input"));
+    var newBtn = newContainer.appendChild(document.createElement("input"));
+
+
+    var avgRating = (driverSumRating[driverUsrName]/driverCountRating[driverUsrName]).toFixed(1).toString();
+
+    newForm.setAttribute('method', 'post');
+    newForm.setAttribute('action', '/order/' + user + '/completeorder');
+    newContainer.classList.add("driver-content");
+
+    newImg.classList.add("driver-pic");
+    newImg.setAttribute('src', '/public/img/' + driverUsrName);
+
+    newName.classList.add("driver-name-disp");
+    newName.innerHTML = driverNameList[driverUsrName];
+
+    newRating.classList.add("driver-rating-disp");
+    newRating.innerHTML = "★" + avgRating + " <span class='vote-disp'>(" + driverCountRating[driverUsrName] + " votes)</span>";
+
+    postUsrName.setAttribute('type', 'hidden');
+    postUsrName.setAttribute('name', 'driver-username');
+    postUsrName.setAttribute('value', driverUsrName);
+
+    newPickLoc.setAttribute('type','hidden');
+    newPickLoc.setAttribute('name','pickLoc');
+    newPickLoc.setAttribute('value', pickLoc);
+    newDest.setAttribute('type','hidden');
+    newDest.setAttribute('name','dest');
+    newDest.setAttribute('value', dest);
+
+    newBtn.classList.add("accept-button");
+    newBtn.classList.add("select-driver-btn");
+    newBtn.setAttribute('type','submit');
+    newBtn.setAttribute('value','Select Driver');
+}
+
+function CreateNotFoundDisplay(driverType) {
+    var newContainer = driverType.appendChild(document.createElement("div"));
+    newContainer.classList.add("driver-not-found");
+    newContainer.innerHTML = "Nothing to display.";
+}
\ No newline at end of file
diff --git a/HelloWeb/web/js/signup.js b/HelloWeb/web/js/signup.js
new file mode 100644
index 0000000000000000000000000000000000000000..43a9342a95538b30e1b8bf663cf3fc0a0b62718f
--- /dev/null
+++ b/HelloWeb/web/js/signup.js
@@ -0,0 +1,44 @@
+function checkData(name, element)
+{
+    var data = "?" + name + "=" + document.forms["signupform"][name].value;
+    var xhr;
+    if (window.XMLHttpRequest) {
+        xhr = new XMLHttpRequest();
+    } else if (window.ActiveXObject) {
+        xhr = new ActiveXObject("Microsoft.XMLHTTP");
+    }
+    
+    xhr.open("GET", "/validation" + data, true); 
+    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
+    xhr.send(null);
+    xhr.onload = function() {
+        if (xhr.readyState == 4) {
+            if (xhr.status == 200) {
+                if (xhr.responseText === 'OK') { 
+                    document.getElementById(element).innerHTML = "√";
+                } else {
+                    document.getElementById(element).innerHTML = "X";
+                }
+            } 
+            else {
+                alert('There was a problem with the request.');
+            }
+        }
+    }
+}
+
+function signupValidation() {
+    var username = document.forms["signupform"]["username"];
+    var password = document.forms["signupform"]["password"];
+    var cpassword = document.forms["signupform"]["confirm-password"];
+    var email = document.forms["signupform"]["email"];
+    var fullname = document.forms["signupform"]["your-name"];
+    var phone = document.forms["signupform"]["phone"];
+    var usrVerify = Validate(username, "empty");
+    var pwdVerify = Validate(password, "empty");
+    var cpwdVerify = Validate(cpassword, "empty");
+    var emailVerify = Validate(email, "empty", 0, 0, "email");
+    var fullnameVerify = Validate(fullname, "empty", 0, 20, "length");
+    var phoneVerify = Validate(phone, "empty", 9, 12, "length");
+    return (usrVerify && pwdVerify && cpwdVerify && emailVerify && fullnameVerify && phoneVerify);
+}
\ No newline at end of file
diff --git a/HelloWeb/web/response.jsp b/HelloWeb/web/response.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..57974eb4eb5d11be34b125ef651ba674465e7ffb
--- /dev/null
+++ b/HelloWeb/web/response.jsp
@@ -0,0 +1,19 @@
+<%-- 
+    Document   : response
+    Created on : Nov 4, 2017, 9:26:56 AM
+    Author     : nim_13515091
+--%>
+
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+        <title>JSP Page</title>
+    </head>
+    <body>
+        <jsp:useBean id="mybean" scope="session" class="org.mypackage.hello.NameHandler" />
+        <jsp:setProperty name="mybean" property="name" />
+        <h1>Hello, <jsp:getProperty name="mybean" property="name" />!</h1>
+    </body>
+</html>