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é 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
Créez un nouveau fichier java après avoir créé un package approprié Entrez HttpServlet dans Super Class et cliquez sur Parcourir Sélectionnez HttpServlet dans [Articles correspondants] et cliquez sur [OK] Après avoir créé la classe, cliquez sur [Source] - [Method Override]. De Sélectionnez la méthode à remplacer ou à implémenter Sélectionnez "doGet", "doPost", "destroy" et "init (aucun argument)" et cliquez sur [OK]. 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
É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
・ 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
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.
Recommended Posts