Maison Java javaDidacticiel Processus détaillé de création de l'environnement SpringMVC

Processus détaillé de création de l'environnement SpringMVC

Sep 26, 2018 pm 02:45 PM
springmvc

Cet article vous présente le processus détaillé de création de l'environnement SpringMVC. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Spring MVC fournit un excellent framework Web basé sur le concept de conception MVC pour la couche de présentation. Il s'agit actuellement de l'un des frameworks MVC les plus courants.

Après Spring 3.0, il a complètement dépassé Struts2 et est appelé le meilleur framework MVC. Après avoir appris SpringMVC, vous ressentirez la cruauté que Struts2 vous apporte en un instant.

Spring MVC utilise un ensemble d'annotations MVC pour faire de POJO un contrôleur pour le traitement des requêtes. Il n'est pas nécessaire d'implémenter d'interface et le degré de couplage est faible.

Et Spring MVC offre un bon support pour le style de repos. .

Utilise une structure de composants enfichables faiblement couplés, qui est plus extensible et flexible que les autres frameworks MVC.

Créez un environnement Spring MVC

1) Créez un environnement MVC basé sur la méthode d'interface. Implémentez l'interface du contrôleur pour implémenter MVC

2) Sur la base de la méthode d'annotation, dans Spring 3.0 et les versions ultérieures, l'utilisation d'annotations simplifie grandement la configuration MVC traditionnelle, et la flexibilité et la maintenabilité sont grandement améliorées.

Pour implémenter SpringMVC, la première étape consiste à importer le package jar correspondant

Ensuite, c'est avec Struts2 également configurer un contrôleur principal dans Web.xml. Utilisé pour intercepter les requêtes.

<!-- 配置SpringMVC的请求的Servlet -->
  <servlet>
          <servlet-name>DispatcherServlet</servlet-name>
              <servlet-class>
                  org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
 </servlet>
  <servlet-mapping>
      <servlet-name>DispatcherServlet</servlet-name>
      <url-pattern>/</url-pattern>
  </servlet-mapping>
Copier après la connexion

Vous sentez-vous familier lorsque vous voyez cela, ce ne sont que quelques lignes de plus que Struts2. init-param est le fichier Spring à charger lors de l'initialisation. S'il y a plusieurs fichiers, vous pouvez utiliser des virgules pour les séparer

load-on-startup sera chargé immédiatement au démarrage. /Intercepter toutes les demandes. (En même temps, css et js seront également interceptés)

Ensuite, nous écrivons un Controller

package com.miya.spring.mvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/Miya")
public class MiyaHelloController {

    @RequestMapping("/hello")
    public String hello(){
        System.out.println("hello Miya");
        return "/hello";
    }
}
Copier après la connexion

Annotation @Controller Sans plus tarder, déclarons un contrôleur.

@RequestMapping est défini sur la classe pour déclarer un espace. Au-dessus de la méthode, déclarez un chemin de requête

et renvoyez une chaîne Où est le chemin auquel vous souhaitez accéder ?

<context:component-scan base-package="com.miya.spring.mvc"/>
    
    <!-- 视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/views"/>
        <!-- 后缀 -->
        <property name="suffix" value=".jsp"/>
    </bean>
Copier après la connexion

Dans notre configuration Spring XML, nous analysons d'abord toutes les annotations, puis configurons un analyseur de vue.

Quand nous renvoyons ce bonjour, c'est préfixe + résultat(bonjour) + suffixe pour accéder à notre vue.

Essayons maintenant de l'exécuter directement dans index.jsp.

<%
response.sendRedirect(request.getContextPath() + "/Miya/hello");    
%>
Copier après la connexion

request.getContextPath() obtient le chemin racine de votre projet Web, qui est webContent (webRoot dans MyEclipse). Ensuite, vous pouvez maintenant voir notre espace de noms Miya suivi du chemin de requête de méthode

hello qui y est défini. L'adresse que nous avons finalement visitée http://localhost:8080/SpringMvcDemo1/Miya/hello a accédé au fichier WEB-INF/views/hello.jsp. Et cette demande est toujours une demande de style repos.

Quand vous arriverez ici, vous constaterez que c'est beaucoup plus pratique que Struts2. Chaque demande de configuration dans Struts2 nécessite que vous configuriez de nombreuses actions dans Struts2, et parfois il y a des milliers de lignes dans le fichier stuts. , et vous êtes trop vieux pour en trouver un. La demande a pris une demi-heure.

Une autre façon de l'implémenter est d'implémenter l'interface Controller fournie par Spring et de réécrire les méthodes dans l'interface.

package com.miya.spring.mvc.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class MiyaWordController implements Controller{
    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("/hello");
        return modelAndView;
    }
}
Copier après la connexion

Vous pouvez définir la vue dans ModelAndView. Ce que j'ai défini, c'est bonjour. Ensuite, nous devons configurer un bean au printemps. XML. , name est le chemin de la requête, class est la classe du contrôleur spécifiée

<bean name="/Miya/word" class="com.miya.spring.mvc.controller.MiyaWordController"></bean>
Copier après la connexion

Remarque : nous avons intercepté toutes les requêtes du projet, ce qui entraînera des images, des styles. , et JS pour être bloqué Rapport 404, nous pouvons utiliser spring. Les fichiers de ressources externes sont introduits dans XML, et cette façon d'implémenter les interfaces entraîne un couplage trop élevé, et chaque fonction doit être écrite dans une classe, ce qui rend notre code volumineux. Il est donc recommandé d'utiliser des annotations actuellement. populaire. Et de nombreux frameworks prennent en charge les méthodes d'annotation, et la syntaxe est simple, ce qui rend le code concis.

