Maison >Java >javaDidacticiel >Explication détaillée de SpringMVC

Explication détaillée de SpringMVC

大家讲道理
大家讲道理original
2017-08-19 13:58:592027parcourir

Dans cette série de didacticiels, nous présenterons SpringMVC en détail. Je pense qu'après avoir terminé cette série de didacticiels, vous pourrez l'utiliser librement dans le développement réel.

1. Qu'est-ce que SpringMVC ?

Avant de présenter ce qu'est SpringMVC, jetons d'abord un coup d'œil à l'architecture de base de Spring. Comme le montre l'image ci-dessous :

 

On voit que dans l'architecture de base de Spring, le Spring Web MVC entouré en rouge est le protagoniste de cette série, SpringMVC, qui appartient à Spring Il est un composant de l'architecture de base et est un produit de suivi de SpringFrameWork. Il a été intégré à Spring Web Flow, donc lorsque nous l'intégrons à Spring plus tard, aucune autre configuration n'est presque nécessaire.

 SpringMVC est un framework MVC similaire à Struts2. Dans le développement réel, il reçoit la réponse à la requête du navigateur, traite les données, puis renvoie la page à afficher, mais il est beaucoup plus facile de démarrer que Struts2. Et en raison des problèmes de sécurité exposés par Struts2, SpringMVC est devenu le framework préféré de la plupart des entreprises.

Sans trop en dire, jetons un œil à la magie de SpringMVC directement à travers un exemple.

ps : Lien de téléchargement du code source de ce blog : http://pan.baidu.com/s/1c1OJi5E Mot de passe : 9hnc

2. Créez un projet Web et importez le package jar correspondant.

 

Ici nous avons ajouté tous les packages jar de Spring 3.2, ce qui prouve juste que SpringMVC mentionné ci-dessus fait partie de l'architecture Spring. Remarque : il doit être entouré d'un rouge. ovale spring-webmvc-3.2.0.RELEASE.jar

3. Créez un nouveau fichier de configuration global SpringMVC

Créez un nouveau fichier springmvc.xml dans le répertoire src. et ajoutez le code suivant :

 

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


</beans>

 

4. Configurez le filtre frontal dans le fichier 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_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SpringMVC_01</display-name>
  <!-- 配置前端控制器DispatcherServlet -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <!-- 对应上一步创建全局配置文件的文件名以及目录 -->
        <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>

 

 

5. Gestionnaire de processeur d'écriture

package com.ys.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 HelloController implements Controller{

	@Override
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		ModelAndView modelView = new ModelAndView();
		//类似于 request.setAttribute()
		modelView.addObject("name","张三");
		modelView.setViewName("/WEB-INF/view/index.jsp");
		return modelView;
	}

}

 

6. Configurez le gestionnaire, le mappeur de processeur, l'adaptateur de processeur et l'analyseur de tentative dans le fichier springmvc.xml

Ajoutez le code suivant au fichier springmvc.xml :

<!-- 配置Handler -->    
<bean name="/hello.do" class="com.ys.controller.HelloController" />
   <!-- 配置处理器映射器
   	将bean的name作为url进行查找,需要在配置Handler时指定bean name(就是url)-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
   <!-- 配置处理器适配器,所有适配器都得实现 HandlerAdapter接口 -->
   <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> 

<!-- 配置视图解析器 
   	进行jsp解析,默认使用jstl标签,classpath下得有jstl的包-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />

7. Dans le fichier /WEB-INF/ afficher le répertoire Créer un fichier index.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>Insert title here</title>
</head>
<body>
hello:${name}
</body>
</html>

 

8. dans le navigateur /localhost:8080/SpringMVC_01/hello.do

 

  En ​​suivant les étapes ci-dessus, je pense que vous avez construit une instance simple de SpringMVC, alors pourquoi as-tu besoin de le faire ? Et si tu l'écrivais comme ça ? Veuillez consulter le prochain blog pour le détail ! ! !

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:
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