[Java Servlet] Die Straße von Senri ist auch der zweite Schritt vom ersten Schritt

Lassen Sie uns eine JSP-Datei erstellen

Zuerst aus der Vorlage

login.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Anmeldebildschirm</title>
</head>
<body>

</body>
</html>

<% @ ~%> in der ersten Zeile ist ein Versprechen beim Schreiben einer JSP-Datei, und ansonsten kann es grundsätzlich wie HTML behandelt werden Lassen Sie uns im Körper implementieren

login.jsp


<form action="/ServletApp/mypage" method="post">
name:<input type="text" name="name"><br>
password:<input type="text" name="password"><br>
<input type="submit" value="login">
</form>

Das Folgende ist der Bildschirm beim Start * Im Moment wird nichts angezeigt, selbst wenn es gestartet wird servlet5.png Lassen Sie uns in der richtigen Reihenfolge erklären

Verlinke den Namen Elementname Erläuterung
form action Übergangsziel, wenn auf das Übermittlungselement geklickt wird
Das hängt aber grundsätzlich von der Ordnerstruktur ab
http://localhost:8080/Projektname/Aktionsname
method Geben Sie aus zwei Typen an: get und post
get ・ ・ ・ Die am Ende der Übergangsziel-URL eingegebenen Parameter bleiben zusammen.( /Aktionsname?name=hoge&password=Ich fühle mich wie Foo)
post ... klebt nicht(Diejenigen, die diese Zeit nutzen)
Ich werde zu einem späteren Zeitpunkt über die Punkte schreiben, die richtig verwendet werden sollen
input type="text" Textfeld
name Schlüssel zum Abrufen von Eingabedaten auf der Serverseite
input type="submit" Schaltfläche zum Senden der Daten im Formular-Tag an den Server

Dies ist der Pfad, der für die Aktion des Formulars angegeben wurde. Projektname = ServletApp Ich möchte jsp = mypage.jsp übergehen Geben Sie im Fall von "/ ServletApp / mypage" an

Machen wir ein Servlet

Erstellen Sie eine neue Java-Datei, nachdem Sie ein geeignetes Paket erstellt haben Geben Sie HttpServlet in Super Class ein und klicken Sie auf Durchsuchen 2020-05-25.png Wählen Sie HttpServlet unter [Übereinstimmende Elemente] aus und klicken Sie auf [OK]. 2020-05-25 (2).png Klicken Sie nach dem Erstellen der Klasse auf [Quelle] - [Methodenüberschreibung]. servlet6.png Von Select-Methode zum Überschreiben oder Implementieren Wählen Sie "doGet", "doPost", "destroy" und "init (kein Argument)" und klicken Sie auf [OK]. 2020-05-25 (4).png Dadurch werden die im Servlet verwendeten Methoden hinzugefügt Löschen Sie den Inhalt der Methode und klicken Sie auf OK

Methode Erläuterung Verwenden
doGet Diese Methode wird aufgerufen, wenn get in der Methode des Formular-Tags von jsp angegeben ist. Hauptverarbeitung, die zum Zeitpunkt des Bildschirmübergangs ausgeführt werden soll
doPost Wenn post für 〃 angegeben ist, wird diese Methode beim Aufruf aufgerufen.
destroy Verarbeitung, die funktioniert, wenn das Servlet zerstört wird Protokollausgabeverarbeitung usw.
init Der erste Prozess Variable Initialisierungsverarbeitung usw.

Obwohl doGet und doPost auch dann funktionieren, wenn nur der Benutzer implementiert ist, werden grundsätzlich beide deklariert, um zu verhindern, dass nur doGet implementiert wird, obwohl method = "post" angegeben ist. Beschreiben Sie zu diesem Zeitpunkt "doXXX (req, res)" in der Methode, die nicht verwendet wird. Dann sieht es so aus wie unten servlet8.png Schreiben wir den Inhalt Das folgende wird hauptsächlich verwendet

