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

Грейфер–Пружина 4 MVC Пример Привет, Мир

– Gradle – Весна 4 MVC Привет, Пример мира

В этом уроке мы покажем вам Gradle + Spring 4 MVC, пример Hello World (представление JSP), конфигурацию XML.

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

  1. Ступень 2.0
  2. Пружина 4.1.6. ВЫПУСК
  3. Затмение 4.4
  4. JDK 1.7
  5. Обратный вход 1.1.3
  6. Начальная загрузка 3

1. Структура проекта

Загрузите исходный код проекта и просмотрите структуру папок проекта:

2. Сборка Gradle

2.1 Просмотрите файл build.gradle , это должно быть понятно само собой.

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
apply plugin: 'jetty'

// JDK 7
sourceCompatibility = 1.7
targetCompatibility = 1.7

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
	compile 'ch.qos.logback:logback-classic:1.1.3'
	compile 'org.springframework:spring-webmvc:4.1.6.RELEASE'
	compile 'javax.servlet:jstl:1.2'
}

// Embeded Jetty for testing
jettyRun{
	contextPath = "spring4"
	httpPort = 8080
}

jettyRunWar{
	contextPath = "spring4"
	httpPort = 8080
}

//For Eclipse IDE only
eclipse {

  wtp {
    component {
      
      //define context path, default to project folder name
      contextPath = 'spring4'
      
    }
    
  }
}

2.2 Чтобы этот проект поддерживал Eclipse IDE, проблемы gradle eclipse :

your-project$ gradle eclipse

3. Весенний MVC

Материал, связанный с Spring MVC.

3.1 Пружинный контроллер – @Контроллер и @Сопоставление запросов .

package com.mkyong.helloworld.web;

import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.mkyong.helloworld.service.HelloWorldService;

@Controller
public class WelcomeController {

	private final Logger logger = LoggerFactory.getLogger(WelcomeController.class);
	private final HelloWorldService helloWorldService;

	@Autowired
	public WelcomeController(HelloWorldService helloWorldService) {
		this.helloWorldService = helloWorldService;
	}

	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String index(Map model) {

		logger.debug("index() is executed!");

		model.put("title", helloWorldService.getTitle(""));
		model.put("msg", helloWorldService.getDesc());
		
		return "index";
	}

	@RequestMapping(value = "/hello/{name:.+}", method = RequestMethod.GET)
	public ModelAndView hello(@PathVariable("name") String name) {

		logger.debug("hello() is executed - $name {}", name);

		ModelAndView model = new ModelAndView();
		model.setViewName("index");
		
		model.addObject("title", helloWorldService.getTitle(name));
		model.addObject("msg", helloWorldService.getDesc());
		
		return model;

	}

}

3.2 Сервис для создания сообщения.

package com.mkyong.helloworld.service;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

@Service
public class HelloWorldService {

	private static final Logger logger = LoggerFactory.getLogger(HelloWorldService.class);

	public String getDesc() {

		logger.debug("getDesc() is executed!");

		return "Gradle + Spring MVC Hello World Example";

	}

	public String getTitle(String name) {

		logger.debug("getTitle() is executed! $name : {}", name);

		if(StringUtils.isEmpty(name)){
			return "Hello World";
		}else{
			return "Hello " + name;
		}
		
	}

}

3.3 Просмотры – JSP + JSTL + начальная загрузка. Простая страница JSP для отображения модели и включает статические ресурсы, такие как css и js.

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




Gradle + Spring MVC









${title}

Hello ${msg} Welcome Welcome!

Learn more

Heading

ABC

View details

Heading

ABC

View details

Heading

ABC

View details


© Mkyong.com 2015

3.4 Ведение журнала – Отправка всех журналов в консоль.




	
	  

		
		%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
		

	  
	

	
		
	
	
	
		
	
	
	
		
	


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

Файлы конфигурации Spring XML.

4.1 Контекст корневого источника.


 
	


4.2 Контекст веб-сайта Spring или сервлета.


 
	
 
	
		
		
		
	
 
	
	 
	
 

4.3 Классический web.xml



	Gradle + Spring MVC Hello World + XML
	Spring MVC web application

	
	
		hello-dispatcher
		
                        org.springframework.web.servlet.DispatcherServlet
                
		
			contextConfigLocation
			/WEB-INF/spring-mvc-config.xml
		
		1
	

	
		hello-dispatcher
		/
	

	
	
		
                  org.springframework.web.context.ContextLoaderListener
                
	

	
		contextConfigLocation
		/WEB-INF/spring-core-config.xml
	


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

5.1 Файл gradle.build определяется как встроенный контейнер причала. Проблемы gradle jettyRun для запуска проекта.

your-project$ gradle jettyRun

:compileJava
:processResources
:classes
:jettyRun
//...SLF4j logging

> Building 75% > :jettyRun > Running at http://localhost:8080/spring4

5.2. http://localhost:8080/spring4/

5.3. http://localhost:8080/spring4/hello/mkyong.com

6. ВОЕННЫЙ файл

Чтобы создать файл ВОЙНЫ для развертывания:

your-project$ gradle war

Файл WAR будет создан в папке project\build\libs .

 
${Project}\build\libs\spring-web-gradle-xml.war

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

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

  1. Ссылки на Spring Web MVC
  2. Градация – EclipseWtp
  3. Плагин Gradle –Eclipse
  4. Плагин Gradle – Войны
  5. Плагин Gradle–Причал

Оригинал: “https://mkyong.com/spring-mvc/gradle-spring-mvc-web-project-example/”