English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Exemple de code d'implémentation de la connexion utilisateur en SpringMVC

Un petit exemple de connexion SpringMVC

Préparation

  1. Créer un Dynamic Web Project (je suis sous Eclipse)
  2. Ajouter les jars pertinents, construire le chemin
  3. Créer springMVC-servlet.xml, et compléter web.xml
  4. Créer la logique du code

La structure du répertoire est la suivante

Pour un débutant, avoir une structure de répertoire complète d'un projet est une chose très heureuse.

Structure du répertoire

Conseil personnel : prêtez attention à springMVC-l'emplacement du fichier servlet.xml. ainsi que le nom du paquet de code source.

Pratique de code

Tout d'abord, le gestionnaire principal, web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-_app_3_1.xsd"
  id="WebApp_ID" version="3.1">
  <display-name>SpringTest</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet
    <servlet-name>springMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <url-pattern>*.spring</url-pattern>
  </servlet-mapping>
</web-app>

Ensuite, le petit gestionnaire springMVC-servlet.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 
      http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
      http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
  <!-- La configuration la plus simple, laissez Spring explorer par lui-même-->
  <context:component-scan base-package="controller"></context:component-scan>
</beans>

Il s'agit également d'une interface de connexion, login.jsp :

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Interface de connexion</title>
</head>
<body>
  <form action="login.spring" method="post">
    nom d'utilisateur :<input type="text" name="username"><br /> Mot de passe :<input
      type="password" name="password"><br /> <input type="submit"
      value="Se connecter">
  </form>
</body>
</html>

l'action correspondante à login.jsp doit être traitée par la page backend, c'est-à-dire notre Login.Java :

package controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller // @Controller représente que cette classe Java est une couche de contrôleur controller
public class Login {
  /**
   * L'annotation @RequestParam a pour fonction : obtenir la valeur des paramètres à partir de l'URL en fonction du nom du paramètre
   * @param username
   *      Le nom d'utilisateur, doit absolument correspondre au nom du champ du formulaire
   * @param password
   *      Le mot de passe de l'utilisateur, qui devrait correspondre à l'élément de données du formulaire
   * @param model
   *      Un objet de domaine, utilisable pour stocker des valeurs de données
   * @return
   */
  @RequestMapping("/login) // @RequestMapping 注解可以用指定的URL路径访问本控制层
  public String login(@RequestParam("username") String username, @RequestParam("password") String password,
      Model model) {
    if (username.equals("admin") && password.equals("admin")) {
      model.addAttribute("username", username);
      return "ok.jsp";
    } else {
      model.addAttribute("username", username);
      return "no.jsp";
    }
  }
}

Enfin, il s'agit de ok.jsp et no.jsp :

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insérer un titre ici</title>
</head>
<body>
<font color="green">${username } </font>Bienvenue !
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insérer un titre ici</title>
</head>
<body>
  <font color="red">Désolé</font>,il n'y a pas d'utilisateur ${username } !
  <br />
  <a href="login.jsp" rel="external nofollow" >Essayez à nouveau !</a>
</body>
</html>

Test

Entrez l'URL suivante dans votre navigateur ://localhost:8080/SpringTest/login.jsp

Ensuite, vous pouvez tester le code. Personnellement, j'ai testé et cela fonctionne bien, je ne vais pas coller d'images ici.

Résumé

  1. Configurer le contrôleur principal DispatcherServlet dans web.xml
  2. Dans WEB-Créer springMVC dans le dossier INF-Fichier de configuration servlet.xml
  3. L'utilisation de @Controller, @RequestMapping, @RequestParam et de l'objet Model
  4. Le formulaire peut être soumis en mode POST ou en utilisant la méthode GET

Voici quelques astuces sur les annotations :

@Controller correspond à springMVC-dans servlet.xml

Merci de lire, j'espère que cela peut aider tout le monde, merci de votre soutien à ce site !

Vous pourriez aussi aimer