Variable Methode Erläuterung
res setCharacterEncoding(String charset) Konvertieren Sie die von jsp empfangenen Parameter in den angegebenen Zeichencode
addCookie(Cookie cookie) Cookies setzen * Erklärung zu einem späteren Zeitpunkt
sendRedirect(String URL) Weiterleiten an die angegebene URL (Übergang)
req getParameter(String key) Ruft den Wert des Elementnamens ab, der durch den Namen von jsp angegeben wird
getSession Holen Sie sich eine Sitzung (Kommentar später)
setAttribute(String key,Object value) Legen Sie den Elementnamen und den Wert fest, die an jsp gesendet werden sollen
getRequestDispacher(String jsppath) Stellen Sie den Dateipfad auf den JSP ein, den Sie senden möchten

Klicken Sie hier für spezifische Implementierungsdetails servlet10.png

・ 18. Zeile: Setzen Sie den Zeichencode auf UTF-8 ・ Zeilen 19 und 20 Durch Angabe von Name und Passwort als Argumente

login.jsp


name:<input type="text" name="name"><br>
password:<input type="text" name="password"><br>

Den Eingabewert erhalten Sie aus den beiden Textfeldern von ↑

・ Zeile 22: Wenn Google in das Passwort eingegeben wurde, wechseln Sie zur Google-Seite. ・ Zeilen 24 und 25: Legen Sie den Namen und den Wert des Elements fest, das an den nächsten JSP übergeben werden soll. (Wie in Zeile 25 können Sie Elemente festlegen, die nicht im ursprünglichen JSP enthalten sind.) -Zeile 26: Geben Sie den Speicherpfad des nächsten JSP mit einer Erweiterung an Vergessen Sie nicht, am Ende eine Vorwärtsverbindung (req, res) herzustellen

Schreiben wir das Übergangsziel jsp

mypage.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Meine Seite</title>
</head>
<body>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%
	String name=request.getParameter("name");
	List<String> list=new ArrayList<>();
	list.add("Hello!");
%>
<%=name%>Herr.<%=list.get(0)%>
</body>
</html>

Zur Erklärung ist der Code völlig unnötig, aber verzeihen Sie mir. ・ Ich möchte Java-Code schreiben. ⇒ In <% ~%> einschließen ・ Ich möchte den Wert einer Variablen ausgeben. ⇒ Schließen Sie ihn in <% = ~%> ein ・ Ich möchte die Java-Bibliothek verwenden. ⇒ In <% @ ~%> einschließen Übrigens können Anforderung und Antwort verwendet werden, ohne die Bibliothek zu deklarieren.

Fortsetzung des dritten Schritts

Recommended Posts

[Java Servlet] Die Straße von Senri ist auch der zweite Schritt vom ersten Schritt
[Java Servlet] Die Straße von Senri ist auch ein Schritt zum ersten
[Java Servlet] Die Straße von Senri ist auch der fünfte Schritt von einem Schritt
[Java Servlet] Die Straße von Senri ist auch der dritte Schritt vom ersten Schritt
[Java Servlet] Die Straße von Senri ist auch der vierte Schritt vom ersten Schritt
[Ruby] Hat Hash # has_key einen Schritt näher an den veralteten Beamten?
Was ist das Java Servlet / JSP MVC-Modell?
5. Tag von Java
Eingabe in die Java-Konsole
Die in /lib/calendars.properties von Java jre festgelegte Millisekunde ist UTC
So erhöhen Sie den Wert von Map in einer Zeile in Java
[java8] Um die Stream-API zu verstehen
Wo ist die Zeitzone von Javas LocalDateTime.now ()?
Willkommen im Sumpf der Java-Bibliotheken! !!
Der Weg von JavaScript nach Java
[IOS] Was tun, wenn das Bild mit einer Farbe gefüllt ist?
[Einführung in Java] Ich habe versucht, das Wissen zusammenzufassen, das ich für wesentlich halte
[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
Ab Java9 werden Klassenkonstruktoren, die primitiven Typen entsprechen, als veraltet markiert.
Was ist CHECKSTYLE: OFF in der Java-Quelle? Checkstyle zu wissen von
[Java: Memorandum] Bis der Zeilenvorschubcode CRLF in LF geändert wird