Рубрики
Без рубрики

Пример весеннего MVC hello world

– Весенний MVC привет мировой пример

Автор оригинала: mkyong.

  1. Gradle + Весна 4 MVC Привет Мир
  2. Maven + Весна 3 MVC Привет, Мир

В этом уроке мы покажем вам веб-приложение Spring MVC hello world.

Используемые технологии:

  1. Весна 2.5.6
  2. JDK 1.6
  3. Затмение 3.6
  4. Мавен 3

1. Базовый MVC

В веб-приложении Spring MVC оно состоит из 3 стандартных компонентов MVC (Модель, представления, контроллер):

  1. Модели – объекты домена, которые обрабатываются уровнем обслуживания (бизнес-логика) или постоянным уровнем (работа с базой данных).
  2. Представления – Отображение данных , обычно это страница JSP, написанная с помощью стандартной библиотеки тегов Java (JSTL).
  3. Контроллеры – сопоставление URL-адресов и взаимодействие с уровнем обслуживания для бизнес-обработки и возврата модели.

На следующих рисунках показано, как веб-приложение Spring MVC обрабатывает веб-запрос.

Рисунок 1.1 – Изображение скопировано с Ссылка на Spring MVC с незначительными изменениями.

Рисунок 1.2 – Изображение скопировано из этой книги: Весенние Рецепты

2. Структура каталогов

Стандартная структура каталогов проекта Maven.

3. Знаток

Объявляет зависимость spring-webmvc , Maven поможет вам автоматически управлять переходными зависимостями (загружайте другие зависимости, которые требуются для spring-webmvc , например spring-контекст или spring-beans ).

Если вы используете страницу JSP с технологией JSTL, также включите зависимость jstl .


	4.0.0
	com.mkyong.common
	spring2-mvc-xml-hello-world
	war
	1.0-SNAPSHOT
	Spring 2 MVC
	
	
		1.6
		2.5.6
		1.2
		2.5
		
	
	
	

		
		
			org.springframework
			spring-webmvc
			${spring.version}
		

		
		
			javax.servlet
			jstl
			${jstl.version}
		

		
		
			javax.servlet
			servlet-api
			${servletapi.version}
			provided
		
		
	

	
		
	  
		
			org.apache.maven.plugins
			maven-compiler-plugin
			3.3
			
				${jdk.version}
				${jdk.version}
			
		

                
		
			org.eclipse.jetty
			jetty-maven-plugin
			9.2.11.v20150529
			
				10
				
					/spring2
				
			
		

                
		
			org.apache.maven.plugins
			maven-eclipse-plugin
			2.9
			
				true
				true
				2.0
				spring2
			
		
			
	  
		
	


4. Пружинный Контроллер

Spring поставляется со многими контроллерами, обычно вам просто нужно расширить AbstractController и переопределить метод handleRequestInternal() .

package com.mkyong.common.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class HelloWorldController extends AbstractController{

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
		HttpServletResponse response) throws Exception {

		ModelAndView model = new ModelAndView("HelloWorldPage");
		model.addObject("msg", "hello world");
		
		return model;
	}
}

4.1 ModelAndView(“Страница helloworldpage”) – Чтобы определить, какое представление следует вернуть пользователю, в этом примере Страница HelloWorldPage.jsp будет возвращен.

4.2 модель.AddObject (“msg”, “привет, мир”) – Добавьте строку “привет, мир” в модель с именем “msg”, позже вы можете использовать EL ${msg} для отображения строки “привет, мир”.

5. Просмотр (страница JSP)

В этом случае “просмотр” – это страница JSP, вы можете отобразить значение “привет, мир”, которое хранится в модели “msg” с помощью языка выражений (EL) ${msg}.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>


	

Spring MVC Hello World Example

${msg}

6. Весенняя конфигурация XML

6.1 Объявлены контроллер пружины и решатель просмотра.



    
		
    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    


1. Контроллер – Объявлено имя компонента /welcome.htm и сопоставьте его с HelloWorldController . Это означает, что если URL-адрес с /welcome.htm запрашивается шаблон, контроллер HelloWorldController обработает запрос.

2. Решатель просмотра – Определите, как Spring будет выглядеть для шаблона представления. В этом случае контроллер HelloWorldController вернет представление с именем HelloWorldPage , решатель просмотра найдет файл со следующим механизмом: префикс + имя представления + суффикс , который является /WEB-INF/страницы/helloworldpage.jsp .

6.2 В web.xml , объявил DispatcherServlet сервлет, который будет выступать в качестве фронт-контроллера для обработки всего веб-запроса, который заканчивается расширением htm .



  Spring Web MVC Application
  
  
  	mvc-dispatcher
        
             org.springframework.web.servlet.DispatcherServlet
        
        1
  
  
  
 	mvc-dispatcher
        *.htm
  


В этом примере Spring будет искать этот файл – mvc-dispatcher-servlet.xml .

7. Демонстрация

7.1 Для запуска этого проекта с помощью Maven:

$ mvn jetty:run

7.2 Чтобы запустить этот проект в среде IDE Eclipse, создайте параметры проекта Eclipse с помощью следующей команды Maven:

$ mvn eclipse:eclipse

Импортируйте проект вручную и начните с плагина сервера.

URL: http://localhost:8080/spring2/welcome.htm

Как это работает?

  1. http://localhost:8080/spring2/welcome.htm запрашивается.
  2. URL-адрес заканчивается расширением “.htm”, поэтому он будет перенаправляться на “DispatcherServlet” и отправлять запросы на сопоставление BeanNameUrlHandlerMapping по умолчанию.
  3. Сопоставление BeanNameUrlHandlerMapping возвращает helloworldcontroller в DispatcherServlet.
  4. DispatcherServlet перенаправляет запрос на контроллер HelloWorldController.
  5. HelloWorldController обработает его и вернет объект ModelAndView с именем представления “Страница Hello World”.
  6. DispatcherServlet получил ModelAndView и вызвал ViewResolver для его обработки.
  7. ViewResolver возвращает /WEB-INF/страницы/Страницу Hello World.jsp обратно в DispatcherServlet.
  8. DispatcherServlet возвращает пользователю “Страницу Hello World.jsp”.

Скачать Исходный Код

Рекомендации

  1. Документация Spring MVC

Оригинал: “https://mkyong.com/spring-mvc/spring-mvc-hello-world-example/”