Commit 7bf8d917 by Patryk Czarnik

Dalsze przykłady z parametrami

parent 76700c7f
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>11</maven.compiler.target> <maven.compiler.target>21</maven.compiler.target>
<maven.compiler.source>11</maven.compiler.source> <maven.compiler.source>21</maven.compiler.source>
<junit.version>5.10.0</junit.version> <junit.version>5.10.0</junit.version>
</properties> </properties>
......
...@@ -9,6 +9,7 @@ import jakarta.servlet.http.HttpServletResponse; ...@@ -9,6 +9,7 @@ import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
@WebServlet("/time") @WebServlet("/time")
public class KtoraGodzina extends HttpServlet { public class KtoraGodzina extends HttpServlet {
...@@ -25,5 +26,9 @@ public class KtoraGodzina extends HttpServlet { ...@@ -25,5 +26,9 @@ public class KtoraGodzina extends HttpServlet {
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
out.println("Teraz jest <strong>późna</strong> godzina " + LocalTime.now()); out.println("Teraz jest <strong>późna</strong> godzina " + LocalTime.now());
DateTimeFormatter format = DateTimeFormatter.ofPattern("HH:mm:ss");
out.println("Czas sformatowany: " + LocalTime.now().format(format));
} }
} }
package serwlety.hello;
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDateTime;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/ping")
public class Ping extends HttpServlet {
private static final long serialVersionUID = 1L;
public Ping() {
System.out.println("Powstaje obiekt serwletu");
}
@Override
public void init() {
System.out.println("init");
}
@Override
public void destroy() {
System.out.println("destroy");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/* Gdy uruchamiamy / wgrywamy aplikację, serwer tworzy obiekt tej klasy (serwletu, np. Ping).
* Gdy przychodzi zapytanie HTTP typu GET skierowane pod adres tego serwletu (np. /Ping),
* 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ź.
*/
String addr = request.getRemoteAddr();
int port = request.getRemotePort();
String userAgent = request.getHeader("User-Agent");
LocalDateTime dt = LocalDateTime.now();
System.out.println(dt + ": zapytanie z adresu " + addr + ":" + port + "\nz przeglądarki " + userAgent);
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println(dt + ": piszesz z adresu " + addr + ":" + port);
out.println(userAgent);
}
}
package serwlety.rozmowa;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/rozmowa")
public class Rozmowa extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String imie = request.getParameter("imie");
String data = request.getParameter("data");
// jeśli podano parametry, to ich wartości dostajemy w formie Stringów
// jeśli nie podano parametrów, bo np. jest to pierwsze wyświetlenie strony, to getParameter zwraca wynik null
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
String html = """
<!DOCTYPE html>
<html>
<head>
<title>Rozmowa serwletowa</title>
</head>
<body>
<h1>Rozmowa serwletowa</h1>
<form>
<label for="imie">Jak masz na imię?</label>
<input type="text" name="imie" id="imie">
<br>
<label for="data">Data urodzenia</label>
<input type="date" name="data" id="data">
<br>
<button>Wyślij</button>
</form>
""";
out.println(html);
if(imie != null && !imie.isBlank()) {
out.println("<div>Witaj " + imie + "!</div>");
if(data != null && !data.isBlank()) {
out.println("<br>Podałeś datę " + data);
}
}
out.println("</body></html>");
}
}
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