Maison >Java >javaDidacticiel >Explication détaillée de SpringMVC
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.
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
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
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>
<?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>
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; } }
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" />
<%@ 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>
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!