Criando um hello world com Java Web com Maven de forma fácil

Após criar um projeto Java web com Maven, agora é hora de criar um hello world com Java Web e Maven de forma fácil. Vamos nessa?

Pré-requisitos para este tutorial:

No tutorial anterior criamos um projeto um Java web com Maven de forma fácil. Agora é hora de criar o primeiro servlet e testar se ficou tudo ok.

* Caso ainda não tenha criado o projeto Java Web clique aqui para criá-lo.

Configurando a servlet api no projeto

Para configurar a servlet api é bem tranquilo. Acesse o pom.xml e inclua as linhas que seguem abaixo:

<dependencies>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
  </dependency>
</dependencies>

Dê um Maven update project clicando com o botão direito do mouse e seguindo os passos abaixo:

Hello world Java web com Maven de forma fácil - passo 01
Hello world Java web com Maven de forma fácil – passo 01

 

Observe que aparece um pequeno erro de compilação em nosso projeto:

Hello world Java web com Maven de forma fácil - Passo 02
Hello world Java web com Maven de forma fácil – Passo 02

 

Dynamic Web Module 3.0 requires Java 1.6 or newer.
One or more constraints have not been satisfied.

Este erro acontece pois nosso projeto necessita do Java 1.6 ou superior.

Vamos ajustar este erro?

Configurando o Java 8 em nosso projeto

Acesse o pom.xml e inclua as linhas que seguem abaixo:

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
</build>

Dê novamente um Maven update project e o problema estará solucionado.

O pom.xml completo deve ficar da seguinte forma:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.tecnologiaeinovacao</groupId>
  <artifactId>JavaWebComMavenDeFormaFacil</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
  </properties>

  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Nosso projeto já está pronto para criar o primeiro Servlet.

Vamos criar nosso primeiro Servlet agora?

Criando o servlet

Clique com o botão direito do mouse no projeto -> New -> Class e insira as informações conforme abaixo:

LEIA TAMBÉM  Como criar um projeto Java web com Maven de forma fácil
Hello world Java web com Maven de forma fácil - Passo 03
Hello world Java web com Maven de forma fácil – Passo 03

 

  • Package: br.com.tecnologiaeinovacao
  • Name: MyServlet

Deixe as demais informações sem alteração e clique em Finish

Sua classe será criada conforme abaixo:

package br.com.tecnologiaeinovacao;

public class MyServlet {

}

Agora é só transformar nossa classe em servlet e testá-la. Para isso vamos estender a classe HttpServlet do pacote javax.servlet.http.HttpServlet. Vamos colocar a anotação @WebServlet também do mesmo pacote e subscrever o método doGet. O código completo do nosso servlet segue abaixo:

package br.com.tecnologiaeinovacao;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/myServlet")
public class MyServlet extends HttpServlet{
  
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.getWriter().write("Hello World");
  }

}

Agora basta adicionar ao eclipse um servidor como o Toncat, por exemplo, e rodar o projeto.

Em seguida acesse http://localhost:8080/JavaWebComMavenDeFormaFacil/myServlet e nosso Hello World será mostrado na tela.

Para melhorar ainda mais este teste, vamos criar uma página, pedir o nome do usuário, enviar ao nosso servlet, criar uma mensagem e devolver a nossa página.

Crie uma página com o nome index.jsp dentro da pasta webapp e insira o código que segue abaixo:

Hello world Java web com Maven de forma fácil - Passo 04
Hello world Java web com Maven de forma fácil – Passo 04

Código da index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
  <p>Por favor, informe seu nome:</p>
  <form method="post" action="/myServlet">
    <input name="nome"> <br /><br />
    <input type="submit" value="Enviar nome"/> <br /><br />
  </form>
  
  ${mensagem}
</body>
</html>

Agora volte na classe MyServlet, subscreva o método doPost, crie um código que receba a variável nome, monte a mensagem e devolva para a página:

@Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String nome = request.getParameter("nome");
    String mensagem = "Olá "+nome+", seja bem-vindo a nossa página!";
    request.setAttribute("mensagem",mensagem);
    getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
  }

Para que a mensagem seja impressa na tela só falta um detalhe. Vá até o pom.xml e inclua a dependência do Expression Language e não se esqueça de dar um Maven update project novamente:

<dependency>
    <groupId>javax.el</groupId>
    <artifactId>el-api</artifactId>
    <version>2.2.1-b04</version>
</dependency>

Tudo pronto. Agora é só rodar o projeto no toncat, informar um nome e uma mensagem será impressa na tela.

LEIA TAMBÉM  Requisições GET e POST - Principais diferenças
Hello world Java web com Maven de forma fácil - Passo 05
Hello world Java web com Maven de forma fácil – Passo 05

O código completo do pom.xml e do servlet seguem abaixo:

Servlet MyServlet com o código final

package br.com.tecnologiaeinovacao;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/myServlet")
public class MyServlet extends HttpServlet{
  
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println("ssdfs");
    response.getWriter().write("Hello World");
  }

  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String nome = request.getParameter("nome");
    String mensagem = "Olá "+nome+", seja bem-vindo a nossa página!";
    request.setAttribute("mensagem",mensagem);
    getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
  }
}

pom.xml com o código final:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.tecnologiaeinovacao</groupId>
  <artifactId>JavaWebComMavenDeFormaFacil</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
  </properties>

  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
    </dependency>
    
    <dependency>
      <groupId>javax.el</groupId>
      <artifactId>el-api</artifactId>
      <version>2.2.1-b04</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Por hoje é só. Neste tutorial aprendemos a criar um projeto Java web com Maven de forma fácil, imprimir um hello world na tela e de bônus ainda criamos um formulário se comunicando com o nosso servlet. Espero que tenha gostado. Ficou com alguma dúvida ou teve alguma dificuldade em seguir este tutorial? Posta o erro ou a dificuldade abaixo que vamos ajudá-lo.

Nosso projeto está no git

Até a próxima 😉

 

Julio Victorio

Julio Victorio

Analista e desenvolvedor de sistemas em TI - Tecnologia e Inovação
Júlio Victório trabalha com web há mais de 10 anos, atualmente é desenvolvedor Java e ama escrever e trabalhar com tecnologia.
Julio Victorio
About Author:
Júlio Victório trabalha com web há mais de 10 anos, atualmente é desenvolvedor Java e ama escrever e trabalhar com tecnologia.

One thought on “Como criar um hello world com Java Web e Maven de forma fácil

Comments are closed.