Conhecimento necessário para entender o artigo: Você já descobriu mais ou menos
o Java Core e gostaria de ver
as tecnologias JavaEE e
a programação da Web . Faria mais sentido para você estar estudando atualmente a missão Java Collections, que trata de tópicos próximos ao artigo.
Atualmente, uso
o IntelliJ IDEA Enterprise Edition (
nota do editor: esta é uma versão estendida paga do IDE; geralmente é usada no desenvolvimento profissional). É muito mais fácil trabalhar com projetos da web nele do que na
Community Edition gratuita . Na
Enterprise Edition , literalmente, um clique do mouse cria o projeto, coloca-o em um contêiner de servlet, inicia o servidor e até abre uma página da Web para o projeto no navegador. Na versão gratuita do IDEA, você teria que fazer muito disso sozinho, ou seja, "manualmente". Eu uso
o Apache Mavenpara construir o projeto e gerenciar seu ciclo de vida. Usei apenas uma pequena parte de seus recursos (gerenciamento de pacotes/dependências) neste projeto. Como servidor de aplicativo/contêiner do servlet, escolhi o Apache Tomcat versão 9.0.12.
Vamos começar
Primeiro, abra
o IntelliJ IDEA e crie um
projeto Maven vazio .
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 2]()
À esquerda, selecione
Maven e verifique se o
JDK do projeto está selecionado acima. Se não estiver lá, selecione um na lista ou clique em
Novo ... e escolha um no computador.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 3]()
Nesta janela, você precisa especificar
GroupId e ArtifactId . O
GroupId refere-se ao identificador único da empresa emissora do projeto. A prática comum é usar o nome de domínio da empresa, mas na ordem inversa. Não como um espelho embora. Por exemplo, se o nome de domínio de uma empresa for
maven.apache.org , seu GroupId será
org.apache.maven. Ou seja, primeiro escrevemos o domínio de nível superior, adicionamos um ponto, depois o domínio de segundo nível e assim por diante. Esta é a abordagem geralmente aceita. Se você está "trabalhando" o projeto sozinho (e não como parte de uma empresa), coloque seu nome de domínio pessoal aqui (também na ordem inversa!). Se você tiver um, é claro. :) Se não, não se preocupe. Você pode realmente
escrever qualquer coisa aqui .
Para uma empresa com o nome de domínio john.doe.org, o GroupId será org.doe.john. Essa convenção de nomenclatura é necessária para separar projetos com nomes idênticos produzidos por empresas diferentes. |
Neste exemplo, usarei um domínio fictício:
fatlady.info.codegym.cc . Assim, eu insiro
cc.codergym.info.fatlady no campo
GroupId .
ArtifactId é simplesmente o nome do nosso projeto. Você pode usar letras e certos símbolos (hífens, por exemplo) para separar palavras. Nosso "artefato" será nomeado exatamente como escrevemos aqui. Neste exemplo, vou usar
meu-super-projeto . Não toque no campo da versão ainda - apenas deixe como está.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 4]()
E aqui está a
janela IDEA padrão quando você cria um novo projeto. Mantendo a tradição, vamos chamá-lo de
meu-super-projeto .
O projeto está criado!
Pom.xml é aberto imediatamente. Este é um arquivo com configurações do Maven. Se quisermos dizer ao Maven o que fazer ou onde encontrar algo, descrevemos tudo isso neste arquivo pom.xml. Ele está localizado na raiz do projeto. |
Vemos que agora ele contém os dados exatos que inserimos ao criar o
projeto Maven :
groupId ,
artefatoId e
versão (não tocamos nesse último).
A estrutura do nosso projeto
Este
projeto Maven tem uma estrutura específica.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 6]()
Como você pode ver, a raiz tem:
- um diretório .idea , que contém as configurações IDEA do projeto atual;
- um diretório src , onde criamos nosso código-fonte;
- um arquivo my-super-project.iml , que é um arquivo de projeto criado pelo IDEA;
- o arquivo pom.xml (o arquivo de projeto Maven que mencionei anteriormente), que agora está aberto. Se eu mencionar pom.xml em algum lugar, é desse arquivo que estou falando.
Dentro da pasta
src , existem duas subpastas:
- main — para nosso código;
- test — para testes do nosso código.
Em
main e
test , há uma pasta
java . Você pode pensar nelas como a mesma pasta, exceto que a de
main é para o código-fonte e a de
test é para o código de teste. Por enquanto, não temos uso para a pasta
de recursos . Nós não vamos usá-lo. Mas deixe-o lá.
Transformá-lo em um projeto web
É hora de convertermos nosso
projeto Maven em um projeto web. Para fazer isso, clique com o botão direito do mouse no nome do projeto nesta árvore e selecione
Add framework support …
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 7]()
Uma janela se abre onde podemos adicionar suporte para vários frameworks ao nosso projeto. Mas só precisamos de um:
Web Application . Ans é o que selecionamos.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 8]()
Certifique-se de que a caixa de seleção
Web Application esteja selecionada e que a janela principal indique que queremos que um arquivo
web.xml seja criado automaticamente (recomendo marcar a caixa de seleção, se ainda não estiver selecionada). Vemos então que a pasta
web foi adicionada à nossa estrutura de projeto.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 9]()
Esta é a raiz do nosso projeto web com o endereço
/
. Em outras palavras, se digitarmos '
localhost ' no navegador (quando o projeto estiver rodando, é claro), então ele vai procurar aqui, na raiz do projeto web. Se inserirmos
localhost/addUser , ele procurará um recurso chamado
addUser na pasta
da web .
A principal coisa que você precisa entender é que a pasta da web é a raiz do nosso projeto quando a colocamos no Tomcat. Temos uma certa estrutura de pastas agora, mas no projeto final que vamos criar, será um pouco diferente. Especificamente, a pasta da web será a raiz. |
Em
web , há uma pasta necessária chamada
WEB-INF , onde está localizado o arquivo
web.xml , ou seja, aquele que pedimos ao programa para criar na última etapa. Vamos abri-lo.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 10]()
Você pode ver que ainda não tem nada de interessante, apenas um cabeçalho. A propósito, se você não solicitou a criação do arquivo, terá que criá-lo manualmente, ou seja, digite todos os cabeçalhos à mão. Ou, pelo menos, procure uma versão pronta na Internet. Para que precisamos
do web.xml ? Para mapeamento. Aqui é onde explicaremos para
o Tomcat quais solicitações de URL passar para quais servlets. Mas vamos chegar a isso mais tarde. Por enquanto, deixe-o vazio. A pasta
da web também possui um
arquivo index.jsp. Abra.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 11]()
Este é o arquivo que será executado por padrão, por assim dizer. Ou seja, é justamente o que veremos quando iniciarmos o projeto. Basicamente,
jsp é um
arquivo HTML comum , exceto que você pode executar o código Java dentro dele.
Um pouco sobre conteúdo estático e dinâmico
O conteúdo estático é o conteúdo que não muda com o tempo. Tudo o que escrevemos em um
arquivo HTML é exibido inalterado, exatamente como está escrito. Se escrevermos "
olá mundo ", este texto será exibido assim que abrirmos a página, e em 5 minutos, e amanhã, e em uma semana, e em um ano. Isso não vai mudar. Mas e se quisermos exibir a data atual na página? Se apenas escrevermos "
27 de outubro de 2017", amanhã veremos a mesma data, uma semana depois e um ano depois. Mas gostaríamos que a data fosse atual. É aqui que a capacidade de executar o código diretamente na página é útil. Podemos obter um objeto de data, convertê-lo para o formato desejado e exibi-lo na página. Então, todos os dias, quando abrirmos a página, a data será sempre atual. Se precisarmos apenas de conteúdo estático, precisamos apenas de um servidor da Web regular e Arquivos HTML. Não precisamos de Java, Maven ou Tomcat. Mas, se quisermos usar conteúdo dinâmico, precisaremos de todas essas ferramentas. Mas, por enquanto, vamos retornar ao nosso
index.jsp .
Vamos indicar algo diferente do título padrão, por exemplo, "
Meu super web app! " Então, no corpo, vamos escrever "
Estou vivo! " Estamos quase prontos para iniciar nosso projeto! Infelizmente, o triângulo verde usual para iniciar o programa não está ativo.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 12]()
Clique no botão à esquerda dele (indicado na tela com uma seta vermelha) e selecione
Editar configurações ... Isso abre uma janela onde somos convidados a clicar em um sinal de mais verde para adicionar alguma configuração. Clique nele (no canto superior esquerdo da janela).
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 13]()
Escolha
Servidor Tomcat >
Local . Uma janela com muitas opções se abrirá, mas os padrões nos servem para quase tudo.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 14]()
Podemos dar à nossa configuração um nome bonito em vez do padrão
Sem nome (no topo). Também precisamos verificar se o IDEA encontrou o Tomcat com sucesso em nosso sistema (você já
baixou e instalouisso, né?). Se não foi encontrado (o que é improvável), pressione a seta para baixo e escolha onde está instalado. Ou escolha uma versão diferente, se tiver mais de uma instalada. Eu só tenho um e já está instalado. É por isso que parece do jeito que está na minha tela. E bem na parte inferior da janela, vemos um aviso, alertando que até o momento nenhum artefato foi indicado para implantação no servidor. À direita deste aviso há um botão sugerindo que consertemos isso. Clicamos nele e vemos que o IDEA conseguiu encontrar tudo sozinho, criou tudo o que faltava sozinho e configurou todas as configurações sozinho.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 15]()
Podemos ver que ele nos moveu da guia
Server para a guia
Deployment , em
Deploy at the server startupseção, e agora temos um artefato a ser implantado.
Clique em Aplicar e OK. E primeiro vemos que na parte inferior da janela apareceu uma seção com nosso servidor Tomcat local, onde nosso artefato será colocado. Recolha esta seção clicando no botão correspondente no lado direito da janela.
![Criando o projeto web mais simples no IntelliJ IDEA Enterprise. Passo a passo, com fotos - 16]()
Agora vemos que o triângulo verde de lançamento está ativo. Para quem gosta de conferir tudo, você pode clicar no botão de configurações do projeto (à direita dos botões de inicialização, indicado por uma seta vermelha), ir para a seção Artefatos e verificar se o artefato foi realmente
criado . Não estava lá até que pressionamos aquele
Fixbotão, mas agora está tudo OK. E essa configuração nos convém perfeitamente. Em poucas palavras, a diferença entre
meu-super-projeto:guerra e
meu-super-projeto:guerra explodida é que
meu-super-projeto:guerra consiste em apenas um arquivo
de guerra (que é apenas um arquivo) e a versão com
explodido é simplesmente a
guerra "desempacotada" . E pessoalmente, essa é a opção que considero mais conveniente, porque permite depurar rapidamente pequenas alterações no servidor. Em essência,
o artefato é nosso projeto, apenas compilado - e onde com uma estrutura de pasta foi alterada para permitir que o Tomcat o acesse diretamente. Vai parecer algo assim:
Agora está tudo pronto para lançar nosso projeto. Pressione o precioso botão verde de inicialização e aproveite o resultado! :)
GO TO FULL VERSION