Commit 37de7153 by Patryk Czarnik

Ping

parent 2606664f
...@@ -3,9 +3,14 @@ package serwlety.hello; ...@@ -3,9 +3,14 @@ package serwlety.hello;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Map;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
...@@ -35,18 +40,69 @@ public class Ping extends HttpServlet { ...@@ -35,18 +40,69 @@ public class Ping extends HttpServlet {
* serwer wywołuje metodę doGet i w obiekcie request przekazuje nam informację o zapytaniu (adres, parametry, w przypadku metody POST także treść), * serwer wywołuje metodę doGet i w obiekcie request przekazuje nam informację o zapytaniu (adres, parametry, w przypadku metody POST także treść),
* natomiast obiekt response dostajemy po to, aby za jego pomocą wygenerować odpowiedź. * natomiast obiekt response dostajemy po to, aby za jego pomocą wygenerować odpowiedź.
*/ */
String dt = LocalTime.now().toString();
String addr = request.getRemoteAddr(); String addr = request.getRemoteAddr();
int port = request.getRemotePort(); int port = request.getRemotePort();
String userAgent = request.getHeader("User-Agent"); String userAgent = request.getHeader("User-Agent");
LocalDateTime dt = LocalDateTime.now();
System.out.println(dt + ": zapytanie z adresu " + addr + ":" + port + "\nz przeglądarki " + userAgent); System.out.println(dt + ": zapytanie z adresu " + addr + ":" + port + "\nz przeglądarki " + userAgent);
response.setContentType("text/plain"); response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.addCookie(new Cookie("czas", dt));
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
out.println(dt + ": piszesz z adresu " + addr + ":" + port); out.println("Halo halo");
out.println(userAgent);
out.println("ContextPath: " + request.getContextPath());
out.println("RequestURI: " + request.getRequestURI());
out.println("QueryString: " + request.getQueryString());
out.println();
out.println("LocalName: " + request.getLocalName());
out.println("LocalAddr: " + request.getLocalAddr());
out.println("LocalPort: " + request.getLocalPort());
out.println();
out.println("RemoteHost: " + request.getRemoteHost());
out.println("RemoteAddr: " + request.getRemoteAddr());
// itd.
out.println();
out.println("parametr x: " + request.getParameter("x"));
out.println("parametr y: " + request.getParameter("y"));
String[] wartosciX = request.getParameterValues("x");
out.println("x jako tablica: " + Arrays.toString(wartosciX));
out.println("Wszystkie parametry:");
for (Map.Entry<String, String[]> e : request.getParameterMap().entrySet()) {
String[] v = e.getValue();
out.println(" * " + e.getKey() + " : " + Arrays.toString(v));
}
out.println();
out.println("nagłówek Accept: " + request.getHeader("Accept"));
out.println("nagłówek User-Agent: " + userAgent);
out.println("Wszystkie nagłówki:");
Enumeration<String> headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
String nm = headerNames.nextElement();
out.println(nm + ": " + request.getHeader(nm));
}
out.println();
out.println("Wszystkie ciastka:");
String poprzedniCzas = null;
Cookie[] cookies = request.getCookies();
if (cookies != null)
for (Cookie cooky : cookies) {
out.println("cookie " + cooky.getName() + " " + cooky.getValue());
if ("czas".equals(cooky.getName())) {
poprzedniCzas = cooky.getValue();
}
}
out.println("czas teraz : " + dt);
out.println("czas poprzedni: " + poprzedniCzas);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment