Heim Java javaLernprogramm Wie funktioniert springmvc?

Wie funktioniert springmvc?

Jul 04, 2020 pm 02:05 PM
springmvc 工作原理

Das Funktionsprinzip von springmvc ist: 1. Der Browser sendet eine Anfrage an DispatcherServlet. 2. Suchen Sie den entsprechenden Controller entsprechend der Anfrage. 3. Suchen Sie das entsprechende Ansichtsobjekt 5. Zurück zum Browser.

Wie funktioniert springmvc?

SpringMVC-Arbeitsprinzip:

(empfohlenes Lernen: Java-Eingabeprogramm)

1. Die vom Browser gesendete angegebene Anfrage wird an DispatcherServlet übergeben, das andere Module mit der Durchführung der tatsächlichen Geschäfts- und Datenverarbeitung beauftragt.

2 DispatcherServlet findet das HandleMapping und findet den entsprechenden Controller entsprechend der Anfrage des Browsers , und senden Die Anfrage wird an den Ziel-Controller übergeben

3 Nachdem der Ziel-Controller das Geschäft abgeschlossen hat, gibt er ein ModelAndView zurück

4 Ansichtsobjektansicht durch den ViewResolver-Ansichtsresolver;

4 Das Ansichtsobjektansicht ist für das Rendern und Zurückgeben an den Browser verantwortlich.

(Empfohlenes Video-Tutorial: Java-Video-Tutorial)

Schauen wir uns das Codebeispiel an:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
    <display-name>springmvc</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <!-- spring入口 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 项目启动时,就加载并实例化 -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- 拦截所有不包括jsp的请求 -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

</web-app>
Nach dem Login kopieren

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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

        <!-- springmvc注解驱动 -->
        <mvc:annotation-driven></mvc:annotation-driven>

        <!-- 开启注解扫描 -->
        <context:component-scan base-package="cn.itcast.controller"></context:component-scan>

        <!-- 配置试图解析器
            prefix:指定试图所在目录
            suffix:指定视图的后缀名
            例如:prifex="/WEB-INF/jsp/",suffix=".jsp",当viewname="test"时,跳转到/WEB-INF/jsp/test.jsp页面
         -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
</beans>
Nach dem Login kopieren

UserControll-Klasse

@Controller
@RequestMapping("user")
public class UserController {
    @RequestMapping("findAllUsers")
    public ModelAndView findAllUsers() {
        ModelAndView mv = new ModelAndView();
        ArrayList<User> users = new ArrayList<User>();
        for (int i = 0; i < 5; i++) {
            User user = new User();
            user.setUsername("zs" + i);
            user.setAge(20 + i);
            user.setIncome(16000.0+i*100);
            user.setIsMarry(false);
            user.setHobby(new String[] { "篮球"+i, "足球"+i });
            users.add(user);
        }
        mv.addObject("users", users);
        mv.setViewName("users");
        return mv;
    }
}
Nach dem Login kopieren

Entitätsklasse

public class User implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    private String username;
    private Integer age;
    private Boolean isMarry;
    private Double income;
    private String[] hobby;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Boolean getIsMarry() {
        return isMarry;
    }

    public void setIsMarry(Boolean isMarry) {
        this.isMarry = isMarry;
    }

    public Double getIncome() {
        return income;
    }

    public void setIncome(Double income) {
        this.income = income;
    }

    public String[] getHobby() {
        return hobby;
    }

    public void setHobby(String[] hobby) {
        this.hobby = hobby;
    }

    @Override
    public String toString() {
        return "User [username=" + username + ", age=" + age + ", isMarry=" + isMarry + ", income=" + income
                + ", hobby=" + Arrays.toString(hobby) + "]";
    }

}
Nach dem Login kopieren

JSP-Seite

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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>Insert title here</title>
<link rel="stylesheet" type="text/css" href="/css/user.css" />
</head>
<body>
    <table id="customers">
        <tr>
            <th>用户名</th>
            <th>年龄</th>
            <th>收入</th>
            <th>婚姻状态</th>
            <th>兴趣爱好</th>
        </tr>
        <!-- 遍历后台传递的集合数据 -->
        <c:forEach items="${users}" var="user">
            <tr>
                <td>${user.username}</td>
                <td>${user.age}</td>
                <td>${user.income}</td>
                <!-- 判婚姻状态 -->
                <td><c:choose>
                        <c:when test="${user.isMarry}">已婚</c:when>
                        <c:otherwise>未婚</c:otherwise>
                    </c:choose>
                </td>

                <td>
                <!-- 再次遍历用户爱好 -->
                <c:forEach items="${user.hobby}" var="hobby" varStatus="status">
                    ${hobby} 
                    <!-- 如果不是最后一个爱好,则加上逗号,否则就不加 -->
                    <c:if test="${!status.last}">,</c:if>
                </c:forEach>
                </td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie funktioniert springmvc?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist eine SOL-Münze? Wie funktioniert die SOL-Münze? Was ist eine SOL-Münze? Wie funktioniert die SOL-Münze? Mar 16, 2024 am 10:37 AM

Solana Blockchain und SOL Token Solana ist eine Blockchain-Plattform, die sich auf die Bereitstellung hoher Leistung, Sicherheit und Skalierbarkeit für dezentrale Anwendungen (dApps) konzentriert. Als nativer Vermögenswert der Solana-Blockchain werden SOL-Token hauptsächlich zur Zahlung von Transaktionsgebühren, zur Verpfändung und zur Teilnahme an Governance-Entscheidungen verwendet. Die einzigartigen Merkmale von Solana sind die schnellen Transaktionsbestätigungszeiten und der hohe Durchsatz, was es zu einer bevorzugten Wahl bei Entwicklern und Benutzern macht. Durch SOL-Tokens können Nutzer an verschiedenen Aktivitäten des Solana-Ökosystems teilnehmen und gemeinsam die Entwicklung und den Fortschritt der Plattform vorantreiben. So funktioniert Solana Solana nutzt einen innovativen Konsensmechanismus namens Proof of History (PoH), der in der Lage ist, Tausende von Transaktionen effizient zu verarbeiten.

Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA basiert auf der JPA-Architektur und interagiert mit der Datenbank über Mapping, ORM und Transaktionsmanagement. Sein Repository bietet CRUD-Operationen und abgeleitete Abfragen vereinfachen den Datenbankzugriff. Darüber hinaus nutzt es Lazy Loading, um Daten nur bei Bedarf abzurufen und so die Leistung zu verbessern.

Was ist eine VET-Münze? Wie funktioniert die VET-Münze? Was ist eine VET-Münze? Wie funktioniert die VET-Münze? Mar 16, 2024 am 11:40 AM

VET Coin: Blockchain-basiertes IoT-Ökosystem VeChainThor (VET) ist eine auf Blockchain-Technologie basierende Plattform, die darauf abzielt, den Bereich Internet der Dinge (IoT) zu verbessern, indem sie die Glaubwürdigkeit von Daten gewährleistet und einen sicheren Transfer von Wertschöpfungsketten und Geschäftsprozessen ermöglicht . VET Coin ist der native Token der VeChainThor-Blockchain und hat die folgenden Funktionen: Transaktionsgebühren bezahlen: VET Coins werden zur Zahlung von Transaktionsgebühren im VeChainThor-Netzwerk verwendet, einschließlich Datenspeicherung, Ausführung intelligenter Verträge und Identitätsprüfung. Governance: VET-Token-Inhaber können an der Governance von VeChainThor teilnehmen, einschließlich der Abstimmung über Plattform-Upgrades und Vorschläge. Anreize: Berufsbildungsmünzen werden verwendet, um Prüfern im Netzwerk Anreize zu bieten, die sicherzustellen

Was ist eine SHIB-Münze? Wie funktioniert die SHIB-Münze? Was ist eine SHIB-Münze? Wie funktioniert die SHIB-Münze? Mar 17, 2024 am 08:49 AM

ShibaInu Coin: Von Hunden inspirierte Kryptowährung ShibaInu Coin (SHIB) ist eine dezentrale Kryptowährung, die vom legendären Shiba Inu-Emoji inspiriert ist. Die Kryptowährung wurde im August 2020 eingeführt und soll eine Alternative zu Dogecoin im Ethereum-Netzwerk sein. Funktionsprinzip SHIB-Coin ist eine digitale Währung, die auf der Ethereum-Blockchain basiert und dem ERC-20-Token-Standard entspricht. Es nutzt einen dezentralen Konsensmechanismus, Proof of Stake (PoS), der es Inhabern ermöglicht, ihre SHIB-Tokens einzusetzen, um Transaktionen zu verifizieren und dafür Belohnungen zu verdienen. Hauptmerkmale Riesiges Angebot: Der anfängliche Bestand an SHIB-Münzen beträgt 1.000 Billionen Münzen und ist damit eine der größten im Umlauf befindlichen Kryptowährungen. Niedrige Preise

Was ist eine Polygonmünze? Wie funktioniert die Polygon-Münze? Was ist eine Polygonmünze? Wie funktioniert die Polygon-Münze? Mar 16, 2024 am 09:22 AM

