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

Пример файла MVC Ant – Spring и WAR

– Пример файла MVC и WAR Ant – Spring

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

В этом уроке мы покажем вам, как использовать сценарий сборки Ant для управления проектом веб-приложения Spring MVC, создания файла WAR и развертывания в Tomcat.

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

  1. Затмение 4.2
  2. JDK 1.7
  3. Муравей 1.9.4
  4. Муравей-плющ 2.4
  5. обратный вход 1.1.2
  6. jstl 1.2
  7. Пружина 4.1.3.ВЫПУСК
  8. Кот 7

1. Каталог проектов

Просмотрите окончательную структуру проекта:

  1. ресурсы – Поместите файлы xml и свойств, которые требуются для исходного кода Java. Например, log4j.свойства, logback.xml , бд.свойства и т.д.
  2. src – Поместите исходный код Java.
  3. цель – Окончательный файл ВОЙНЫ будет храниться здесь.
  4. война – За материалы, связанные с Интернетом.
  5. war/WEB-INF – Стандартная структура каталогов WEB-INF для файла WAR.
  6. война/ресурсы – Для css и js файлов

2. Зависимости проекта

Мы используем Ivy для загрузки зависимостей проекта:


	
	
	
	
        
        
        
    
    
	
		
		
		
		
		
		
		
		
	

3. Сценарий сборки Ant

Сценарий Ant для управления этим весенним проектом MVC, прочитайте команды для пояснения.


	
		Create a Spring MVC (WAR) with Ant build script
	

	
	
	
	
	
	
	
	
	
	

	
	
		
		

		
		
		

	

	
	
		
		
	
	

	
	
		
		
			
		
	

	
	
		
			
				
				
			
		
	

	
	

		
		

		
			
			
			
			
		
	

	
	
		
		
		
	

	
	
		
		
	

	


4. Файлы Spring MVC, JSP и XML

Вот полные файлы Java, XML и JSP, на случай, если вам интересно.

4.1 Класс контроллера Spring MVC.

package com.mkyong.controller;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class WelcomeController {
 
	private static final String VIEW_INDEX = "index";
	private final static Logger logger = LoggerFactory.getLogger(WelcomeController.class);
 
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String welcome(ModelMap model) {
 
		model.addAttribute("message", "");
		logger.debug("[welcome]");
 
		return VIEW_INDEX;
 
	}
 
	@RequestMapping(value = "/{name}", method = RequestMethod.GET)
	public String welcomeName(@PathVariable String name, ModelMap model) {
 
		model.addAttribute("message", "Welcome " + name);
		logger.debug("[welcomeName] name : {}", name);
		return VIEW_INDEX;
 
	}
 
}

4.2 Простой файл конфигурации обратного входа для ведения журнала.



 
	
	  
 
		
			ANT + LogBack : %-5level %logger{36} - %msg%n
		
 
	  
	
 
	
	  
	
 

4.3 Файл JSP и CSS.

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







Ant + Spring MVC Web Project Example

Message : ${message}

h1 {
	font-size: 50px;
}

p {
	font-size: 20px;
	border: 5px solid red;
	padding:10px;
}

4.4 Конфигурация пружины.


        
	

	
		
			/WEB-INF/pages/
		
		
			.jsp
		
	

	
	
	
	
	

4.5 Стандарт web.xml , интегрируется с пружинным контейнером.


 
	Ant + Spring MVC Web Application
 
	
		mvc-dispatcher
		org.springframework.web.servlet.DispatcherServlet
		1
	
 
	
		mvc-dispatcher
		/
	
 
	
		contextConfigLocation
		/WEB-INF/mvc-dispatcher-servlet.xml
	
 
	
		org.springframework.web.context.ContextLoaderListener
	

5. Запуск и тестирование

5.1 По умолчанию он будет запускать задачу пакет .

$ pwd
/Users/mkyong/Documents/workspace/AntSpringMVC

$ ant

Buildfile: /Users/mkyong/Documents/workspace/AntSpringMVC/build.xml

clean:
   [delete] Deleting directory /Users/mkyong/Documents/workspace/AntSpringMVC/war/WEB-INF/classes
   [delete] Deleting directory /Users/mkyong/Documents/workspace/AntSpringMVC/target

