Cette fois, nous allons continuer à partir de la précédente Servlet / JSP de création d'application Web de base (fonction de connexion). Le but de cet article est de vérifier si vous êtes connecté ou non sur l'écran de publication, et de gérer le cas lorsque vous ne l'êtes pas.
Puisque l'écran de publication est affiché, créez un modèle d'informations de publication. On suppose que le nom d'utilisateur et le texte existent dans le message.
Article.java
public class Article implements Serializable{
private String userName;
private String text;
Article(){}
Article(String userName,String text){
this.userName = userName;
this.text = text;
}
public String getUserName() {
return this.userName;
}
public String getText() {
return this.text;
}
}
Effectue le processus de confirmation que vous êtes connecté avec ce contrôleur
--Si vous êtes connecté → Transférer bulletin-board.jsp
--Si vous n'êtes pas connecté → Redirection vers l'écran de connexion
BulletinBoard.java
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext application = this.getServletContext();
List<Article> articleList = (List<Article>) application.getAttribute("articleList"); // 1
if(articleList == null) {
articleList = new ArrayList<Article>();
application.setAttribute("articleList",articleList); // 2
}
HttpSession session = request.getSession();
User loginUser = (User) session.getAttribute("loginUser"); // 3
if(loginUser == null) {
response.sendRedirect("./login"); // 4
}else {
request.getRequestDispatcher("/WEB-INF/view/bulletin-board.jsp").forward(request, response); // 5
}
}
bulletin-board.jsp
<h2>Ceci est l'écran du tableau d'affichage.</h2>
<p><c:out value="${loginUser.name}"/>Est connecté.</p>
La deuxième ligne indique qui est connecté.
Si vous vérifiez l'opération et vous connectez, l'écran du tableau d'affichage s'affiche Si vous n'êtes pas connecté, vous réussirez si vous êtes redirigé vers la page de connexion! Si vous souhaitez supprimer la portée de la session une fois, décrivez ce qui suit
request.getSession().removeAttribute("loginUser");
La prochaine fois, nous implémenterons la fonction de déconnexion.
Recommended Posts