<!-- 引入外部样式 -->
<mvc:resources location="/css/" mapping="/css/**"></mvc:resources>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comparaison et analyse des différences entre SpringBoot et SpringMVC Comparaison et analyse des différences entre SpringBoot et SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot et SpringMVC sont tous deux des frameworks couramment utilisés dans le développement Java, mais il existe des différences évidentes entre eux. Cet article explorera les fonctionnalités et les utilisations de ces deux frameworks et comparera leurs différences. Tout d’abord, découvrons SpringBoot. SpringBoot a été développé par l'équipe Pivotal pour simplifier la création et le déploiement d'applications basées sur le framework Spring. Il fournit un moyen rapide et léger de créer des fichiers exécutables autonomes.

Quelles sont les différences entre SpringBoot et SpringMVC ? Quelles sont les différences entre SpringBoot et SpringMVC ? Dec 29, 2023 am 10:46 AM

Quelle est la différence entre SpringBoot et SpringMVC ? SpringBoot et SpringMVC sont deux frameworks de développement Java très populaires pour la création d'applications Web. Bien qu’ils soient souvent utilisés séparément, les différences entre eux sont évidentes. Tout d’abord, SpringBoot peut être considéré comme une extension ou une version améliorée du framework Spring. Il est conçu pour simplifier le processus d'initialisation et de configuration des applications Spring afin d'aider les développeurs

Quelle est la différence entre SpringBoot et SpringMVC ? Quelle est la différence entre SpringBoot et SpringMVC ? Dec 29, 2023 pm 05:19 PM

SpringBoot et SpringMVC sont deux frameworks couramment utilisés dans le développement Java. Ils sont tous deux fournis par le framework Spring, mais ils présentent certaines différences dans leurs fonctions et leur utilisation. Cet article présentera respectivement les caractéristiques et les différences de SpringBoot et SpringMVC. 1. Caractéristiques de SpringBoot : Configuration simplifiée : SpringBoot simplifie considérablement le processus de configuration du projet grâce au principe de convention sur la configuration. Il peut configurer automatiquement les paramètres requis par le projet et les développeurs

Quelles sont les différences entre springboot et springmvc Quelles sont les différences entre springboot et springmvc Jun 07, 2023 am 10:10 AM

Les différences entre springboot et springmvc sont les suivantes : 1. Différentes significations ; 2. Différentes configurations ; 3. Différentes dépendances ; 4. Différentes périodes de développement 6. Différentes façons d'implémenter la fonction d'empaquetage JAR ; Fonction fournie ; 8. Différentes fonctions ; 9. Différents supports de communauté et de documentation ;

Quelles sont les différences entre spring et springmvc Quelles sont les différences entre spring et springmvc Dec 29, 2023 pm 05:02 PM

La différence entre spring et springmvc : 1. Positionnement et fonctions ; 2. Fonctions de base 3. Champs d'application ; Introduction détaillée : 1. Positionnement et fonctions. Spring est un cadre de développement d'applications complet qui fournit l'injection de dépendances, la programmation orientée aspect, la gestion des transactions et d'autres fonctions. Il est conçu pour simplifier le développement d'applications au niveau de l'entreprise, et Spring MVC est le meilleur. Framework Spring. Un module qu'il contient est utilisé pour le développement d'applications Web et implémente le modèle MVC 2. Fonctions de base, etc.

Comment utiliser l'intercepteur SpringMVC de Java Comment utiliser l'intercepteur SpringMVC de Java May 13, 2023 pm 02:55 PM

Le rôle de l'intercepteur L'intercepteur de SpringMVC est similaire au filtre dans le développement de servlets, qui est utilisé pour pré-traiter et post-traiter le processeur. Les intercepteurs sont connectés en une chaîne dans un certain ordre, et cette chaîne est appelée chaîne d'intercepteurs (InterceptorChain). Lors de l'accès à une méthode ou à un champ intercepté, les intercepteurs de la chaîne d'intercepteurs seront appelés dans l'ordre dans lequel ils ont été précédemment définis. Les intercepteurs sont également la mise en œuvre spécifique des idées AOP. La différence entre les intercepteurs et les filtres : Filtre (Filter) Le domaine d'utilisation de l'intercepteur (Intercepter) fait partie de la spécification du servlet et peut être utilisé par n'importe quel projet JavaWeb.

Utilisation de SpringMVC pour le traitement des services Web dans le développement d'API Java Utilisation de SpringMVC pour le traitement des services Web dans le développement d'API Java Jun 17, 2023 pm 11:38 PM

Avec le développement d’Internet, les services Web deviennent de plus en plus courants. En tant qu'interface de programmation d'applications, JavaAPI lance constamment de nouvelles versions pour s'adapter aux différents scénarios d'application. En tant que framework open source populaire, SpringMVC peut nous aider à créer facilement des applications Web. Cet article explique en détail comment utiliser SpringMVC pour le traitement des services Web dans le développement JavaAPI, y compris la configuration de SpringMVC, l'écriture de contrôleurs et l'utilisation de

Comparez les similitudes et les différences entre SpringBoot et SpringMVC Comparez les similitudes et les différences entre SpringBoot et SpringMVC Dec 29, 2023 am 08:30 AM

Analyser les similitudes et les différences entre SpringBoot et SpringMVC SpringBoot et SpringMVC sont des frameworks de développement très importants dans le domaine Java. Bien qu'ils fassent tous deux partie du framework Spring, il existe des différences évidentes en termes d'utilisation et de fonctionnalité. Cet article comparera SpringBoot et SpringMVC et analysera les similitudes et les différences entre eux. Tout d’abord, découvrons SpringBoot. PrintempsBo

See all articles