diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..5664e48
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+ Builds, tests, and runs the project FileReader.
+
+
+
diff --git a/build/web/META-INF/MANIFEST.MF b/build/web/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..58630c0
--- /dev/null
+++ b/build/web/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/build/web/META-INF/context.xml b/build/web/META-INF/context.xml
new file mode 100644
index 0000000..582af92
--- /dev/null
+++ b/build/web/META-INF/context.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/build/web/WEB-INF/classes/auth/forgot.class b/build/web/WEB-INF/classes/auth/forgot.class
new file mode 100644
index 0000000..fe1cc5f
Binary files /dev/null and b/build/web/WEB-INF/classes/auth/forgot.class differ
diff --git a/build/web/WEB-INF/classes/auth/forgot2.class b/build/web/WEB-INF/classes/auth/forgot2.class
new file mode 100644
index 0000000..d121388
Binary files /dev/null and b/build/web/WEB-INF/classes/auth/forgot2.class differ
diff --git a/build/web/WEB-INF/classes/auth/login.class b/build/web/WEB-INF/classes/auth/login.class
new file mode 100644
index 0000000..58d88d9
Binary files /dev/null and b/build/web/WEB-INF/classes/auth/login.class differ
diff --git a/build/web/WEB-INF/classes/auth/register.class b/build/web/WEB-INF/classes/auth/register.class
new file mode 100644
index 0000000..314cd5d
Binary files /dev/null and b/build/web/WEB-INF/classes/auth/register.class differ
diff --git a/build/web/WEB-INF/classes/files/read.class b/build/web/WEB-INF/classes/files/read.class
new file mode 100644
index 0000000..a99c7dd
Binary files /dev/null and b/build/web/WEB-INF/classes/files/read.class differ
diff --git a/build/web/WEB-INF/classes/files/upload.class b/build/web/WEB-INF/classes/files/upload.class
new file mode 100644
index 0000000..97bf679
Binary files /dev/null and b/build/web/WEB-INF/classes/files/upload.class differ
diff --git a/build/web/WEB-INF/classes/forms/finish.class b/build/web/WEB-INF/classes/forms/finish.class
new file mode 100644
index 0000000..5d84e71
Binary files /dev/null and b/build/web/WEB-INF/classes/forms/finish.class differ
diff --git a/build/web/WEB-INF/classes/forms/form.class b/build/web/WEB-INF/classes/forms/form.class
new file mode 100644
index 0000000..e2ea6d7
Binary files /dev/null and b/build/web/WEB-INF/classes/forms/form.class differ
diff --git a/build/web/WEB-INF/lib/fontbox-2.0.9.jar b/build/web/WEB-INF/lib/fontbox-2.0.9.jar
new file mode 100644
index 0000000..dd348b1
Binary files /dev/null and b/build/web/WEB-INF/lib/fontbox-2.0.9.jar differ
diff --git a/build/web/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar b/build/web/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar
new file mode 100644
index 0000000..94ab24c
Binary files /dev/null and b/build/web/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar differ
diff --git a/build/web/WEB-INF/lib/mysql-connector-java-5.1.46.jar b/build/web/WEB-INF/lib/mysql-connector-java-5.1.46.jar
new file mode 100644
index 0000000..6d26d72
Binary files /dev/null and b/build/web/WEB-INF/lib/mysql-connector-java-5.1.46.jar differ
diff --git a/build/web/WEB-INF/lib/pdfbox-2.0.9.jar b/build/web/WEB-INF/lib/pdfbox-2.0.9.jar
new file mode 100644
index 0000000..6912ee8
Binary files /dev/null and b/build/web/WEB-INF/lib/pdfbox-2.0.9.jar differ
diff --git a/build/web/WEB-INF/lib/pdfbox-app-2.0.9.jar b/build/web/WEB-INF/lib/pdfbox-app-2.0.9.jar
new file mode 100644
index 0000000..5dea7ce
Binary files /dev/null and b/build/web/WEB-INF/lib/pdfbox-app-2.0.9.jar differ
diff --git a/build/web/WEB-INF/lib/pdfbox-tools-2.0.9.jar b/build/web/WEB-INF/lib/pdfbox-tools-2.0.9.jar
new file mode 100644
index 0000000..01dcc46
Binary files /dev/null and b/build/web/WEB-INF/lib/pdfbox-tools-2.0.9.jar differ
diff --git a/build/web/WEB-INF/lib/preflight-2.0.9.jar b/build/web/WEB-INF/lib/preflight-2.0.9.jar
new file mode 100644
index 0000000..a356293
Binary files /dev/null and b/build/web/WEB-INF/lib/preflight-2.0.9.jar differ
diff --git a/build/web/WEB-INF/lib/preflight-app-2.0.9.jar b/build/web/WEB-INF/lib/preflight-app-2.0.9.jar
new file mode 100644
index 0000000..c83a068
Binary files /dev/null and b/build/web/WEB-INF/lib/preflight-app-2.0.9.jar differ
diff --git a/build/web/WEB-INF/lib/xmpbox-2.0.9.jar b/build/web/WEB-INF/lib/xmpbox-2.0.9.jar
new file mode 100644
index 0000000..5187d84
Binary files /dev/null and b/build/web/WEB-INF/lib/xmpbox-2.0.9.jar differ
diff --git a/build/web/WEB-INF/web.xml b/build/web/WEB-INF/web.xml
new file mode 100644
index 0000000..60c93ae
--- /dev/null
+++ b/build/web/WEB-INF/web.xml
@@ -0,0 +1,62 @@
+
+
+
+ 30
+
+
+ login
+ auth.login
+
+
+ login
+ /login
+
+
+ register
+ auth.register
+
+
+ register
+ /register
+
+
+ forgot
+ auth.forgot
+
+
+ forgot
+ /forgot
+
+
+ forgot2
+ auth.forgot2
+
+
+ forgot2
+ /forgot2
+
+
+ upload
+ files.upload
+
+
+ upload
+ /upload
+
+
+ form
+ forms.form
+
+
+ form
+ /form
+
+
+ finish
+ forms.finish
+
+
+ finish
+ /finish
+
+
diff --git a/build/web/home.html b/build/web/home.html
new file mode 100644
index 0000000..4d95b07
--- /dev/null
+++ b/build/web/home.html
@@ -0,0 +1,27 @@
+
+
+
+
+ Home
+
+
+
+
+
+
+
+
+
+
diff --git a/build/web/index.html b/build/web/index.html
new file mode 100644
index 0000000..a8b11bb
--- /dev/null
+++ b/build/web/index.html
@@ -0,0 +1,37 @@
+
+
+
+
+ Login
+
+
+
+
+
+
+
+
+
File Reader
+
+
Register
+
¿Olvidaste tu contraseña?
+
+
+
+
+
diff --git a/build/web/main.css b/build/web/main.css
new file mode 100644
index 0000000..84b1c57
--- /dev/null
+++ b/build/web/main.css
@@ -0,0 +1,99 @@
+/*
+To change this license header, choose License Headers in Project Properties.
+To change this template file, choose Tools | Templates
+and open the template in the editor.
+*/
+/*
+ Created on : 3/04/2018, 07:56:28 PM
+ Author : AlejandroIvan
+*/
+
+body{
+ margin:0px !important;
+ font-family: Roboto, sans-serif;
+ font-weight: lighter;
+ color: black;
+}
+.container{
+ text-align: center;
+}
+.separator{
+ width: 100%;
+ height: 135px;
+}
+h1{
+ font-size: 36px;
+ font-weight: lighter;
+}
+.input{
+ border-bottom: black 1px solid !important;
+ border: none;
+ padding: 10px 10px 10px 0px;
+ width: 250px;
+ margin-bottom: 15px;
+ font-size: 15px;
+ font-family: Roboto, sans-serif;
+}
+.input:focus{
+ outline:none !important;
+}
+.submit{
+ width: 260px;
+ padding: 9px 0px;
+ border: black 2px solid;
+ background-color: white;
+ font-family: Roboto, sans-serif;
+ margin-top: 15px;
+ font-size: 14px;
+ font-weight: bold;
+ transition: background-color 0.4s, color 0.4s;
+ cursor:pointer;
+ margin-bottom: 15px;
+}
+.submit:hover{
+ color:white;
+ background-color: black;
+}
+.link{
+ font-size: 16px;
+ font-weight: lighter;
+ margin: 0px;
+ margin-top: 15px;
+ text-decoration: none;
+ color: black;
+}
+#forgot{
+cursor:pointer;
+}
+#forgot:hover{
+color:blue;
+}
+#forgot-form{
+visibility: hidden;
+}
+.list{
+list-style: none;
+padding: 0px;
+}
+.list li a{
+ font-size: 20px;
+ font-weight: lighter;
+ margin: 0px;
+ margin-top: 15px;
+ text-decoration: none;
+ color: black;
+ cursor: pointer;
+ border-bottom: white 1px solid;
+ transition: border-bottom 0.4s, font-weight 0.4s;
+}
+.list li a:hover{
+ border-bottom: black 1px solid;
+ font-weight: bold;
+}
+.list li{
+ margin-bottom: 10px;
+}
+#file input{
+ display:none !important;
+}
+
diff --git a/build/web/readfiles.html b/build/web/readfiles.html
new file mode 100644
index 0000000..985a9c8
--- /dev/null
+++ b/build/web/readfiles.html
@@ -0,0 +1,26 @@
+
+
+
+
+ Read Files
+
+
+
+
+
+
+
+
+
Upload Your PDF Files
+
+
+
+
diff --git a/build/web/register.html b/build/web/register.html
new file mode 100644
index 0000000..02eda2e
--- /dev/null
+++ b/build/web/register.html
@@ -0,0 +1,36 @@
+
+
+
+
+ TODO supply a title
+
+
+
+
+
+
+
+
+
Register
+
+
+
+
diff --git a/nbproject/ant-deploy.xml b/nbproject/ant-deploy.xml
new file mode 100644
index 0000000..55566c8
--- /dev/null
+++ b/nbproject/ant-deploy.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
new file mode 100644
index 0000000..f703c08
--- /dev/null
+++ b/nbproject/build-impl.xml
@@ -0,0 +1,1458 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set src.dir
+ Must set test.src.dir
+ Must set build.dir
+ Must set build.web.dir
+ Must set build.generated.dir
+ Must set dist.dir
+ Must set build.classes.dir
+ Must set dist.javadoc.dir
+ Must set build.test.classes.dir
+ Must set build.test.results.dir
+ Must set build.classes.excludes
+ Must set dist.war
+
+
+
+
+
+
+
+
+
+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=<app_server_installation_directory>
+
+
+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=<path_to_property_file> (where you put the property "j2ee.platform.classpath" in a .properties file)
+or ant -Dj2ee.platform.classpath=<server_classpath> (where no properties file is used)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No tests executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+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
+<netbeans_installation>/java<version>/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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set JVM to use for profiling in profiler.info.jvm
+ Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.jsp.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select a file in the IDE or set jsp.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
+
+
+ Launching ${browse.url}
+
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+ Must set fix.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set test.includes
+
+
+
+ Some tests failed; see details above.
+
+
+
+ Must select some files in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+ Must select one file in the IDE or set test.class
+
+
+
+ Must select one file in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
new file mode 100644
index 0000000..caf850b
--- /dev/null
+++ b/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=94411543
+build.xml.script.CRC32=b6b4cdfb
+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=94411543
+nbproject/build-impl.xml.script.CRC32=51a9272a
+nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.77.1.1
diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties
new file mode 100644
index 0000000..19e19d8
--- /dev/null
+++ b/nbproject/private/private.properties
@@ -0,0 +1,8 @@
+deploy.ant.properties.file=C:\\Users\\AlejandroIvan\\AppData\\Roaming\\NetBeans\\8.2\\tomcat80.properties
+j2ee.server.domain=C:/Users/AlejandroIvan/AppData/Roaming/NetBeans/8.2/apache-tomcat-8.0.27.0_base
+j2ee.server.home=C:/Program Files/Apache Software Foundation/Apache Tomcat 8.0.27
+j2ee.server.instance=tomcat80:home=C:\\Program Files\\Apache Software Foundation\\Apache Tomcat 8.0.27:base=apache-tomcat-8.0.27.0_base
+javac.debug=true
+javadoc.preview=true
+selected.browser=Chrome.INTEGRATED
+user.properties.file=C:\\Users\\AlejandroIvan\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
diff --git a/nbproject/project.properties b/nbproject/project.properties
new file mode 100644
index 0000000..7e03163
--- /dev/null
+++ b/nbproject/project.properties
@@ -0,0 +1,99 @@
+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=
+file.reference.fontbox-2.0.9.jar=web/WEB-INF/lib/fontbox-2.0.9.jar
+file.reference.mysql-connector-java-5.1.46-bin.jar=web/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar
+file.reference.pdfbox-2.0.9.jar=web/WEB-INF/lib/pdfbox-2.0.9.jar
+file.reference.pdfbox-app-2.0.9.jar=web/WEB-INF/lib/pdfbox-app-2.0.9.jar
+file.reference.pdfbox-tools-2.0.9.jar=web/WEB-INF/lib/pdfbox-tools-2.0.9.jar
+file.reference.preflight-2.0.9.jar=web/WEB-INF/lib/preflight-2.0.9.jar
+file.reference.preflight-app-2.0.9.jar=web/WEB-INF/lib/preflight-app-2.0.9.jar
+file.reference.xmpbox-2.0.9.jar=web/WEB-INF/lib/xmpbox-2.0.9.jar
+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}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-storeconfig.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/ecj-4.4.2.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-jdbc.jar:${j2ee.server.home}/lib/tomcat-jni.jar:${j2ee.server.home}/lib/tomcat-util-scan.jar:${j2ee.server.home}/lib/tomcat-util.jar:${j2ee.server.home}/lib/tomcat-websocket.jar:${j2ee.server.home}/lib/websocket-api.jar
+j2ee.server.type=Tomcat
+jar.compress=false
+javac.classpath=\
+ ${file.reference.mysql-connector-java-5.1.46-bin.jar}:\
+ ${file.reference.fontbox-2.0.9.jar}:\
+ ${file.reference.pdfbox-2.0.9.jar}:\
+ ${file.reference.pdfbox-app-2.0.9.jar}:\
+ ${file.reference.pdfbox-tools-2.0.9.jar}:\
+ ${file.reference.preflight-2.0.9.jar}:\
+ ${file.reference.preflight-app-2.0.9.jar}:\
+ ${file.reference.xmpbox-2.0.9.jar}
+# 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
+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=FileReader.war
+web.docbase.dir=web
+webinf.dir=web/WEB-INF
diff --git a/nbproject/project.xml b/nbproject/project.xml
new file mode 100644
index 0000000..1eeb589
--- /dev/null
+++ b/nbproject/project.xml
@@ -0,0 +1,51 @@
+
+
+ org.netbeans.modules.web.project
+
+
+ FileReader
+ 1.6.5
+
+
+ ${file.reference.mysql-connector-java-5.1.46-bin.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.fontbox-2.0.9.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.pdfbox-2.0.9.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.pdfbox-app-2.0.9.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.pdfbox-tools-2.0.9.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.preflight-2.0.9.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.preflight-app-2.0.9.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.xmpbox-2.0.9.jar}
+ WEB-INF/lib
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/conf/MANIFEST.MF b/src/conf/MANIFEST.MF
new file mode 100644
index 0000000..58630c0
--- /dev/null
+++ b/src/conf/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/src/java/auth/forgot.java b/src/java/auth/forgot.java
new file mode 100644
index 0000000..15cb770
--- /dev/null
+++ b/src/java/auth/forgot.java
@@ -0,0 +1,134 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package auth;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+@WebServlet(name = "forgot_1", urlPatterns = {"/forgot_1"})
+public class forgot extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet forgot");
+ out.println("");
+ out.println("");
+ out.println("Servlet forgot at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ //GET PARAMS
+ String email = request.getParameter("email");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("" + email + "
");
+ out.println("");
+ out.println("");
+ //DB CONNECTION
+ try{
+ try {
+ Class.forName("com.mysql.jdbc.Driver");
+ } catch (ClassNotFoundException ex) {
+ out.print("No se encontro el Driver MySQL para JDBC.");
+ }
+ Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/filereader", "root", "");
+ // Creamos el Statement para poder hacer consultas
+ Statement st = cn.createStatement();
+ // La consulta es un String con código SQL
+ String sql1 = "SELECT pregunta FROM usuarios WHERE email='"+email+"'";
+ // Ejecuta una consulta que devuelve resultados
+ ResultSet rs = st.executeQuery(sql1);
+ out.print("");
+ }catch(Exception ex){
+ out.print(ex);
+ }
+ }
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/java/auth/forgot2.java b/src/java/auth/forgot2.java
new file mode 100644
index 0000000..41c79dc
--- /dev/null
+++ b/src/java/auth/forgot2.java
@@ -0,0 +1,138 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package auth;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+@WebServlet(name = "forgot2", urlPatterns = {"/forgot2"})
+public class forgot2 extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet forgot2");
+ out.println("");
+ out.println("");
+ out.println("Servlet forgot2 at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ //GET PARAMS
+ String email = request.getParameter("email");
+ String pregunta = request.getParameter("pregunta");
+ String respuesta = request.getParameter("respuesta");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("Me diste un email: " + email + "
");
+ out.println("Una pregunta: " + pregunta + "
");
+ out.println("Y una respuesta: " + respuesta + "
");
+ out.println("");
+ out.println("");
+ //DB CONNECTION
+ try{
+ try {
+ Class.forName("com.mysql.jdbc.Driver");
+ } catch (ClassNotFoundException ex) {
+ out.print("No se encontro el Driver MySQL para JDBC.");
+ }
+ Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/filereader", "root", "");
+ // Creamos el Statement para poder hacer consultas
+ Statement st = cn.createStatement();
+ // La consulta es un String con código SQL
+ String sql1 = "SELECT * FROM usuarios WHERE email='"+email+"'";
+ // Ejecuta una consulta que devuelve resultados
+ ResultSet rs = st.executeQuery(sql1);
+ while (rs.next()) {
+ if(rs.getString("pregunta").equals(pregunta) && rs.getString("respuesta").equals(respuesta)){
+ out.println("Correcto");
+ out.println("Tu contrasena es: " + rs.getString("password"));
+ }else{
+ out.println("Respuesta incorrecta");
+ out.println("");
+ }
+ }
+ }catch(Exception ex){
+ out.print(ex);
+ }
+ }
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/java/auth/login.java b/src/java/auth/login.java
new file mode 100644
index 0000000..716a81c
--- /dev/null
+++ b/src/java/auth/login.java
@@ -0,0 +1,129 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package auth;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import java.sql.*;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+public class login extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("Servlet login at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ //GET PARAMS
+ String username = request.getParameter("username");
+ String password = request.getParameter("password");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("" + username + "
");
+ out.println("" + password + "
");
+ out.println("");
+ out.println("");
+ //DB CONNECTION
+ try{
+ try {
+ Class.forName("com.mysql.jdbc.Driver");
+ } catch (ClassNotFoundException ex) {
+ out.print("No se encontro el Driver MySQL para JDBC.");
+ }
+ Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/filereader", "root", "");
+ // Creamos el Statement para poder hacer consultas
+ Statement st = cn.createStatement();
+ // La consulta es un String con código SQL
+ String sql1 = "SELECT * FROM usuarios";
+ // Ejecuta una consulta que devuelve resultados
+ ResultSet rs = st.executeQuery(sql1);
+ while (rs.next()) {
+ if(rs.getString("username").equals(username) && rs.getString("password").equals(password)){
+ response.sendRedirect("home.html");
+ }else{
+ response.sendRedirect("index.html");
+ }
+ }
+ }catch(Exception ex){
+ out.print(ex);
+ }
+ }
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/java/auth/register.java b/src/java/auth/register.java
new file mode 100644
index 0000000..33b5f67
--- /dev/null
+++ b/src/java/auth/register.java
@@ -0,0 +1,128 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package auth;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+@WebServlet(name = "register", urlPatterns = {"/register"})
+public class register extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet register");
+ out.println("");
+ out.println("");
+ out.println("Servlet register at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ //GET PARAMS
+ String email = request.getParameter("email");
+ String username = request.getParameter("username");
+ String password = request.getParameter("password");
+ String pregunta = request.getParameter("pregunta");
+ String respuesta = request.getParameter("respuesta");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("" + email + "
");
+ out.println("" + username + "
");
+ out.println("" + password + "
");
+ out.println("");
+ out.println("");
+ //DB CONNECTION
+ try{
+ try {
+ Class.forName("com.mysql.jdbc.Driver");
+ } catch (ClassNotFoundException ex) {
+ out.print("No se encontro el Driver MySQL para JDBC.");
+ }
+ Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/filereader", "root", "");
+ PreparedStatement pstInsertarCuenta;
+ String sqlNuevaCuenta = "INSERT INTO usuarios(username,email,password,pregunta,respuesta) VALUES('"+username+"','"+email+"','"+password+"','"+pregunta+"','"+respuesta+"')";
+ pstInsertarCuenta = cn.prepareStatement(sqlNuevaCuenta);
+ pstInsertarCuenta.executeUpdate();
+ response.sendRedirect("index.html");
+ }catch(Exception ex){
+ out.print(ex);
+ }
+ }
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/java/files/read.java b/src/java/files/read.java
new file mode 100644
index 0000000..116f320
--- /dev/null
+++ b/src/java/files/read.java
@@ -0,0 +1,109 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package files;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+@WebServlet(name = "read", urlPatterns = {"/read"})
+public class read extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet read");
+ out.println("");
+ out.println("");
+ out.println("Servlet read at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+
+ BufferedReader br = new BufferedReader(new FileReader(request.getParameter("myFile")));
+ String st;
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ while((st = br.readLine()) != null){
+ out.println(st);
+ }
+ out.println("");
+ out.println("");
+ }catch(Exception ex){
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/java/files/upload.java b/src/java/files/upload.java
new file mode 100644
index 0000000..031a6dd
--- /dev/null
+++ b/src/java/files/upload.java
@@ -0,0 +1,180 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package files;
+
+import static com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.MultipartConfig;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.Part;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.text.PDFTextStripper;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+@WebServlet(name = "upload", urlPatterns = {"/upload"})
+@MultipartConfig
+public class upload extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet upload");
+ out.println("");
+ out.println("");
+ out.println("Servlet upload at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ Part filePart = request.getPart("myFile"); // Retrieves
+ String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString(); // MSIE fix.
+ InputStream fileContent = filePart.getInputStream();
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("
Extracted Info
");
+ //Loading an existing document
+ PDDocument document = PDDocument.load(fileContent);
+ //Instantiate PDFTextStripper class
+ PDFTextStripper pdfStripper = new PDFTextStripper();
+
+ //Retrieving text from PDF document
+ String text = pdfStripper.getText(document);
+
+ //Here comes the action.
+ String[] arr = text.split(" ");
+ ArrayList arr2 = new ArrayList();
+ boolean gotit = false;
+ for(String s : arr) {
+ if(gotit == true){
+ out.println(s + "
");
+ arr2.add(s);
+ gotit = false;
+ }else{
+ if(s.equals("Fiscal:") || s.equals("CSD:") || s.equals("emisión:")){
+ out.println(s + "
");
+ gotit = true;
+ }else{}
+ }
+ }
+ //Closing the document
+ document.close();
+ //
+ BufferedReader br = null;
+ StringBuilder sb = new StringBuilder();
+ String line;
+ try {
+ br = new BufferedReader(new InputStreamReader(fileContent));
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ out.println(sb.toString());
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ }catch(Exception ex){ex.printStackTrace();}
+
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/java/forms/finish.java b/src/java/forms/finish.java
new file mode 100644
index 0000000..901b4f3
--- /dev/null
+++ b/src/java/forms/finish.java
@@ -0,0 +1,107 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package forms;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+@WebServlet(name = "finish", urlPatterns = {"/finish"})
+public class finish extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet finish");
+ out.println("");
+ out.println("");
+ out.println("Servlet finish at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("
You info has been sent!
");
+ out.println("
Go back home");
+ out.println("
");
+ out.println("");
+ out.println("");
+ }catch(Exception ex){ex.printStackTrace();}
+
+ processRequest(request, response);
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/src/java/forms/form.java b/src/java/forms/form.java
new file mode 100644
index 0000000..af5281a
--- /dev/null
+++ b/src/java/forms/form.java
@@ -0,0 +1,115 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package forms;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author AlejandroIvan
+ */
+@WebServlet(name = "form", urlPatterns = {"/form"})
+public class form extends HttpServlet {
+
+ /**
+ * Processes requests for both HTTP GET and POST
+ * methods.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet form");
+ out.println("");
+ out.println("");
+ out.println("Servlet form at " + request.getContextPath() + "
");
+ out.println("");
+ out.println("");
+ }
+ }
+
+ //
+ /**
+ * Handles the HTTP GET method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP POST method.
+ *
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ String fiscal = request.getParameter("fiscal");
+ String csd = request.getParameter("csd");
+ String emision = request.getParameter("emision");
+ try (PrintWriter out = response.getWriter()) {
+ /* TODO output your page here. You may use following sample code. */
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("Servlet login");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("
Webpage Form
");
+ out.println("");
+ out.println("");
+ out.println("");
+ out.println("");
+ }catch(Exception ex){ex.printStackTrace();}
+
+ processRequest(request, response);
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ *
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }//
+
+}
diff --git a/web/META-INF/context.xml b/web/META-INF/context.xml
new file mode 100644
index 0000000..582af92
--- /dev/null
+++ b/web/META-INF/context.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/web/WEB-INF/lib/fontbox-2.0.9.jar b/web/WEB-INF/lib/fontbox-2.0.9.jar
new file mode 100644
index 0000000..dd348b1
Binary files /dev/null and b/web/WEB-INF/lib/fontbox-2.0.9.jar differ
diff --git a/web/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar b/web/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar
new file mode 100644
index 0000000..94ab24c
Binary files /dev/null and b/web/WEB-INF/lib/mysql-connector-java-5.1.46-bin.jar differ
diff --git a/web/WEB-INF/lib/mysql-connector-java-5.1.46.jar b/web/WEB-INF/lib/mysql-connector-java-5.1.46.jar
new file mode 100644
index 0000000..6d26d72
Binary files /dev/null and b/web/WEB-INF/lib/mysql-connector-java-5.1.46.jar differ
diff --git a/web/WEB-INF/lib/pdfbox-2.0.9.jar b/web/WEB-INF/lib/pdfbox-2.0.9.jar
new file mode 100644
index 0000000..6912ee8
Binary files /dev/null and b/web/WEB-INF/lib/pdfbox-2.0.9.jar differ
diff --git a/web/WEB-INF/lib/pdfbox-app-2.0.9.jar b/web/WEB-INF/lib/pdfbox-app-2.0.9.jar
new file mode 100644
index 0000000..5dea7ce
Binary files /dev/null and b/web/WEB-INF/lib/pdfbox-app-2.0.9.jar differ
diff --git a/web/WEB-INF/lib/pdfbox-tools-2.0.9.jar b/web/WEB-INF/lib/pdfbox-tools-2.0.9.jar
new file mode 100644
index 0000000..01dcc46
Binary files /dev/null and b/web/WEB-INF/lib/pdfbox-tools-2.0.9.jar differ
diff --git a/web/WEB-INF/lib/preflight-2.0.9.jar b/web/WEB-INF/lib/preflight-2.0.9.jar
new file mode 100644
index 0000000..a356293
Binary files /dev/null and b/web/WEB-INF/lib/preflight-2.0.9.jar differ
diff --git a/web/WEB-INF/lib/preflight-app-2.0.9.jar b/web/WEB-INF/lib/preflight-app-2.0.9.jar
new file mode 100644
index 0000000..c83a068
Binary files /dev/null and b/web/WEB-INF/lib/preflight-app-2.0.9.jar differ
diff --git a/web/WEB-INF/lib/xmpbox-2.0.9.jar b/web/WEB-INF/lib/xmpbox-2.0.9.jar
new file mode 100644
index 0000000..5187d84
Binary files /dev/null and b/web/WEB-INF/lib/xmpbox-2.0.9.jar differ
diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml
new file mode 100644
index 0000000..60c93ae
--- /dev/null
+++ b/web/WEB-INF/web.xml
@@ -0,0 +1,62 @@
+
+
+
+ 30
+
+
+ login
+ auth.login
+
+
+ login
+ /login
+
+
+ register
+ auth.register
+
+
+ register
+ /register
+
+
+ forgot
+ auth.forgot
+
+
+ forgot
+ /forgot
+
+
+ forgot2
+ auth.forgot2
+
+
+ forgot2
+ /forgot2
+
+
+ upload
+ files.upload
+
+
+ upload
+ /upload
+
+
+ form
+ forms.form
+
+
+ form
+ /form
+
+
+ finish
+ forms.finish
+
+
+ finish
+ /finish
+
+
diff --git a/web/home.html b/web/home.html
new file mode 100644
index 0000000..4d95b07
--- /dev/null
+++ b/web/home.html
@@ -0,0 +1,27 @@
+
+
+
+
+ Home
+
+
+
+
+
+
+
+
+
+
diff --git a/web/index.html b/web/index.html
new file mode 100644
index 0000000..a8b11bb
--- /dev/null
+++ b/web/index.html
@@ -0,0 +1,37 @@
+
+
+
+
+ Login
+
+
+
+
+
+
+
+
+
File Reader
+
+
Register
+
¿Olvidaste tu contraseña?
+
+
+
+
+
diff --git a/web/main.css b/web/main.css
new file mode 100644
index 0000000..84b1c57
--- /dev/null
+++ b/web/main.css
@@ -0,0 +1,99 @@
+/*
+To change this license header, choose License Headers in Project Properties.
+To change this template file, choose Tools | Templates
+and open the template in the editor.
+*/
+/*
+ Created on : 3/04/2018, 07:56:28 PM
+ Author : AlejandroIvan
+*/
+
+body{
+ margin:0px !important;
+ font-family: Roboto, sans-serif;
+ font-weight: lighter;
+ color: black;
+}
+.container{
+ text-align: center;
+}
+.separator{
+ width: 100%;
+ height: 135px;
+}
+h1{
+ font-size: 36px;
+ font-weight: lighter;
+}
+.input{
+ border-bottom: black 1px solid !important;
+ border: none;
+ padding: 10px 10px 10px 0px;
+ width: 250px;
+ margin-bottom: 15px;
+ font-size: 15px;
+ font-family: Roboto, sans-serif;
+}
+.input:focus{
+ outline:none !important;
+}
+.submit{
+ width: 260px;
+ padding: 9px 0px;
+ border: black 2px solid;
+ background-color: white;
+ font-family: Roboto, sans-serif;
+ margin-top: 15px;
+ font-size: 14px;
+ font-weight: bold;
+ transition: background-color 0.4s, color 0.4s;
+ cursor:pointer;
+ margin-bottom: 15px;
+}
+.submit:hover{
+ color:white;
+ background-color: black;
+}
+.link{
+ font-size: 16px;
+ font-weight: lighter;
+ margin: 0px;
+ margin-top: 15px;
+ text-decoration: none;
+ color: black;
+}
+#forgot{
+cursor:pointer;
+}
+#forgot:hover{
+color:blue;
+}
+#forgot-form{
+visibility: hidden;
+}
+.list{
+list-style: none;
+padding: 0px;
+}
+.list li a{
+ font-size: 20px;
+ font-weight: lighter;
+ margin: 0px;
+ margin-top: 15px;
+ text-decoration: none;
+ color: black;
+ cursor: pointer;
+ border-bottom: white 1px solid;
+ transition: border-bottom 0.4s, font-weight 0.4s;
+}
+.list li a:hover{
+ border-bottom: black 1px solid;
+ font-weight: bold;
+}
+.list li{
+ margin-bottom: 10px;
+}
+#file input{
+ display:none !important;
+}
+
diff --git a/web/readfiles.html b/web/readfiles.html
new file mode 100644
index 0000000..985a9c8
--- /dev/null
+++ b/web/readfiles.html
@@ -0,0 +1,26 @@
+
+
+
+
+ Read Files
+
+
+
+
+
+
+
+
+
Upload Your PDF Files
+
+
+
+
diff --git a/web/register.html b/web/register.html
new file mode 100644
index 0000000..02eda2e
--- /dev/null
+++ b/web/register.html
@@ -0,0 +1,36 @@
+
+
+
+
+ TODO supply a title
+
+
+
+
+
+
+
+
+
Register
+
+
+
+