Heim  >  Artikel  >  Java  >  Detaillierte Erklärung von SpringMVC

Detaillierte Erklärung von SpringMVC

大家讲道理
大家讲道理Original
2017-08-19 13:58:591965Durchsuche

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.

1. Was ist SpringMVC?

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

2. Erstellen Sie ein Webprojekt und importieren Sie das entsprechende JAR-Paket.

 

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

3. Erstellen Sie eine neue globale SpringMVC-Konfigurationsdatei

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>

 

4. Konfigurieren Sie den Front-End-Filter in der web.xml-Datei

<?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. Schreiben Sie den Prozessor-Handler

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. Konfigurieren Sie Handler, Prozessor-Mapper, Prozessoradapter und Versuchsparser in der Datei springmvc.xml

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" />

7. Im /WEB-INF/ Verzeichnis anzeigen Index.jsp-Datei erstellen

 

<%@ 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. im Browser /localhost:8080/SpringMVC_01/hello.do

 

  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!

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