[Servlet Java] La route de Senri est aussi la deuxième étape de la première étape

Faisons un fichier jsp

D'abord du modèle

login.jsp


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

</body>
</html>

<% @ ~%> sur la première ligne est une promesse lors de l'écriture d'un fichier jsp, et à part cela, il peut être essentiellement traité comme du HTML Implémentons à l'intérieur du corps

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>

Ce qui suit est l'écran au démarrage * Pour le moment, rien ne s'affiche même s'il est démarré servlet5.png Expliquons dans l'ordre

Nom de la balise Nom de l'élément La description
form action Destination de la transition lorsque l'utilisateur clique sur l'élément de soumission
Cela dépend de la structure des dossiers, mais fondamentalement
http://localhost:8080/Nom du projet/nom de l'action
method Spécifiez parmi deux types, obtenez et publiez
get ・ ・ ・ Les paramètres entrés à la fin de l'URL de destination de la transition resteront ensemble.( /nom de l'action?name=hoge&password=Se sentir comme foo)
post ... ne colle pas(Ceux qui utilisent ce temps)
J'écrirai sur les points à utiliser correctement à une date ultérieure
input type="text" Champ de texte
name Touche de récupération des données d'entrée côté serveur
input type="submit" Bouton pour envoyer les données de la balise form au serveur

Il s'agit du chemin spécifié pour l'action du formulaire, Nom du projet = ServletApp Je veux faire la transition jsp = mypage.jsp Dans le cas de, spécifiez / ServletApp / mypage

Faisons un servlet

Créez un nouveau fichier java après avoir créé un package approprié Entrez HttpServlet dans Super Class et cliquez sur Parcourir 2020-05-25.png Sélectionnez HttpServlet dans [Articles correspondants] et cliquez sur [OK] 2020-05-25 (2).png Après avoir créé la classe, cliquez sur [Source] - [Method Override]. servlet6.png De Sélectionnez la méthode à remplacer ou à implémenter Sélectionnez "doGet", "doPost", "destroy" et "init (aucun argument)" et cliquez sur [OK]. 2020-05-25 (4).png Cela ajoutera les méthodes utilisées dans le servlet Effacez le contenu de la méthode et OK

Méthode La description Utilisation
doGet Cette méthode est appelée lorsque get est spécifié dans la méthode de la balise form de jsp. Traitement principal à exécuter au moment de la transition d'écran
doPost Si vous spécifiez post pour 〃, cette méthode sera appelée lorsqu'elle sera appelée.
destroy Traitement qui fonctionne lorsque le servlet est détruit Traitement de la sortie du journal, etc.
init Le premier processus Traitement d'initialisation variable, etc.

Bien que doGet et doPost fonctionnent même si seul l'utilisateur est implémenté, les deux sont essentiellement déclarés pour empêcher que seul doGet soit implémenté même si method = "post" est spécifié. À ce stade, décrivez doXXX (req, res) dans la méthode qui n'est pas utilisée. Ensuite, il ressemblera à celui ci-dessous servlet8.png Écrivons le contenu Celui ci-dessous est principalement utilisé

variable Méthode La description
res setCharacterEncoding(String charset) Convertit les paramètres reçus de jsp en code de caractère spécifié
addCookie(Cookie cookie) Définir les cookies * Explication à une date ultérieure
sendRedirect(String URL) Redirection vers l'URL spécifiée (transition)
req getParameter(String key) Récupère la valeur du nom d'élément spécifié par le nom de jsp
getSession Obtenir une session (commentaire plus tard)
setAttribute(String key,Object value) Définissez le nom et la valeur de l'élément à envoyer à jsp
getRequestDispacher(String jsppath) Définissez le chemin du fichier vers le jsp que vous souhaitez envoyer

Cliquez ici pour les détails de mise en œuvre spécifiques servlet10.png

・ 18ème ligne: définissez le code de caractère sur UTF-8 ・ Lignes 19 et 20 En spécifiant respectivement le nom et le mot de passe comme arguments

login.jsp


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

Vous pouvez obtenir la valeur d'entrée à partir des deux champs de texte de ↑

・ Ligne 22: Si google est entré dans le mot de passe, accédez à la page Google. ・ Lignes 24 et 25: définissez le nom et la valeur de l'élément à passer au jsp suivant. (Comme à la ligne 25, vous pouvez définir des éléments qui ne sont pas dans le jsp d'origine malgré tout) -Ligne 26: Spécifiez le chemin de stockage du jsp suivant avec une extension N'oubliez pas de vous connecter en avant (req, res) à la fin

Écrivons le jsp de destination de la transition

mypage.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ma page</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%>M.<%=list.get(0)%>
</body>
</html>

Par souci d'explication, le code est complètement inutile, mais pardonnez-moi. ・ Je veux écrire du code java ⇒ Placer dans <% ~%> ・ Je veux afficher la valeur d'une variable ⇒ Insérez-la dans <% = ~%> ・ Je veux utiliser la bibliothèque java ⇒ Enclose dans <% @ ~%> À propos, la requête et la réponse peuvent être utilisées sans déclarer la bibliothèque.

Suite à la troisième étape

Recommended Posts

[Servlet Java] La route de Senri est aussi la deuxième étape de la première étape
[Servlet Java] La route de Senri est également une étape vers la première
[Servlet Java] La route de Senri est aussi la cinquième étape d'une étape
[Servlet Java] La route de Senri est aussi la troisième étape de la première étape
[Servlet Java] La route de Senri est aussi la quatrième étape de la première étape
[Ruby] A Hash # has_key? Faire un pas de plus vers la version officielle obsolète?
Qu'est-ce que le modèle Java Servlet / JSP MVC?
5ème jour de Java
Entrée dans la console Java
La milliseconde définie dans /lib/calendars.properties de Java jre est UTC
Comment incrémenter la valeur de Map sur une ligne en Java
[java8] Pour comprendre l'API Stream
Où est le fuseau horaire de Java LocalDateTime.now ()?
Bienvenue dans le marais des bibliothèques Java! !!
La route de JavaScript à Java
[IOS] Que faire lorsque l'image est remplie d'une seule couleur
[Introduction à Java] J'ai essayé de résumer les connaissances que j'estime essentielles
[Petite histoire Java] Surveiller lorsqu'une valeur est ajoutée à la liste
À partir de Java9, les constructeurs de classe correspondant aux types primitifs sont marqués comme obsolètes.
Qu'est-ce que CHECKSTYLE: OFF trouvé dans la source Java? Checkstyle à savoir de
[Java: Memorandum] Jusqu'à ce que le code de saut de ligne CRLF soit changé en LF