Pular para o conteúdo principal

Como configurar o Maven para um projeto web (Mavenize web project)

Neste post vou mostrar como criar um projeto web com maven. Para isso será necessário adicionar o plugin do Maven (m2eclipse), caso ainda não tenha.
Para fazer isso vá na menu "help" e depois "install new software". Selecionar "All available sites" em "work with", esperar carregar e na caixa inferior, e depois buscar por "maven integration for Eclipse". A instalação de plugins pode ter que ser realizada de diferentes maneiras dependendo da versão do eclipse instalada.

Em seguida, vamos criar o novo projeto, selecionando "Maven Project" no Eclipse.
Clique em “skip archetype selection” e defina o group id como: org.mycompany.lightshop. O group id é similar ao pacote padrão/base da aplicação. O artifact id, que é considerado o nome do projeto, deve ser definido como: lightshop. Na opção "packaging" selecione "war".

O archetype é considerado um template para projetos do Maven. Existem diversos exemplos de archetypes para diferentes frameworks. 

Depois que o projeto foi criado, você verá uma estrutura de diretórios diferente da estrutura padrão de um projeto web dinâmico. Nesta nova estrutura teremos um arquivo chamado "pom.xml" na raiz do projeto. Com ele é possível configurar todo o projeto, como por exemplo: adicionar dependências, gerenciar o ciclo de deploy, gerenciar repositórios, configurar propriedades e etc.
Abra o "pom.xml". Na aba dependencies, adicionar as dependências necessárias para o projeto. Aqui vou apenas adicionar a dependência para a JSTL, como exemplo:



Após adicionar as dependências, vá nas propriedades do projeto e depois em "Project Facets".
Clique em "convert to facet form" para converter um projeto para a forma "facetada" (configuração em partes). 
Selecione "Dynamic Web Project", para transformá-lo em um projeto web, e em "further configuration avaiable..." para terminar a configuração web do projeto.
Em "content directory" coloque "src/main/webapp" que é a diretório padrão/base com que o Maven gerencia as páginas web e não mais "WebContent" como estávamos acostumados. Depois dê OK.

Selecione essa pasta (src/main/webapp), botão direito -> build path -> source -> use as source folder, para definí-la pasta como uma pasta que contém código-fonte.

Crie uma página index.jsp em na pasta webapp. Adicione o projeto ao servidor, inicie e teste!

[]s

Comentários

Postagens mais visitadas deste blog

Como fazer upload e download de arquivos usando Servlet e JSP

Este post vai apresentar como implementar um upload e download de arquivos usando Servlets, JSP, JSTL, EL e o padrão MVC.

Para este exemplo, vou criar um projeto web dinâmico no Eclipse. Eu não vou especificar um banco de dados, o código deve funcionar com qualquer banco relacional.

Para implementar o exemplo precisamos de quatro bibliotecas adicionais, sendo duas da Apache:
http://commons.apache.org/fileupload/http://commons.apache.org/io E para usar o JSTL precisamos de mais duas bibliotecas adicionais, a API e a implementação. Ambos podem ser encontrados no link:
http://jstl.java.net/download.html Baixe todas as bibliotecas e adicione na pasta lib dentro de WebContent. A pasta lib também deve conter o conector para o banco de dados utilizado.

Upload

A página de envio deve conter um formulário com os campos necessários e mais um campo de input type file para o upload. No exemplo a seguir, vou mostrar o formulário com apenas dois campos: input type="file" e outroinput type=&qu…

Criando templates usando o web.xml e fragmentos de JSPs (JSPFs)

Neste tópico vou abordar uma outra maneira de criar templates sem usar bibliotecas externas. Iremos utilizar apenas o web.xml e fragmentos de JSPs (JSPFs).

Inicialmente irei criar uma página HTML completa com cabeçalho, corpo e rodapé. Vou chamar essa página de index.jsp, salvá-la no WebContent com o código a seguir:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <link href="css/default.css" rel="stylesheet" type="text/css"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Página Principal</title> </head> <body> <div id="header"> <h1>Título do web site</h1> </div> <div id="menu"> <h2>Menu</h2> <ul> <li><a href="cadastrar.j…