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

Beispielcode zur Implementierung der Benutzeranmeldung mit SpringMVC

Ein kleines Login-Beispiel von SpringMVC

Vorbereitung

  1. Erstellen Sie ein Dynamic Web Project (ich benutze Eclipse)
  2. Fügen Sie die entsprechenden jar-Pakete hinzu und erstellen Sie den Build-Pfad
  3. Erstellen Sie springMVC-servlet.xml und vervollständigen Sie web.xml
  4. Code-Logik erstellen

Die Verzeichnisstruktur ist wie folgt

Für Anfänger ist es ein Glück, eine vollständige Verzeichnisstruktur eines Projekts zu haben.

Verzeichnisstruktur

Persönlicher Rat: Beachten Sie dabei springMVC-servlet.xml-Position sowie der Name des Quellcode-Pakets.

Code-Praxis

Zunächst der Hauptverwalter, web.xml:

<?xml version="1.0" encoding="UTF-8"-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>

Dann der kleine Verwalter springMVC-servlet.xml:

<?xml version="1.0" encoding="UTF-8"-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">
  <!-- Die einfachste Konfiguration, Spring selbst nach Explorationsmöglichkeiten suchen lassen-->
  <context:component-Scan base-package="controller"></Context:component-Scan>
</Beans>

Dann gibt es eine Anmeldeoberfläche, 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>Anmeldeoberfläche</title>
</head>
<body>
  <form action="login.spring" method="post">
    Benutzername:<input type="text" name="username"><br /> Passwort:<input
      type="password" name="password"><br /> <input type="submit"
      value="登陆">
  </form>
</body>
</html>

login.jsp对应的那个action就是要进行处理的后台页面,也就是我们的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 代表本Java类是controller控制层
public class Login {
  /**
   * @RequestParam 注解的作用是:根据参数名从URL中取得参数值
   * @param username
   *      Benutzername, muss unbedingt dem name des Formulars entsprechen
   * @param password
   *      Benutzerpasswort, sollte auch dem Datenfeld des Formulars entsprechen
   * @param model
   *      Ein Bereichsobjekt, das zur Speicherung von Datenwerten verwendet werden kann
   * @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";
    }
  }
}

Letztendlich sind es ok.jsp und 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>Einen Titel hier einfügen</title>
</head>
<body>
<font color="green">${username } </font>Willkommen!]}
</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>Einen Titel hier einfügen</title>
</head>
<body>
  <font color="red">Entschuldigung</font>Es gibt keinen Benutzer ${username }!</font>
  <br />
  <a href="login.jsp" rel="external nofollow" >Versuchen Sie es noch einmal! </a>
</body>
</html>

Testen

Geben Sie im Browser http: ein//localhost:8080/SpringTest/login.jsp

Dann können Sie den Code testen. Ich habe es persönlich getestet und es funktioniert gut, daher werde ich keine Bilder mehr hinzufügen.

Zusammenfassung

  1. Konfigurieren Sie den DispatcherServlet als Kernsteuerelement in web.xml
  2. Im WEB-Erstellen Sie im INF-Ordner springMVC-servlet.xml Konfigurationsdatei
  3. Verwendung von @Controller, @RequestMapping, @RequestParam und Model-Domänenobjekten
  4. Das Formular kann sowohl über POST- als auch über GET-Wege gesendet werden

Hier sind einige Tipps zur Verwendung von Annotierungen:

@Controller entspricht springMVC-in servlet.xml

Vielen Dank für das Lesen, ich hoffe, es hilft Ihnen, vielen Dank für Ihre Unterstützung dieser Website!

Gefällt mir