From e8406ba7d695b0a2e50ae93e6ab48bb3fd413885 Mon Sep 17 00:00:00 2001 From: Schankula Christopher <schankuc@mcmaster.ca> Date: Thu, 22 Mar 2018 19:36:37 -0400 Subject: [PATCH] make index a jsp page; a few other tweaks --- makefile | 2 +- src/model/TrawlExpert.java | 21 +- src/web/Director.java | 42 ++- src/web/StartUpContext.java | 5 +- .../logs/localhost_access_log.2018-03-22.txt | 124 +++++++++ .../WEB-INF/{ => lib}/json-simple-1.1.1.jar | Bin tomcat/webapps/Trawl/WEB-INF/web.xml | 2 +- .../webapps/Trawl/{index.html => index.jsp} | 27 +- tomcat/webapps/Trawl/result.jsp | 6 +- .../Trawl/org/apache/jsp/index_jsp.java | 248 ++++++++++++++++++ .../Trawl/org/apache/jsp/result_jsp.java | 8 +- 11 files changed, 452 insertions(+), 33 deletions(-) rename tomcat/webapps/Trawl/WEB-INF/{ => lib}/json-simple-1.1.1.jar (100%) rename tomcat/webapps/Trawl/{index.html => index.jsp} (85%) create mode 100644 tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/index_jsp.java diff --git a/makefile b/makefile index 649d3de..0c059ed 100644 --- a/makefile +++ b/makefile @@ -1,7 +1,7 @@ server: cp -rf bin/* tomcat/webapps/Trawl/WEB-INF/classes -start: +start: server tomcat/bin/startup.sh stop: diff --git a/src/model/TrawlExpert.java b/src/model/TrawlExpert.java index a9dd6d4..f6fa8c3 100644 --- a/src/model/TrawlExpert.java +++ b/src/model/TrawlExpert.java @@ -11,10 +11,25 @@ import sort.KDT; public class TrawlExpert { public TrawlExpert() { - + //load data + DataStore.records = new KDT<Record>("data/kdt.ser"); + try { + BioTree.init("data/biotree/"); + DataStore.records = new KDT<Record>("data/kdt.ser"); + } catch (Exception e0) { + try { + BioTree.init(); + FileProcessor.initProcessing(); + } catch (NumberFormatException | ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + BioTree.write("data/biotree/"); + DataStore.records.writeToFile("data/kdt.ser"); + }; } - public String sayHello() { - return "Hello"; + public Iterable<Integer> listAllSpecies(){ + return BioTree.getNonEmptyChildren(2); } } diff --git a/src/web/Director.java b/src/web/Director.java index 7ba4b3c..6225be3 100755 --- a/src/web/Director.java +++ b/src/web/Director.java @@ -10,12 +10,46 @@ import model.*; // notice this public class Director extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { - String c = request.getParameter("phylum"); + String req = getUrlDoPortion(request); + //if (req == "doBioLookup.do") + //doBioLookup(request, response); + + TrawlExpert te = (TrawlExpert)request.getServletContext().getAttribute("trawl"); + //very basic example of listing all species + Iterable<Integer> result = te.listAllSpecies(); - long time = (long)request.getServletContext().getAttribute("time"); - - request.setAttribute("time", time); + request.setAttribute("species", result); RequestDispatcher view = request.getRequestDispatcher("result.jsp"); view.forward(request, response); } + + private void doBioLookup(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //get answers from form + String phylum = request.getParameter("phylum"); + String bioClass = request.getParameter("class"); + String order = request.getParameter("order"); + String family = request.getParameter("family"); + String genus = request.getParameter("genus"); + String species = request.getParameter("species"); + + TrawlExpert te = (TrawlExpert)request.getServletContext().getAttribute("trawl"); + //find all applicable things underneath the top most one, need API for this + + //send lists of things to build the dropdowns + request.setAttribute("phylum", result); + request.setAttribute("bioClass", result); + request.setAttribute("order", result); + request.setAttribute("family", result); + request.setAttribute("genus", result); + request.setAttribute("species", result); + //send back the index.jsp page + RequestDispatcher view = request.getRequestDispatcher("index.jsp"); + view.forward(request, response); + } + + private String getUrlDoPortion(HttpServletRequest request) { + String url = (String) request.getRequestURL().toString(); + String[] s = url.split("/"); + return s[s.length - 1]; + } } \ No newline at end of file diff --git a/src/web/StartUpContext.java b/src/web/StartUpContext.java index 286d8ae..5425dc3 100644 --- a/src/web/StartUpContext.java +++ b/src/web/StartUpContext.java @@ -4,6 +4,8 @@ import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; +import model.TrawlExpert; + //https://www.mkyong.com/servlet/what-is-listener-servletcontextlistener-example/ @WebListener public class StartUpContext implements ServletContextListener{ @@ -16,6 +18,7 @@ public class StartUpContext implements ServletContextListener{ @Override public void contextInitialized(ServletContextEvent serverEvent) { System.out.println("Started server."); - serverEvent.getServletContext().setAttribute("time", (long) System.currentTimeMillis()); + TrawlExpert te = new TrawlExpert(); + serverEvent.getServletContext().setAttribute("trawl", te); } } \ No newline at end of file diff --git a/tomcat/logs/localhost_access_log.2018-03-22.txt b/tomcat/logs/localhost_access_log.2018-03-22.txt index 0253a73..f4bc48d 100644 --- a/tomcat/logs/localhost_access_log.2018-03-22.txt +++ b/tomcat/logs/localhost_access_log.2018-03-22.txt @@ -121,3 +121,127 @@ 0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:32:52 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:32:52 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 113 0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:32:53 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:35:22 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 113 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:35:25 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 113 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:35:25 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:41:15 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 500 1430 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:46:42 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 404 1097 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:46:43 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:46:49 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 404 1097 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:18 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 404 1097 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:18 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:20 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 404 1097 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:22 -0400] "GET /Trawl/index.html HTTP/1.1" 404 1093 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:23 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:25 -0400] "GET /Trawl/index.html HTTP/1.1" 404 1093 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:25 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:26 -0400] "GET /Trawl/index.html HTTP/1.1" 404 1093 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:47:26 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:55:46 -0400] "GET /Trawl/index.html HTTP/1.1" 200 3755 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:55:46 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:55:48 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:55:52 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:55:52 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:57:08 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:57:08 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:57:14 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:59:01 -0400] "GET /Trawl/index.html HTTP/1.1" 404 1093 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:59:01 -0400] "GET / HTTP/1.1" 200 11450 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:59:02 -0400] "GET /Trawl/ HTTP/1.1" 200 3755 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:59:05 -0400] "GET /Trawl/index.html HTTP/1.1" 404 1093 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:59:08 -0400] "GET /Trawl/index.jsp HTTP/1.1" 200 3755 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:18:59:22 -0400] "GET /Trawl/ HTTP/1.1" 200 3755 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:02:07 -0400] "GET /Trawl/ HTTP/1.1" 200 3756 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:02:08 -0400] "GET / HTTP/1.1" 200 11450 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:02:13 -0400] "GET /Trawl HTTP/1.1" 302 - +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:02:13 -0400] "GET /Trawl/ HTTP/1.1" 200 3756 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:02:18 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:02:34 -0400] "GET /Trawl/? HTTP/1.1" 200 3756 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:02:37 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:04:44 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:04:57 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:04:59 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:04:59 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:05:00 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:05:01 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:05:03 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:05:03 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:05:05 -0400] "POST /Trawl/callServlet.do HTTP/1.1" 200 2513 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:05:05 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:06:46 -0400] "GET /Trawl/? HTTP/1.1" 200 3548 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:06:46 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:10:17 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:10:18 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:10:18 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:10:19 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:10:19 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:10:22 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 404 1097 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:10:59 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:11:00 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:11:00 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:11:02 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2517 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:15:58 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:15:58 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:15:58 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:15:58 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:15:59 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:16:00 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2517 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:17:04 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:17:04 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:17:06 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2555 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:22:51 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:22:52 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:22:53 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 500 1722 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:23:35 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2527 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:23:35 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:23:35 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:23:38 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2527 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:33:58 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:33:58 -0400] "GET /favicon.ico HTTP/1.1" 200 21630 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:04 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2517 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:09 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2517 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:15 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:15 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:15 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:17 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2517 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:30 -0400] "GET /Trawl/ HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:30 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:31 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:33 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:33 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:33 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:34 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:34 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:35 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:36 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:36 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:36 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:36 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:36 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:36 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:38 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:38 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:38 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:39 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:39 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:39 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:39 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:40 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:40 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:40 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:40 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:34:40 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:21 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2517 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:30 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:30 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:30 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:37 -0400] "POST /Trawl/doBioLookup.do HTTP/1.1" 200 2517 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:40 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:40 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:40 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:43 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:43 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:43 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:45 -0400] "GET /Trawl/? HTTP/1.1" 200 3551 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:45 -0400] "GET /Trawl/style.css HTTP/1.1" 200 821 +0:0:0:0:0:0:0:1 - - [22/Mar/2018:19:35:45 -0400] "GET /Trawl/script.js HTTP/1.1" 200 425 diff --git a/tomcat/webapps/Trawl/WEB-INF/json-simple-1.1.1.jar b/tomcat/webapps/Trawl/WEB-INF/lib/json-simple-1.1.1.jar similarity index 100% rename from tomcat/webapps/Trawl/WEB-INF/json-simple-1.1.1.jar rename to tomcat/webapps/Trawl/WEB-INF/lib/json-simple-1.1.1.jar diff --git a/tomcat/webapps/Trawl/WEB-INF/web.xml b/tomcat/webapps/Trawl/WEB-INF/web.xml index 4787168..e647d8d 100644 --- a/tomcat/webapps/Trawl/WEB-INF/web.xml +++ b/tomcat/webapps/Trawl/WEB-INF/web.xml @@ -11,6 +11,6 @@ <servlet-mapping> <servlet-name>Trawl</servlet-name> - <url-pattern>/callServlet.do</url-pattern> + <url-pattern>/doBioLookup.do</url-pattern> </servlet-mapping> </web-app> \ No newline at end of file diff --git a/tomcat/webapps/Trawl/index.html b/tomcat/webapps/Trawl/index.jsp similarity index 85% rename from tomcat/webapps/Trawl/index.html rename to tomcat/webapps/Trawl/index.jsp index c3cac77..f61cde9 100644 --- a/tomcat/webapps/Trawl/index.html +++ b/tomcat/webapps/Trawl/index.jsp @@ -1,3 +1,4 @@ +<%@ page import="java.util.*" %> <!-- Double Handle Slider Modified from: http://jqueryui.com/slider/#range @@ -41,7 +42,7 @@ Double Handle Slider Modified from: http://jqueryui.com/slider/#range <section id="options"> <section id="nameDropdownIn"> - <form method="POST" action="callServlet.do"> <!--.do extension is not necessary. This field is the servlet's url in web.xml--> + <form method="POST" action="doBioLookup.do"> <!--.do extension is not necessary. This field is the servlet's url in web.xml--> Phylum: <select name="phylum" size="1"> <option>Arthropoda</option> @@ -49,39 +50,29 @@ Double Handle Slider Modified from: http://jqueryui.com/slider/#range <option>Mollusca</option> </select> <input type="SUBMIT"> - </form> - <form> Class: - <select name="phylum" size="1"> + <select name="class" size="1"> </select> <!--<input type="SUBMIT">--> - </form> - <form> Order: - <select name="phylum" size="1"> + <select name="order" size="1"> </select> <!--<input type="SUBMIT">--> - </form> - <form> Family: - <select name="phylum" size="1"> + <select name="family" size="1"> </select> <!--<input type="SUBMIT">--> - </form> - <form> Genus: - <select name="phylum" size="1"> + <select name="genus" size="1"> </select> <!--<input type="SUBMIT">--> - </form> - <form> - Scientific Name: - <select name="phylum" size="1"> + Species: + <select name="species" size="1"> </select> <!--<input type="SUBMIT">--> @@ -104,7 +95,7 @@ Double Handle Slider Modified from: http://jqueryui.com/slider/#range <input type="radio" name="gender" value="female"> Histogram <input type="submit"> </form> - <form> + <form method="POST" action="> <input type="submit" value="Individual Records"> <!--To records.html--> </form> </section> diff --git a/tomcat/webapps/Trawl/result.jsp b/tomcat/webapps/Trawl/result.jsp index 2efa98f..9ebd567 100644 --- a/tomcat/webapps/Trawl/result.jsp +++ b/tomcat/webapps/Trawl/result.jsp @@ -5,8 +5,10 @@ <p> <% - long time = (long)request.getAttribute("time"); - out.print("The server was started at " + time); + Iterable<Integer> species = (Iterable<Integer>)request.getAttribute("species"); + for (Integer s: species) + out.print("SpeciesID: " + s + "<br>"); + out.print((String) request.getAttribute("url")); %> </body> </html> \ No newline at end of file diff --git a/tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/index_jsp.java b/tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/index_jsp.java new file mode 100644 index 0000000..aab6c18 --- /dev/null +++ b/tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/index_jsp.java @@ -0,0 +1,248 @@ +/* + * Generated by the Jasper component of Apache Tomcat + * Version: Apache Tomcat/9.0.6 + * Generated at: 2018-03-22 23:33:57 UTC + * Note: The last modified time of this file was set to + * the last modified time of the source file after + * generation to assist with modification tracking. + */ +package org.apache.jsp; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.jsp.*; +import java.util.*; + +public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase + implements org.apache.jasper.runtime.JspSourceDependent, + org.apache.jasper.runtime.JspSourceImports { + + private static final javax.servlet.jsp.JspFactory _jspxFactory = + javax.servlet.jsp.JspFactory.getDefaultFactory(); + + private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants; + + private static final java.util.Set<java.lang.String> _jspx_imports_packages; + + private static final java.util.Set<java.lang.String> _jspx_imports_classes; + + static { + _jspx_imports_packages = new java.util.HashSet<>(); + _jspx_imports_packages.add("javax.servlet"); + _jspx_imports_packages.add("java.util"); + _jspx_imports_packages.add("javax.servlet.http"); + _jspx_imports_packages.add("javax.servlet.jsp"); + _jspx_imports_classes = null; + } + + private volatile javax.el.ExpressionFactory _el_expressionfactory; + private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager; + + public java.util.Map<java.lang.String,java.lang.Long> getDependants() { + return _jspx_dependants; + } + + public java.util.Set<java.lang.String> getPackageImports() { + return _jspx_imports_packages; + } + + public java.util.Set<java.lang.String> getClassImports() { + return _jspx_imports_classes; + } + + public javax.el.ExpressionFactory _jsp_getExpressionFactory() { + if (_el_expressionfactory == null) { + synchronized (this) { + if (_el_expressionfactory == null) { + _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); + } + } + } + return _el_expressionfactory; + } + + public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() { + if (_jsp_instancemanager == null) { + synchronized (this) { + if (_jsp_instancemanager == null) { + _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); + } + } + } + return _jsp_instancemanager; + } + + public void _jspInit() { + } + + public void _jspDestroy() { + } + + public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) + throws java.io.IOException, javax.servlet.ServletException { + + if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) { + final java.lang.String _jspx_method = request.getMethod(); + if ("OPTIONS".equals(_jspx_method)) { + response.setHeader("Allow","GET, HEAD, POST, OPTIONS"); + return; + } + if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) { + response.setHeader("Allow","GET, HEAD, POST, OPTIONS"); + response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS"); + return; + } + } + + final javax.servlet.jsp.PageContext pageContext; + javax.servlet.http.HttpSession session = null; + final javax.servlet.ServletContext application; + final javax.servlet.ServletConfig config; + javax.servlet.jsp.JspWriter out = null; + final java.lang.Object page = this; + javax.servlet.jsp.JspWriter _jspx_out = null; + javax.servlet.jsp.PageContext _jspx_page_context = null; + + + try { + response.setContentType("text/html"); + pageContext = _jspxFactory.getPageContext(this, request, response, + null, true, 8192, true); + _jspx_page_context = pageContext; + application = pageContext.getServletContext(); + config = pageContext.getServletConfig(); + session = pageContext.getSession(); + out = pageContext.getOut(); + _jspx_out = out; + + out.write("\n"); + out.write("<!--\n"); + out.write("\n"); + out.write("Double Handle Slider Modified from: http://jqueryui.com/slider/#range\n"); + out.write("\n"); + out.write("-->\n"); + out.write("\n"); + out.write("<!DOCTYPE html>\n"); + out.write("<html lang=\"en\">\n"); + out.write("<head>\n"); + out.write(" <meta charset=\"UTF-8\">\n"); + out.write(" <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n"); + out.write(" <meta name=\"keywords\" content=\"insert, some, keywords\"> <!--TODO-->\n"); + out.write(" <meta name=\"description\" content=\"insert a description\"> <!--TODO-->\n"); + out.write(" <title>TrawlTool</title>\n"); + out.write(" <link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">\n"); + out.write("\n"); + out.write("\n"); + out.write(" <!--JQuery-->\n"); + out.write(" <script src=\"https://code.jquery.com/jquery-1.12.4.js\"></script>\n"); + out.write(" <script src=\"https://code.jquery.com/ui/1.12.1/jquery-ui.js\"></script>\n"); + out.write(" <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\">\n"); + out.write("\n"); + out.write(" <!-- MUST load JQuery Library before loading this-->\n"); + out.write(" <script src=\"script.js\"></script>\n"); + out.write(" <!--Fonts-->\n"); + out.write(" <!--Open Sans Rg-400/Semi-600/Bd-700-->\n"); + out.write(" <link href=\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700\" rel=\"stylesheet\">\n"); + out.write("\n"); + out.write(" <!--Plugins-->\n"); + out.write("</head>\n"); + out.write("\n"); + out.write("<body>\n"); + out.write(" <header>\n"); + out.write(" <a href=\"index.html\" >TrawlTool</a>\n"); + out.write(" </header>\n"); + out.write("\n"); + out.write(" <span id=\"menu-bar\">\n"); + out.write(" <a href=\"index.html\">Non functional Menu Item 1</a> |\n"); + out.write(" <a href=\"index.html\" target=\"_blank\">Item 2</a>\n"); + out.write(" </span>\n"); + out.write("\n"); + out.write(" <section id=\"options\">\n"); + out.write(" <section id=\"nameDropdownIn\">\n"); + out.write(" <form method=\"POST\" action=\"doBioLookup.do\"> <!--.do extension is not necessary. This field is the servlet's url in web.xml-->\n"); + out.write(" Phylum:\n"); + out.write(" <select name=\"phylum\" size=\"1\">\n"); + out.write(" <option>Arthropoda</option>\n"); + out.write(" <option>Chordata</option>\n"); + out.write(" <option>Mollusca</option>\n"); + out.write(" </select>\n"); + out.write(" <input type=\"SUBMIT\">\n"); + out.write("\n"); + out.write(" Class:\n"); + out.write(" <select name=\"class\" size=\"1\">\n"); + out.write(" </select>\n"); + out.write(" <!--<input type=\"SUBMIT\">-->\n"); + out.write("\n"); + out.write(" Order:\n"); + out.write(" <select name=\"order\" size=\"1\">\n"); + out.write(" </select>\n"); + out.write(" <!--<input type=\"SUBMIT\">-->\n"); + out.write("\n"); + out.write(" Family:\n"); + out.write(" <select name=\"family\" size=\"1\">\n"); + out.write(" </select>\n"); + out.write(" <!--<input type=\"SUBMIT\">-->\n"); + out.write("\n"); + out.write(" Genus:\n"); + out.write(" <select name=\"genus\" size=\"1\">\n"); + out.write(" </select>\n"); + out.write(" <!--<input type=\"SUBMIT\">-->\n"); + out.write("\n"); + out.write(" Species:\n"); + out.write(" <select name=\"species\" size=\"1\">\n"); + out.write("\n"); + out.write(" </select>\n"); + out.write(" <!--<input type=\"SUBMIT\">-->\n"); + out.write(" </form>\n"); + out.write(" </section>\n"); + out.write("\n"); + out.write(" <section id=\"yearIn\">\n"); + out.write(" Year Range:\n"); + out.write(" <span id=\"fromtoYear\">InnerHtml</span>\n"); + out.write(" <form>\n"); + out.write(" <!--<input type=\"number\" id=\"fromYear\" class=\"yearN\" value=\"2000\" min=\"1960\" max=\"2016\" oninput=\"brightN()\">-->\n"); + out.write(" <div id=\"slider-range\"></div>\n"); + out.write(" </form>\n"); + out.write(" </section>\n"); + out.write("\n"); + out.write(" <section id=\"outputIn\">\n"); + out.write(" <form>\n"); + out.write(" <!--TODO: Set Default button entered-->\n"); + out.write(" <input type=\"radio\" name=\"gender\" value=\"male\"> Map\n"); + out.write(" <input type=\"radio\" name=\"gender\" value=\"female\"> Histogram\n"); + out.write(" <input type=\"submit\">\n"); + out.write(" </form>\n"); + out.write(" <form>\n"); + out.write(" <input type=\"submit\" value=\"Individual Records\"> <!--To records.html-->\n"); + out.write(" </form>\n"); + out.write(" </section>\n"); + out.write(" </section>\n"); + out.write("\n"); + out.write(" <section id=\"outputWrapper\">\n"); + out.write(" <section id=\"outputDetails\">Stuff like population count, entries found, etc. go here</section>\n"); + out.write(" <section id=\"outputBox\">Map, Histogram Box</section>\n"); + out.write(" </section>\n"); + out.write(" <footer>\n"); + out.write(" Footer\n"); + out.write(" </footer>\n"); + out.write("</body>\n"); + out.write("</html>\n"); + } catch (java.lang.Throwable t) { + if (!(t instanceof javax.servlet.jsp.SkipPageException)){ + out = _jspx_out; + if (out != null && out.getBufferSize() != 0) + try { + if (response.isCommitted()) { + out.flush(); + } else { + out.clearBuffer(); + } + } catch (java.io.IOException e) {} + if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); + else throw new ServletException(t); + } + } finally { + _jspxFactory.releasePageContext(_jspx_page_context); + } + } +} diff --git a/tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/result_jsp.java b/tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/result_jsp.java index 0da2be8..6a8a4c5 100644 --- a/tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/result_jsp.java +++ b/tomcat/work/Catalina/localhost/Trawl/org/apache/jsp/result_jsp.java @@ -1,7 +1,7 @@ /* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/9.0.6 - * Generated at: 2018-03-22 22:32:45 UTC + * Generated at: 2018-03-22 23:11:01 UTC * Note: The last modified time of this file was set to * the last modified time of the source file after * generation to assist with modification tracking. @@ -122,8 +122,10 @@ public final class result_jsp extends org.apache.jasper.runtime.HttpJspBase out.write("<p>\n"); out.write("\n"); - long time = (long)request.getAttribute("time"); - out.print("The server was started at " + time); + Iterable<Integer> species = (Iterable<Integer>)request.getAttribute("species"); + for (Integer s: species) + out.print("SpeciesID: " + s + "<br>"); + out.print((String) request.getAttribute("url")); out.write("\n"); out.write("</body>\n"); -- GitLab