Commit 2606664f by Patryk Czarnik

Kalkulator - wersje 1 i 2 z arkuszem stylu

parent 7bf8d917
......@@ -2,47 +2,42 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<modelVersion>4.0.0</modelVersion>
<groupId>pl.alx.kjava</groupId>
<artifactId>PC23-Serwlety</artifactId>
<version>1.0-SNAPSHOT</version>
<name>PC23-Serwlety</name>
<packaging>war</packaging>
<groupId>pl.alx.kjava</groupId>
<artifactId>PC23-Serwlety</artifactId>
<version>1.0-SNAPSHOT</version>
<name>PC23-Serwlety</name>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>21</maven.compiler.target>
<maven.compiler.source>21</maven.compiler.source>
<junit.version>5.10.0</junit.version>
</properties>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>21</maven.compiler.target>
<maven.compiler.source>21</maven.compiler.source>
<junit.version>5.10.0</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency> </dependencies>
<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.14.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version>
</plugin> </plugins>
</build>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package serwlety.kalkulator;
import java.io.IOException;
import java.io.PrintWriter;
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("/kalkulator1")
public class Kalkulator1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html><head>");
out.println("<title>Kalkulator serwletowy</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Kalkulator</h1>");
out.println("<form>");
out.println("<label for='liczba1'>Liczba 1:</label>");
out.println("<input type='number' name='liczba1'>");
out.println("<label for='liczba2'>Liczba 2:</label>");
out.println("<input type='number' name='liczba2'>");
out.println("<button>Dodaj</button>");
out.println("</form>");
String parametr1 = request.getParameter("liczba1");
String parametr2 = request.getParameter("liczba2");
if(parametr1 != null && parametr2 != null) {
try {
long liczba1 = Long.parseLong(parametr1);
long liczba2 = Long.parseLong(parametr2);
long wynik = liczba1 + liczba2;
out.println("<div>" + liczba1 + " + " + liczba2 + " = " + wynik + "</p>");
} catch (Exception e) {
out.println("<div>Błąd: " + e + "</div>");
}
}
out.println("</body>");
out.println("</html>");
}
}
package serwlety.kalkulator;
import java.io.IOException;
import java.io.PrintWriter;
import org.apache.commons.lang3.StringUtils;
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("/kalkulator2")
public class Kalkulator2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html><head>");
out.println("<title>Kalkulator serwletowy</title>");
out.println("<link rel='stylesheet' type='text/css' href='styl.css'>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Kalkulator</h1>");
out.println("<form>");
out.println("<input type='number' name='liczba1'>");
out.println("<select name='operacja'>");
out.println("<option value='+'>+</option>");
out.println("<option value='-'>-</option>");
out.println("<option value='*'>*</option>");
out.println("<option value='/'>/</option>");
out.println("</select>");
out.println("<input type='number' name='liczba2'>");
out.println("<button>Oblicz</button>");
out.println("</form>");
String param1 = request.getParameter("liczba1");
String param2 = request.getParameter("liczba2");
String operacja = request.getParameter("operacja");
if(StringUtils.isNoneBlank(param1, param2, operacja)) {
try {
long liczba1 = Long.parseLong(param1);
long liczba2 = Long.parseLong(param2);
long wynik = switch(operacja) {
case "+" -> liczba1 + liczba2;
case "-" -> liczba1 - liczba2;
case "*" -> liczba1 * liczba2;
case "/" -> liczba1 / liczba2;
default -> throw new IllegalArgumentException("Nieznane działanie: " + operacja);
};
out.printf("<div class='wynik'>%d %s %d = <strong>%d</strong></div>\n",
liczba1, operacja, liczba2, wynik);
} catch (NumberFormatException e) {
out.printf("<div class='error'>Niepoprawny format liczby</div>\n");
} catch(Exception e) {
out.printf("<div class='error'>Błąd: %s</div>\n", e.getMessage());
}
}
out.println("</body>");
out.println("</html>");
}
}
body {
background-color: #FFFFDD;
}
h1 {
text-align: center;
color: blue;
}
form {
width: 600px;
background-color: #AAEEFF;
margin: 2em auto;
padding: 0.75em;
border: 4px solid blue;
}
.wynik {
width: 600px;
background-color: #CCFFDD;
margin: 2em auto;
padding: 0.75em;
border: 4px outset green;
}
.error {
width: 600px;
background-color: white;
color: red;
margin: 2em auto;
padding: 0.75em;
border: 4px double red;
}
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