init:
    [mkdir] Created dir: /Users/mkyong/Documents/workspace/AntSpringMVC/target
    [mkdir] Created dir: /Users/mkyong/Documents/workspace/AntSpringMVC/war/WEB-INF/classes

resolve:
     [echo] Getting dependencies...
[ivy:retrieve] :: Apache Ivy 2.4.0-rc1 - 20140315220245 :: http://ant.apache.org/ivy/ ::
[ivy:retrieve] :: loading settings :: url = jar:file:/Users/mkyong/.ant/lib/ivy.jar!/org/apache/ivy/core/settings/ivysettings.xml
[ivy:retrieve] :: resolving dependencies :: org.apache#WebProject;working@mkyong-mac
[ivy:retrieve] 	confs: [compile, runtime, test]
[ivy:retrieve] 	found org.slf4j#slf4j-api;1.7.6 in public
[ivy:retrieve] 	found jstl#jstl;1.2 in public
[ivy:retrieve] 	found ch.qos.logback#logback-classic;1.1.2 in public
[ivy:retrieve] 	found ch.qos.logback#logback-core;1.1.2 in public
[ivy:retrieve] 	found org.springframework#spring-core;4.1.3.RELEASE in public
[ivy:retrieve] 	found commons-logging#commons-logging;1.2 in public
[ivy:retrieve] 	found org.springframework#spring-beans;4.1.3.RELEASE in public
[ivy:retrieve] 	found org.springframework#spring-context;4.1.3.RELEASE in public
[ivy:retrieve] 	found org.springframework#spring-aop;4.1.3.RELEASE in public
[ivy:retrieve] 	found aopalliance#aopalliance;1.0 in public
[ivy:retrieve] 	found org.springframework#spring-expression;4.1.3.RELEASE in public
[ivy:retrieve] 	found org.springframework#spring-web;4.1.3.RELEASE in public
[ivy:retrieve] 	found org.springframework#spring-webmvc;4.1.3.RELEASE in public
[ivy:retrieve] :: resolution report :: resolve 974ms :: artifacts dl 19ms
	---------------------------------------------------------------------
	|                  |            modules            ||   artifacts   |
	|       conf       | number| search|dwnlded|evicted|| number|dwnlded|
	---------------------------------------------------------------------
	|      compile     |   13  |   0   |   0   |   0   ||   13  |   0   |
	|      runtime     |   13  |   0   |   0   |   0   ||   13  |   0   |
	|       test       |   13  |   0   |   0   |   0   ||   13  |   0   |
	---------------------------------------------------------------------
[ivy:retrieve] :: retrieving :: org.apache#WebProject
[ivy:retrieve] 	confs: [compile, runtime, test]
[ivy:retrieve] 	2 artifacts copied, 11 already retrieved (682kB/31ms)

compile:
    [javac] Compiling 1 source file to /Users/mkyong/Documents/workspace/AntSpringMVC/war/WEB-INF/classes

copy-resources:
     [copy] Copying 1 file to /Users/mkyong/Documents/workspace/AntSpringMVC/war/WEB-INF/classes

package:
[ivy:retrieve] :: retrieving :: org.apache#WebProject
[ivy:retrieve] 	confs: [runtime]
[ivy:retrieve] 	0 artifacts copied, 13 already retrieved (0kB/11ms)
      [war] Building war: /Users/mkyong/Documents/workspace/AntSpringMVC/target/helloproject.war

main:

BUILD SUCCESSFUL
Total time: 3 seconds

Приведенный выше результат может отличаться в зависимости от вашей среды разработки. Если сборка пройдет успешно, окончательный файл WAR будет создан в папке target .

5.2 Просмотрите содержимое созданного файла WAR – helloproject.war

