Aplicação Web JPS/Jetty com Maven

Janeiro 2017


A aplicação web é um programa usando o navegador web como uma interface, mas todo o processamento de dados é feita do lado do servidor. Em particular, as web páginas são geradas de forma dinâmica para personalizar a partir de informações (fornecidas pelo utilizador, por exemplo).

Vamos nos concentrar aqui na criação de um projeto simples, com Java Server Pages ( JSP ) para gerar as páginas web sobre um servidor Jetty, incluindo a instalação e a utilização será totalmente gerenciada por páginas Maven .

Nota: Para testar o código neste artigo é necessário conhecer um mínimo de Maven, que deve ser devidamente instalado em sua máquina. Você pode ler o artigo [Começar com Maven ] .
Em primeiro lugar, devemos criar a estrutura do projeto com o arquétipo <gras >maven- archetype-webapp</gras>.

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=org.ccm.maven -DartifactId=firstwebapp -DinteractiveMode=false

Este é inicialmente composto por esses arquivos :

firstwebapp/
| pom.xml
| src/
| | main/
| | | resources/
| | | webapp/
| | | | index.jsp
| | | | WEB-INF/
| | | | | web.xml

Vamos nos interessar primeiro na página index.jsp, da qual o conteúdo é o seguinte:

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

Trata-se no momento de uma simples página HTML , vamos ver mais tarde como adicionar instruções Java no interior, a fim de impulsionar o conteúdo.

Agora olhe para o arquivo pom.xml, seu conteúdo é inicialmente est:

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ccm.maven</groupId>
<artifactId>firstwebapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>firstwebapp Maven Webapp</name>
<url>http://maven.apache.org </url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>firstwebapp</finalName>
</build>
</project>

Servidor Jetty


Para " colocar online" nossa aplicação web, é preciso de um servidor de aplicativos Java. Para isso, adicione um plugin Jetty que irá iniciar o servidor a partir de um comando Maven.
Para isto é preciso mudar o pom.xml para isso:

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ccm.maven</groupId>
<artifactId>firstwebapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>firstwebapp Maven Webapp</name>
<url>http://maven.apache.org </url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>firstwebapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.13.v20130916</version>
<configuration>
<webAppConfig>
<contextPath>/firstwebapp</contextPath>
</webAppConfig>
</configuration>
</plugin>
</plugins>
</build>
</project>
</ Plugins >
</ Construir>
</ Project> </ code>

Nota: a versões são levados a evoluir no tempo, você pode consultar o dépot central Maven repositório central Maven ] para informar sobre as últimas versões das dependências e plugins.
Num primeiro momento você precisa instalar o aplicativo, ou seja, tomar todas as fontes de projetos e montá-las em um arquivo WAR web. O comando a ser executado é:
mvn clean install
Agora você tem uma pasta de destino na pasta do projeto, que contém o arquivo WAR para implantar o aplicativo em qualquer servidor de aplicativos Java. Por exemplo, Jetty. Em seguida, basta iniciar o servidor executando o comando:
mvn jetty:run
Agora você pode acessar o aplicativo web no endereço [ http://localhost:8080/firstwebapp/ ]

Por padrão, você é imediatamente direcionado para a página index.jsp que exibe " Olá mundo!" (HelloWorld)
A parte Maven está terminada, você tem a a base de um projeto web que funciona, só falta completa como quiser. Mas para lhe mostrar um pouco daquilo que é possível de fazer em JSP nós vamos modificar a página index.jsp para dinamizá-la um pouco.

Por exemplo, você quer usando o endereço http://localhost:8080/firstwebapp/?name=Toto que a página exiba "Bom dia Toto" e qualquer que seja o nome que é passado como um argumento .
Além disso, vamos mostrar o número de visitantes na medida em que se acessa.


<%-- Gestão dos acentos (entre autros) --%>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page pageEncoding="UTF-8" %>

<%-- Data deinício da JSP --%>
<%@ page import="java.util.Date"%>
<%! Date startDate = new Date(); %>

<%-- Numero de visitantes na página. --%>
<%! int nbVisitors = 0; %>

<html>
<head>
<title>Hello</title>
</head>
<body>
<%-- Exibe-se o nome se passou em parametro --%>
<h2>Bom dia <%= request.getParameter("name")!=null ? request.getParameter("name") : "" %> !</h2>

<% - É incrementado o número de visitantes e é exibido. -% >
<p>Você é o visitante <%= ++nbVisitors %>é visitante desta página desde seu início o <%= String.format("%1$te %1$tB à %1$tkh%1$tM",startDate) %>.</p></body></html>

Não é necessário reiniciar o servidor para ter considerar as modificações de uma JSP, essas mudanças são feitas automaticamente. Então, basta ir ao site e testar a URL com ou sem o argumento "name":

http://localhost:8080/firstwebapp/
http://localhost:8080/firstwebapp/?name=Toto
http://localhost:8080/firstwebapp/?name=Bob

Nota: é possível criar classes Java completas, em seguida, usar os seus métodos nas páginas JSP. Isto permite fazer aplicações web muito poderosas, graças ao uso de banco de dados e muitos framework e plugins que enriquecem a tecnologia.

Veja também

Publicado por ninha25. Última modificação: 29 de setembro de 2013 às 15:49 por ninha25.
Este documento, intitulado 'Aplicação Web JPS/Jetty com Maven', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.