7 февр. 2013 г.

Создание maven web проекта

Описывать буду, как создать WEB проект в Eclipse, с установленным m2e. В качестве контейнера будет служить нам tomcat.
Статья написана для тех кто впервые работает с мавеном, кому лень гуглить, и хочет быстро создать простой web проект с помощью maven'а...
Создаем проект с типом maven-archetype-webapp
Соответственно в "Group Id" и "Artifact Id" прописываем свои данные, в моему случае "Artifact Id" = "test_app".
Все, базовый проект мы создали, в принципе, уже можно запустить:
  • открыть консоль и в папке с проектом набрать "mvn tomcat:run"
  • правой кнопкой на проекте, "Run As->Maven Build...", в поле "Goals" написать "tomcat:run"
  • можно поставить удобный плагин Terminal plug-in for Eclipse, и в нем, аналогично консоле написать: "mvn tomcat:run"

открываем браузер и пишем адрес: http://localhost:8080/test_app/, естественно - вместо test_app нужно писать название вашего "Artifact Id". Увидим стандартный "Hello World!". Нас не устраивает то что:

  • Проект JavaSE1.5
  • нет папки для сервлетов/бинов
  • нет JSTL (куда ж без него)

Исправляем данные "недочеты" по порядку.

Первым делом - переведем проект в JavaSE1.6, для этого в pom.xml нужно прописать в блок build:

    org.apache.maven.plugins
    maven-compiler-plugin
    2.0.2
    
        1.6
        1.6
    



Теперь если на проекте сделать "Maven->Update Project Configuration" то наш проект будет JavaSE1.6 версии.

С папкой для сервлетов или бинов, дело проще (не знаю почему её автоматом не создает), создаем в ручную, правой кнопкой на проекте, "New->Source Folder" и по феншую - прописываем путь "src/main/java".


Теперь уже можно создать простой Bean:

package ua.lg.moon;

public class TestBean {
 private static int requestCount = 0;
 public int getCurrentCount(){
  return requestCount++;
 }
}


Сразу подключим JSTL, в файле pom.xml, в блок dependencies добавляем:
  
   javax.servlet
   jsp-api
   2.0
   provided
  
  
   javax.servlet
   jstl
   1.2
  

и переделаем наш index.jsp на что-то из серии:
  • В начале страницы добавим кодировку
  • следующим правилом - убирать пустые строки в начале и в конце генерируемого файла
  • создаем наш бин, с видимостью для всего запроса


  <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
  <%@ page trimDirectiveWhitespaces="true" %>
  

И под H2 тэгом, собственно вызов нашего бина:

Hello World!

This page render: ${mybean.currentCount}


Для того что бы заработали тэги "${..}" то нам нужно еще модифицировать web.xml:
в блоке web-app нужно дописать:

  Archetype Created Web Application



Все... наш проект готов, открываем консоль и пишем "mvn tomcat:run".

1 комментарий:

Violan комментирует...

полезно