From d894d89d6cfde7b526b8e84a92eaaf5772f17e90 Mon Sep 17 00:00:00 2001 From: Ivan Olexyn Date: Thu, 16 Apr 2020 18:12:16 +0200 Subject: [PATCH] + servlets interact --- LICENSE.md | 5 + .../mispbridge/WEB-INF/classes/Hello.class | Bin 1464 -> 0 bytes .../mispbridge.iml | 4 +- .../mispbridge/META-INF/MANIFEST.MF | 0 .../mispbridge/META-INF/war-tracker | 0 .../WEB-INF/classes/BridgeServlet.class | Bin 0 -> 2476 bytes .../mispbridge}/WEB-INF/web.xml | 10 +- .../mispbridge/hello.jsp | 0 .../mispbridge/images/tomcat.gif | Bin .../mispbridge/index.html | 8 +- .../src/BridgeServlet.java | 40 ++++- .../mispclient.iml | 5 +- .../mispclient/META-INF/MANIFEST.MF | 0 .../mispclient/META-INF/war-tracker | 0 .../WEB-INF/classes/ClientServlet.class | Bin 0 -> 4998 bytes .../mispclient}/WEB-INF/web.xml | 10 +- .../mispclient/hello.jsp | 0 .../mispclient/images/tomcat.gif | Bin .../mispclient/index.html | 6 +- mispclient/src/ClientServlet.java | 153 ++++++++++++++++++ 20 files changed, 216 insertions(+), 25 deletions(-) create mode 100644 LICENSE.md delete mode 100644 misp-bridge/mispbridge/WEB-INF/classes/Hello.class rename misp-bridge/misp-bridge.iml => mispbridge/mispbridge.iml (77%) rename {misp-bridge => mispbridge}/mispbridge/META-INF/MANIFEST.MF (100%) rename {misp-bridge => mispbridge}/mispbridge/META-INF/war-tracker (100%) create mode 100644 mispbridge/mispbridge/WEB-INF/classes/BridgeServlet.class rename {misp-client/mispclient => mispbridge/mispbridge}/WEB-INF/web.xml (68%) rename {misp-bridge => mispbridge}/mispbridge/hello.jsp (100%) rename {misp-bridge => mispbridge}/mispbridge/images/tomcat.gif (100%) rename {misp-bridge => mispbridge}/mispbridge/index.html (64%) rename misp-bridge/src/Hello.java => mispbridge/src/BridgeServlet.java (60%) rename misp-client/misp-client.iml => mispclient/mispclient.iml (60%) rename {misp-client => mispclient}/mispclient/META-INF/MANIFEST.MF (100%) rename {misp-client => mispclient}/mispclient/META-INF/war-tracker (100%) create mode 100644 mispclient/mispclient/WEB-INF/classes/ClientServlet.class rename {misp-bridge/mispbridge => mispclient/mispclient}/WEB-INF/web.xml (68%) rename {misp-client => mispclient}/mispclient/hello.jsp (100%) rename {misp-client => mispclient}/mispclient/images/tomcat.gif (100%) rename {misp-client => mispclient}/mispclient/index.html (76%) create mode 100644 mispclient/src/ClientServlet.java diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..bef3d07 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,5 @@ +Copyright (C) 2020 by IO42630 + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/misp-bridge/mispbridge/WEB-INF/classes/Hello.class b/misp-bridge/mispbridge/WEB-INF/classes/Hello.class deleted file mode 100644 index 3c41faa9137a0f45789438110030ba63d2c68f38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1464 zcmah}TTc@~7(D}p9cl$B6fX!aAaW79;0=`pFUUP&+&lcA;&z2%dx<*$nl8dF~<{*ryNTh&nzrkSYc>){kpFf8Cu6D_83x2vMd<7 z3VvN|Hflu??Rv$4EZKrAdBL6+`TE>6rc~9B8LYyZ2m(3J&{meKLNRQQ7v6gBy+bD! z(fdFsr>a!wtP$)ahHde#A!0Rurdu4!dMxI3Z&s89F^ruVmSkt(kw`KyoZV8h7K!p9 z@|B1fa;A{uOJ^(c>uTSaiD!EGup~m|Q*RblEv%7gM>e98Sn;)5X(LEpYmmWZTw&-? z;!w*_3oNW>@EjW%6!1bnfHp2#*v#N1HjF`dWqOgkt9%uR#T~B}2Eu+4hJj!5bWyvh zqP^u+gzF@3B#`S=lh9tbD9a!1Vx=Sl87+LM5*^Bzb(MZSyC|cwh!%!thRK+6Rg^5c z=z#0jDs~)|7KZ&AWse;tYg9E~@ej0j8SPwD&6i}VfE*PcebDSKZ=LD}|>dFPY*x?N6vXfCuR+L~>$Gh&jPNx?99 z`WQ0wXb1hk>o1Sq^q;V%+$S7voSt|4XzDs+p_XJ_iMrbT7}99uk~wq&uU>I>6pdBI zOm{~`H0O)q;`qdW2Jfid6Z1$4gnBxII%aW^z7YD?0;UI#u%Ax1X=SvwO@0UaYOb#m zrpXQHMhaOB&@PiWVG!5o#9(8HJSYJhq%}phFH_l;A82jC)DNT>Hm9>~-_SmtwG48D z9R|||&l$`ZJa4emVAl!D1+(uqm_2dZWA?oUa|ZhekGp@3KI$k3PHPtt&k^;0B0WU3 z$7nZ=t3-SN4~WkrVzf+rHt6;hhOv(kyuo#pFbW?xASt4OaeTrAK4a3TF_|!KszKZ- gZp0|`g(62ukuJm(JBC(@1lq|mL9q-s=|mF!1urLP3jhEB diff --git a/misp-bridge/misp-bridge.iml b/mispbridge/mispbridge.iml similarity index 77% rename from misp-bridge/misp-bridge.iml rename to mispbridge/mispbridge.iml index 936f4d5..d89b084 100644 --- a/misp-bridge/misp-bridge.iml +++ b/mispbridge/mispbridge.iml @@ -4,8 +4,8 @@ - - + + diff --git a/misp-bridge/mispbridge/META-INF/MANIFEST.MF b/mispbridge/mispbridge/META-INF/MANIFEST.MF similarity index 100% rename from misp-bridge/mispbridge/META-INF/MANIFEST.MF rename to mispbridge/mispbridge/META-INF/MANIFEST.MF diff --git a/misp-bridge/mispbridge/META-INF/war-tracker b/mispbridge/mispbridge/META-INF/war-tracker similarity index 100% rename from misp-bridge/mispbridge/META-INF/war-tracker rename to mispbridge/mispbridge/META-INF/war-tracker diff --git a/mispbridge/mispbridge/WEB-INF/classes/BridgeServlet.class b/mispbridge/mispbridge/WEB-INF/classes/BridgeServlet.class new file mode 100644 index 0000000000000000000000000000000000000000..aaf9fd988e63dee513d2cd478b61459959d9f442 GIT binary patch literal 2476 zcmai0TXPge6#iy&nMtxFWFbJnzz}XBB$-62pq>{=Rd1=J$W@{{-N9 zd|r#AIIm;077?7U!4bS<;6fe7FfPS}fs3^`gGmFI3``kF7??INV_??6oPn1OTsCmU zz$*q`HE`9yYjwDW*QKzfyUy|he0ezk=Bth;2OAY;D%iHo<@lq~2k25AcXO^7&`{BKe3r3?{S=)W#@w7UQOwRe z!L&W^Q4<^UleRZ&2ddD-C^~NHpmpuYa?;5Qms#uJpI}s{{7GLjSDWyQLDD(v zDqzd7>yjl9g@tYnJ5)I+eg}iVUXdh6aRMDAS~$ysU}ilX#V8iB6vZ-DB%M+@5XBo< zQZvU+k=*9EaE0d#jJt(=xL@1~HH0#5WkRc+@p(VBV$P?NzUK%1OBo)V&at?VoSXB0 zkaB|l*6vm+E8`*vA2NPR+|8!VLXhllb+dNbDOkeKCT-D`b{C{|6}OXihvJ!@frOpS zGu&W4@42)gL}sZPm`M+jh(>6<0M7=HKdfpD?iiUP+Sq5Z> zIqL)~=A0jRDbwEAsw+%J=B`hTT$&k4OzU_vinnkpinnoFBKJ-d@8Xt@_o8?oA4KsX zK8oUFe8Qf4xI%0z;IOJ;f{>^DL!MJl;x*kzl`*R!$^kt`qby8lJWNo8*Mp?hM@L84XrlS|v>+_LJN@Q#@IQsvo zPObME;ZT1HEE~RK^k_q9e+Y=>3P{{UXEC7m4Rwt{pAw3ulIXKp#8BjUSub74+~G zca*Qb2=?L_+MwaMnzd8I8-(*tHSaJ!tJeAaeO0D!xPIx61ly z%6eJ=&8WmKG%)%zoJHwPADqOqd}?@(uiS`?r+v+5HFXa - Hello, World Application + BridgeServlet, World Application This is a simple web application with a source code organization based on the recommendations of the Application Developer's Guide. - HelloServlet - mypackage.Hello + BridgeServlet + BridgeServlet - HelloServlet - /mispclient + BridgeServlet + /core diff --git a/misp-bridge/mispbridge/hello.jsp b/mispbridge/mispbridge/hello.jsp similarity index 100% rename from misp-bridge/mispbridge/hello.jsp rename to mispbridge/mispbridge/hello.jsp diff --git a/misp-bridge/mispbridge/images/tomcat.gif b/mispbridge/mispbridge/images/tomcat.gif similarity index 100% rename from misp-bridge/mispbridge/images/tomcat.gif rename to mispbridge/mispbridge/images/tomcat.gif diff --git a/misp-bridge/mispbridge/index.html b/mispbridge/mispbridge/index.html similarity index 64% rename from misp-bridge/mispbridge/index.html rename to mispbridge/mispbridge/index.html index b5b7a70..d6afb53 100644 --- a/misp-bridge/mispbridge/index.html +++ b/mispbridge/mispbridge/index.html @@ -1,6 +1,6 @@ -Sample "Hello, World" Application +Sample "BridgeServlet, World" Application @@ -10,7 +10,7 @@ -

Sample "Hello, World" Application

+

Sample "BridgeServlet, World" Application

This is the home page for a sample application used to illustrate the source directory organization of a web application utilizing the principles outlined in the Application Developer's Guide. @@ -18,10 +18,10 @@ outlined in the Application Developer's Guide. -

To prove that they work, you can execute either of the following links: +

To prove that they work, TESTyou can execute either of the following links:

diff --git a/misp-bridge/src/Hello.java b/mispbridge/src/BridgeServlet.java similarity index 60% rename from misp-bridge/src/Hello.java rename to mispbridge/src/BridgeServlet.java index 70a1166..835f7d5 100644 --- a/misp-bridge/src/Hello.java +++ b/mispbridge/src/BridgeServlet.java @@ -8,13 +8,21 @@ import java.io.IOException; import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -public final class Hello extends HttpServlet { - public Hello() { +public final class BridgeServlet extends HttpServlet { + + private static final String MISP_CLIENT_URL = "http://localhost:9090/mispclient/core"; + + private List list = new ArrayList<>(); + + + public BridgeServlet() { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { @@ -22,7 +30,7 @@ public final class Hello extends HttpServlet { PrintWriter writer = response.getWriter(); writer.println(""); writer.println(""); - writer.println("Sample Application Servlet Page"); + writer.println("MispBridge"); writer.println(""); writer.println(""); writer.println(""); @@ -33,11 +41,35 @@ public final class Hello extends HttpServlet { writer.println(""); writer.println(""); + + writer.println("REQUEST"); + writer.println(request.getRequestURI()); + writer.println(request.getRequestURL()); + writer.println(request.getMethod()); + + for(String s : list){ + writer.println(s); + } + + + + + writer.println("
"); writer.println("

Sample Application Servlet

"); writer.println("This is the output of a servlet that is part of"); - writer.println("the Hello, World application."); + writer.println("the BridgeServlet, Very World application."); writer.println("
"); writer.println(""); writer.println(""); } + + + + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + + list.add(request.getRemoteUser()); + } + + + } diff --git a/misp-client/misp-client.iml b/mispclient/mispclient.iml similarity index 60% rename from misp-client/misp-client.iml rename to mispclient/mispclient.iml index 700644a..efd60a5 100644 --- a/misp-client/misp-client.iml +++ b/mispclient/mispclient.iml @@ -4,10 +4,11 @@ - - + + + \ No newline at end of file diff --git a/misp-client/mispclient/META-INF/MANIFEST.MF b/mispclient/mispclient/META-INF/MANIFEST.MF similarity index 100% rename from misp-client/mispclient/META-INF/MANIFEST.MF rename to mispclient/mispclient/META-INF/MANIFEST.MF diff --git a/misp-client/mispclient/META-INF/war-tracker b/mispclient/mispclient/META-INF/war-tracker similarity index 100% rename from misp-client/mispclient/META-INF/war-tracker rename to mispclient/mispclient/META-INF/war-tracker diff --git a/mispclient/mispclient/WEB-INF/classes/ClientServlet.class b/mispclient/mispclient/WEB-INF/classes/ClientServlet.class new file mode 100644 index 0000000000000000000000000000000000000000..51725971acd66bb91e7f53604857d697e1e5dd0d GIT binary patch literal 4998 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 literal 0 HcmV?d00001 diff --git a/misp-bridge/mispbridge/WEB-INF/web.xml b/mispclient/mispclient/WEB-INF/web.xml similarity index 68% rename from misp-bridge/mispbridge/WEB-INF/web.xml rename to mispclient/mispclient/WEB-INF/web.xml index dc704d4..35dee88 100644 --- a/misp-bridge/mispbridge/WEB-INF/web.xml +++ b/mispclient/mispclient/WEB-INF/web.xml @@ -4,20 +4,20 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> - Hello, World Application + BridgeServlet, World Application This is a simple web application with a source code organization based on the recommendations of the Application Developer's Guide. - HelloServlet - Hello + ClientServlet + ClientServlet - HelloServlet - /mispbridge + ClientServlet + /core diff --git a/misp-client/mispclient/hello.jsp b/mispclient/mispclient/hello.jsp similarity index 100% rename from misp-client/mispclient/hello.jsp rename to mispclient/mispclient/hello.jsp diff --git a/misp-client/mispclient/images/tomcat.gif b/mispclient/mispclient/images/tomcat.gif similarity index 100% rename from misp-client/mispclient/images/tomcat.gif rename to mispclient/mispclient/images/tomcat.gif diff --git a/misp-client/mispclient/index.html b/mispclient/mispclient/index.html similarity index 76% rename from misp-client/mispclient/index.html rename to mispclient/mispclient/index.html index b5b7a70..f61084e 100644 --- a/misp-client/mispclient/index.html +++ b/mispclient/mispclient/index.html @@ -1,6 +1,6 @@ -Sample "Hello, World" Application +Sample "BridgeServlet, World" Application @@ -10,7 +10,7 @@ -

Sample "Hello, World" Application

+

Sample "BridgeServlet, World" Application

This is the home page for a sample application used to illustrate the source directory organization of a web application utilizing the principles outlined in the Application Developer's Guide. @@ -21,7 +21,7 @@ outlined in the Application Developer's Guide.

To prove that they work, you can execute either of the following links:

diff --git a/mispclient/src/ClientServlet.java b/mispclient/src/ClientServlet.java new file mode 100644 index 0000000..9d8d810 --- /dev/null +++ b/mispclient/src/ClientServlet.java @@ -0,0 +1,153 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by Fernflower decompiler) +// + + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; + + +public final class ClientServlet extends HttpServlet { + + private static final String MISP_BRIDGE_URL = "http://localhost:9090/mispbridge/core"; + + + + public ClientServlet() { + + + } + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + response.setContentType("text/html"); + PrintWriter writer = response.getWriter(); + writer.println(""); + writer.println(""); + writer.println("MispClient"); + writer.println(""); + writer.println(""); + writer.println(""); + writer.println(""); + writer.println(""); + writer.println(""); + writer.println(""); + writer.println(make2ColumnRow("foo", "bar")); + + writer.println(make2ColumnRow("sendGet", sendGet())); + writer.println(make2ColumnRow("sendPost", sendPost())); + + + writer.println("
"); + writer.println(""); + writer.println(""); + writer.println("

Sample Application Servlet

"); + writer.println("This is the output of a servlet that is part of"); + writer.println("the Hello, World application."); + writer.println("
"); + writer.println(""); + writer.println(""); + } + + + private String make2ColumnRow(String one, String two){ + StringBuilder sb = new StringBuilder(); + sb.append(""); + sb.append(""); + sb.append(one); + sb.append(""); + sb.append(""); + sb.append(two); + sb.append(""); + sb.append(""); + + return sb.toString(); + } + + + + private String sendGet() throws IOException { + + + + URL url = new URL(MISP_BRIDGE_URL); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + + // By default it is GET request + con.setRequestMethod("GET"); + + //add request header + con.setRequestProperty("User-Agent", "USER_AGENT"); + + int responseCode = con.getResponseCode(); + System.out.println("Sending get request : " + url); + System.out.println("Response code : " + responseCode); + + // Reading response from input Stream + BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); + String output; + StringBuffer response = new StringBuffer(); + + while ((output = in.readLine()) != null) { + response.append(output); + } + in.close(); + + + return response.toString(); + //printing result from response + + + } + + + + private String sendPost() throws IOException{ + + URL url = new URL(MISP_BRIDGE_URL); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + + // Setting basic post request + con.setRequestMethod("POST"); + con.setRequestProperty("User-Agent", "USER_AGENT"); + con.setRequestProperty("Accept-Language", "en-US,en;q=0.5"); + con.setRequestProperty("Content-Type","application/json"); + + String postJsonData = "{\"id\":5,\"countryName\":\"USA\",\"population\":8000}"; + + // Send post request + con.setDoOutput(true); + DataOutputStream wr = new DataOutputStream(con.getOutputStream()); + wr.writeBytes(postJsonData); + wr.flush(); + wr.close(); + + int responseCode = con.getResponseCode(); + System.out.println("nSending 'POST' request to URL : " + url); + System.out.println("Post Data : " + postJsonData); + System.out.println("Response Code : " + responseCode); + + BufferedReader in = new BufferedReader( + new InputStreamReader(con.getInputStream())); + String output; + StringBuffer response = new StringBuffer(); + + while ((output = in.readLine()) != null) { + response.append(output); + } + in.close(); + + //printing result from response + System.out.println(); + + + + return response.toString(); + } + +}