Polygon: Eine multifunktionale Blockchain, die das Ethereum-Ökosystem aufbaut. Polygon ist eine multifunktionale Blockchain-Plattform auf Basis von Ethereum, früher bekannt als MaticNetwork. Sein Ziel ist es, die Skalierbarkeits-, hohen Gebühren- und Komplexitätsprobleme im Ethereum-Netzwerk zu lösen. Polygon bietet Entwicklern und Benutzern durch die Bereitstellung von Skalierbarkeitslösungen ein schnelleres, günstigeres und einfacheres Blockchain-Erlebnis. So funktioniert Polygon: Sidechain-Netzwerk: Polygon erstellt ein Netzwerk aus mehreren Sidechains. Diese Sidechains laufen parallel zur Ethereum-Hauptkette und können große Transaktionsvolumina verarbeiten, wodurch der gesamte Netzwerkdurchsatz erhöht wird. Plasma-Framework: Polygon nutzt das Plasma-Framework, das

Was ist eine Algorand-Münze? Wie funktioniert die Algorand-Münze? Was ist eine Algorand-Münze? Wie funktioniert die Algorand-Münze? Mar 17, 2024 am 08:30 AM

Algorand: Eine Blockchain-Plattform, die auf dem rein byzantinischen Konsensprotokoll basiert. Algorand ist eine Blockchain-Plattform, die auf dem rein byzantinischen Konsensprotokoll basiert und darauf abzielt, effiziente, sichere und skalierbare Blockchain-Lösungen bereitzustellen. Die Plattform wurde 2017 von MIT-Professor Silvio Micali gegründet. Funktionsprinzip Der Kern von Algorand liegt in seinem einzigartigen rein byzantinischen Konsensprotokoll, dem Algorand-Konsens. Dieses Protokoll ermöglicht es Knoten, in einer vertrauenswürdigen Umgebung einen Konsens zu erzielen, selbst wenn sich bösartige Knoten im Netzwerk befinden. Der Algorand-Konsens erreicht dieses Ziel durch eine Reihe von Schritten. Schlüsselgenerierung: Jeder Knoten generiert ein Paar öffentlicher und privater Schlüssel. Vorschlagsphase: Ein zufällig ausgewählter Knoten schlägt eine neue Zone vor

Was ist eine AR-Münze? Wie funktioniert die AR-Münze? Was ist eine AR-Münze? Wie funktioniert die AR-Münze? Mar 15, 2024 pm 07:25 PM

AR Coin: Digitale Währung basierend auf Augmented-Reality-Technologie AR Coin ist eine digitale Währung, die Augmented-Reality-Technologie nutzt, um Benutzern die Erfahrung der Interaktion mit digitalen Inhalten zu bieten und es ihnen zu ermöglichen, immersive Erlebnisse in der realen Welt zu schaffen. Wie es funktioniert AR Coin basiert auf den folgenden Schlüsselkonzepten: Augmented Reality (AR): AR-Technologie überlagert digitale Informationen mit der realen Welt und ermöglicht Benutzern die Interaktion mit virtuellen Objekten. Blockchain: Blockchain ist eine Distributed-Ledger-Technologie zur Aufzeichnung und Überprüfung von Transaktionen. Es bietet Sicherheit und Transparenz für AR-Münzen. Smart Contracts: Smart Contracts sind in der Blockchain gespeicherte Codes, die zur Automatisierung bestimmter Vorgänge verwendet werden. Sie spielen eine entscheidende Rolle bei der Erstellung und Verwaltung von AR-Münzen. Der Arbeitsablauf von AR-Münzen ist wie folgt: Erstellen Sie einen AR-Körper

Was ist Beam Coin? Wie funktioniert Beam Coin? Was ist Beam Coin? Wie funktioniert Beam Coin? Mar 15, 2024 pm 09:50 PM

Beam Coin: Datenschutzorientierte Kryptowährung Beam Coin ist eine datenschutzorientierte Kryptowährung, die für sichere und anonyme Transaktionen entwickelt wurde. Es nutzt das MimbleWimble-Protokoll, eine Blockchain-Technologie, die die Privatsphäre der Benutzer verbessert, indem sie Transaktionen zusammenführt und die Adressen von Absendern und Empfängern verbirgt. Das Designkonzept von Beam Coin besteht darin, Benutzern eine digitale Währungsoption bereitzustellen, die die Vertraulichkeit von Transaktionsinformationen gewährleistet. Durch die Übernahme dieses Protokolls können Benutzer Transaktionen mit größerem Vertrauen durchführen, ohne befürchten zu müssen, dass ihre persönlichen Daten verloren gehen. Durch diese Funktion zum Schutz der Privatsphäre verbessert das MimbleWimble-Protokoll die Privatsphäre durch: Zusammenführen von Transaktionen: Es kombiniert mehrere Transaktionen

See all articles