Créez une application WEB qui vous permet de publier comme un babillard avec Servlet et JSP. Tout d'abord, créez sans utiliser JDBC, DB, Mysql.
Pensons à la fonction à implémenter cette fois. Puisque nous allons créer une application comme un babillard électronique, nous allons créer les fonctions suivantes.
―― 1. Fonction de connexion ―― 2. Fonction de déconnexion ―― 3. Fonction de publication ―― 4. Fonction de post-visualisation
Cette fois, l'objectif est de s'habituer à la création d'applications Web à l'aide de Sevlet et JSP, nous allons donc en faire une configuration simple.
Dans cet article, nous allons créer une fonction de connexion.
Étant donné que la fonction de connexion nécessite un utilisateur, créez un modèle d'utilisateur. On suppose que le modèle utilisateur à créer comporte deux informations, un nom et un mot de passe.
User.java
package model;
import java.io.Serializable;
public class User implements Serializable {
private String name;
private String password;
public User() {}
public User(String name,String password) {
this.name = name;
this.password = password;
}
public String getName(){ // 1.Obtenir le nom d'utilisateur
return this.name;
}
public String getPassword(){ // 2.Obtenir le mot de passe
return this.password;
}
}
Définissez le modificateur d'accès sur private afin que le nom des variables membres (nom d'utilisateur) et le mot de passe (mot de passe) ne puissent pas être référencés par d'autres classes. Il crée également les méthodes 1 et 2 pour obtenir la valeur définie dans le constructeur.
Maintenant que nous avons créé le modèle, nous allons créer une vue dans JSP pour que l'utilisateur se connecte. Tout d'abord, créez une vue simple.
top-page.jsp
<form action="./login" method="post">
<div>
<label>Nom d'utilisateur</label>
<input type="text" name="userName">
</div>
<div>
<label>mot de passe</label>
<input type="text" name="userPassword">
</div>
<div>
<input type="submit" value="enregistrement">
</div>
</form>
LoginProcess.java
package model;
public class LoginProcess {
public boolean execute(User user) {
if (user.getPassword().equals("hoge")) {
return true;
}
return false;
}
}
Processus de connexion qui retourne true si le mot de passe enregistré est hoge
.
login.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); // 1
String name = request.getParameter("userName");
String password = request.getParameter("userPassword");
User user = new User(name,password); // 2
LoginProcess loginProcess = new LoginProcess();
boolean isLogin = loginProcess.isLogin(user); // 3
if(isLogin) {
request.getSession().setAttribute("loginUser",user); // 4
}
request.getRequestDispatcher("/WEB-INF/view/login-result.jsp").forward(request, response); // 5
}
login-result.jsp
montrant le résultat de la connexionCréez un jsp basé sur le loginUser
spécifié dans la portée de la session.
login-result.jsp
<c:choose>
<c:when test="${loginUser != null}"> // 1
<p>La connexion est terminée.</p>
<p>Bonjour!<c:out value="${loginUser.name}"/>M.</p> //2
</c:when>
<c:otherwise> // 3
<p>Je n'ai pas réussi à me connecter.</p>
<p>Veuillez vous reconnecter.</p>
<a href="./login">Utilisateur en ligne</a> //4
</c:otherwise>
</c:choose>
loginUser
n'est pas nul (si l'entrée de mot de passe est" hoge ")loginUser.name
Pour des conditions autres que 3.1Sur l'écran de connexion de l'utilisateur, entrez hoge
ou autre comme mot de passe et le résultat de la connexion sera affiché fermement et il réussira.
La prochaine fois, nous vérifierons si vous êtes connecté ou non sur l'écran de publication et que faire si vous ne l'êtes pas.
Recommended Posts