In dieser Tutorialreihe werden wir SpringMVC im Detail vorstellen. Ich glaube, dass Sie es nach Abschluss dieser Tutorialreihe in der tatsächlichen Entwicklung frei verwenden können.
Bevor wir vorstellen, was SpringMVC ist, werfen wir zunächst einen Blick auf die grundlegende Architektur von Spring. Wie unten gezeigt:
Wir können sehen, dass in der Grundarchitektur von Spring der rot eingekreiste Spring Web MVC der Protagonist dieser Serie ist, SpringMVC, der zu Spring gehört Es ist eine Komponente der Basisarchitektur und ein Nachfolgeprodukt von SpringFrameWork. Es wurde in Spring Web Flow integriert, sodass bei der späteren Integration in Spring fast keine weitere Konfiguration erforderlich ist.
SpringMVC ist ein MVC-Framework, das Struts2 ähnelt. In der tatsächlichen Entwicklung empfängt es die Anforderungsantwort des Browsers, verarbeitet die Daten und gibt die Seite dann zur Anzeige zurück. Der Einstieg ist jedoch viel einfacher als bei Struts2. Und aufgrund der durch Struts2 aufgedeckten Sicherheitsprobleme ist SpringMVC für die meisten Unternehmen zum bevorzugten Framework geworden.
Ohne viel zu sagen, werfen wir einen Blick auf die Magie von SpringMVC direkt anhand eines Beispiels.
ps: Download-Link für den Quellcode dieses Blogs: http://pan.baidu.com/s/1c1OJi5E Passwort: 9hnc
Hier haben wir alle JAR-Pakete von Spring 3.2 hinzugefügt, was nur beweist, dass SpringMVC Teil der Spring-Architektur ist. Hinweis: Es muss rot eingekreist sein oval spring-webmvc-3.2.0.RELEASE.jar
Erstellen Sie eine neue springmvc.xml-Datei im src-Verzeichnis und fügen Sie den folgenden Code hinzu:
<?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; } }
Fügen Sie den folgenden Code zur Datei springmvc.xml hinzu:
<!-- 配置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>
Ich glaube, Sie haben nach den obigen Schritten eine einfache Instanz von SpringMVC erstellt. Warum müssen Sie das also tun? Wie wäre es, wenn Sie es so schreiben? Eine Aufschlüsselung finden Sie im nächsten Blog! ! !
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von SpringMVC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!