mkyong-mac:AntSpringMVC mkyong$ tar -tvf target/helloproject.war 
drwxrwxrwx  0 0      0           0 Dec 26 16:55 META-INF/
-rwxrwxrwx  0 0      0         103 Dec 26 16:55 META-INF/MANIFEST.MF
drwxrwxrwx  0 0      0           0 Dec 26 16:55 WEB-INF/
-rwxrwxrwx  0 0      0         897 Dec 24 15:05 WEB-INF/web.xml
drwxrwxrwx  0 0      0           0 Dec 26 16:55 WEB-INF/classes/
drwxrwxrwx  0 0      0           0 Dec 26 16:55 WEB-INF/classes/com/
drwxrwxrwx  0 0      0           0 Dec 26 16:55 WEB-INF/classes/com/mkyong/
drwxrwxrwx  0 0      0           0 Dec 26 16:55 WEB-INF/classes/com/mkyong/controller/
drwxrwxrwx  0 0      0           0 Dec 24 17:05 WEB-INF/lib/
drwxrwxrwx  0 0      0           0 Dec 24 15:04 WEB-INF/pages/
-rwxrwxrwx  0 0      0        1903 Dec 26 16:55 WEB-INF/classes/com/mkyong/controller/WelcomeController.class
-rwxrwxrwx  0 0      0         372 Dec 26 16:55 WEB-INF/classes/logback.xml
-rwxrwxrwx  0 0      0        1030 Dec 25 13:41 WEB-INF/mvc-dispatcher-servlet.xml
-rwxrwxrwx  0 0      0         311 Dec 25 13:44 WEB-INF/pages/index.jsp
-rwxrwxrwx  0 0      0        4467 Aug  1  2005 WEB-INF/lib/aopalliance-1.0.jar
-rwxrwxrwx  0 0      0       61829 Jul  6 02:12 WEB-INF/lib/commons-logging-1.2.jar
-rwxrwxrwx  0 0      0      414240 Jul 22  2006 WEB-INF/lib/jstl-1.2.jar
-rwxrwxrwx  0 0      0      270750 Apr  3  2014 WEB-INF/lib/logback-classic-1.1.2.jar
-rwxrwxrwx  0 0      0      427729 Apr  3  2014 WEB-INF/lib/logback-core-1.1.2.jar
-rwxrwxrwx  0 0      0       28688 Feb  6  2014 WEB-INF/lib/slf4j-api-1.7.6.jar
-rwxrwxrwx  0 0      0      359018 Dec  9 18:48 WEB-INF/lib/spring-aop-4.1.3.RELEASE.jar
-rwxrwxrwx  0 0      0      707820 Dec  9 18:48 WEB-INF/lib/spring-beans-4.1.3.RELEASE.jar
-rwxrwxrwx  0 0      0     1026840 Dec  9 18:48 WEB-INF/lib/spring-context-4.1.3.RELEASE.jar
-rwxrwxrwx  0 0      0     1006709 Dec  9 18:48 WEB-INF/lib/spring-core-4.1.3.RELEASE.jar
-rwxrwxrwx  0 0      0      259164 Dec  9 18:48 WEB-INF/lib/spring-expression-4.1.3.RELEASE.jar
-rwxrwxrwx  0 0      0      713531 Dec  9 18:48 WEB-INF/lib/spring-web-4.1.3.RELEASE.jar
-rwxrwxrwx  0 0      0      781676 Dec  9 18:48 WEB-INF/lib/spring-webmvc-4.1.3.RELEASE.jar
drwxrwxrwx  0 0      0           0 Dec 26 16:48 resources/
drwxrwxrwx  0 0      0           0 Dec 25 13:30 resources/theme1/
drwxrwxrwx  0 0      0           0 Dec 25 13:27 resources/theme1/css/
-rwxrwxrwx  0 0      0          88 Dec 25 13:45 resources/theme1/css/core.css

Все файлы размещены в свойстве, для его развертывания просто скопируйте здравствуйте, project.war и поместите его в папку $tomcat/webapps .

5.3 http://localhost:8080/helloproject/

5.4. http://localhost:8080/helloproject/mkyong

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

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

  1. Образец извлечения муравьиного плюща
  2. Архивный файл муравьиного типа
  3. Задача муравьиной ВОЙНЫ
  4. Задача копирования муравьев
  5. Стековый поток: Управление дорожками классов плюща
  6. W3schools CSS-граница
  7. Ant – Как Создать Файл Jar с внешними библиотеками
  8. Интеграция IvyDE WTP
  9. Maven: Как создать веб-проект
  10. Весенний ввод-вывод: Весенний MVC Шаг за шагом

Оригинал: “https://mkyong.com/ant/ant-spring-mvc-and-war-file-example/”