Você está na página 1de 5

Java Web

Java EE

Java Web

plataforma de programao para servidores


Java
Servlets: API que abstrai e disponibiliza os
recursos do servidor Web de maneira
simplificada para o programador.
JSP (Java Server Pages): uma especializao do
servlet que permite que contedo dinmico seja
facilmente desenvolvido.

Java EE
Deve ser executado em um servidor que
implemente os servios relacionados a essa
plataforma
Jboss
Glassfish
Apache
Tomcat: implementa parte da especificao

Java Web

Java Web

Java EE
Preparando o ambiente
Baixe um Apache Tomcat
Basta baixar o arquivo compactado e extrair para uma
pasta do seu computador

Configure um servidor no seu Eclipse


Basta usar uma verso do eclipse para Java EE
developers
Procure a perspectiva de servidores e crie um novo
servidor ligado ao Tomcat que voc baixou

Java Web

Projetos Web
New Dynamic Web Project
Configurar servidor Web associado
Na aba servidores (servers) clique com o boto
direito no Tomcat e selecione add/remove.

Estrutura
Webcontent
Web-Inf
Web.xml: configuraes do projeto web

Java Web

Pginas HTML
<html>
<head> <title>Ttulo </title> </head>
<body> Corpo </body>
</html>

Java Web

Pginas HTML

Java Web

h1 - h6: define cabealhos, do h1 ao h6,


onde menor o nmero, maior a importncia
do cabealho;
a: cria um link para outra pgina, ou para
algum ponto da mesma pgina;
p: define que o texto dentro dela estar em
um pargrafo;

ul: cria uma lista de elementos;


li: cria um novo item numa lista de
elementos;
input: coloca um controle de formulrio na
tela (caixa de texto, boto, radio button
etc.)

Java Web

Pginas HTML
Form: inclui formulrios em pginas html

Java Web

\input: controle de formulrio


<input type="checkbox" name="bike"> bicicleta <br>
<input type="checkbox" name="car"> carro <br>
<input type="submit" value="Enviar">
<select name="cars">
<option value=ford">Ford
<option value="fiat">Fiat
</select>

<input type="text" name="firstname">


<input type="radio" name="sex" value="male">
Masculino <br>
<input type="radio" name="sex" value="female">
Feminino
<input type="checkbox" name="bike"> Eu tenho uma
bicicleta <br> <input type="checkbox" name="car">
Eu tenho um carro

Java Web
Pginas HTML

Java Web

table: define uma tabela;

Projetos Web
New Dynamic Web Project
Configurar servidor Web associado

tr: uma linha da tabela;


td: uma clula;
<table>
<tr> <td>Clula 1</td> <td>Clula 2</td> </tr> <tr>
<td>Clula 3</td> <td>Clula 4</td> </tr> <tr>
<td>Clula 5</td> <td>Clula 6</td></tr>
</table>

Pginas HTML
Form: inclui formulrios em pginas html

<form> <input> <input> </form>


input: coloca um controle de formulrio na tela
(caixa de texto, boto, radio button etc.)

Pginas HTML

Na aba servidores (servers) clique com o boto


direito no Tomcat e selecione add/remove.

Inserir uma pgina


<html><head> <title>Projeto Novo</title> </head>
<body> Primeira pgina do projeto </body> </html>
Pasta Webcontent

Java Web

Primeiro Servlet

Java Web

Gerador de pgina HTML

Primeiro Servlet
Mapeando o Servlet no Web.xml
<servlet>
<servlet-name>primeiraServlet</servlet-name>
<servlet-class>br.com.OiMundo</servlet-class>
</servlet>

Voc pode dizer o que deve ser gerado de


contedo!
public class OiMundo extends HttpServlet {
protected void service (HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<html>"); out.println("<body>");
out.println("Primeira servlet"); out.println("</body>");
out.println("</html>"); } }

Criando um mapeamento para acesso


<servlet-mapping>
<servlet-name>primeiraServlet</servlet-name>
<url-pattern>/oi</url-pattern>
</servlet-mapping>

Java Web

JSP

Java Web

Servlets possuem problemas de


legibilidade e manuteno
O ideal que pudssemos separar html e
Java
JSP veio resolver esse problema!

JSP
Toda pgina JSP possui uma varivel
JSPWriter (para escrever na sada),
denominada out

Cdigo Java pode ser escrito entre tags


<% %>

Java Web
<html><body>
<%-- comentrio em JSP --%>
<% String mensagem = "Bem vindo!; %>
<% out.println(mensagem); %><br/>
<% String desenvolvido = "Desenvolvido por voce"; %>
<%= desenvolvido %><br /> <%
System.out.println("Tudo foi executado!"); %>
</body> </html>

Java Web
Listando elementos de um BD
<%@ page import="modelo.academico.*, java.util.*" %>
<ul>
<% ControlePessoa control = new ControlePessoa();
List<Pessoa> todos = control.recuperarTodos();
for (Pessoa p : todos ) { %>
<li><%=p.getRg()%>, <%=p.getNome()%></li>
<%}
</ul>

Java Web

Java Web

JSP

Embora JSP tenha sido uma evoluo em


relao a Servlets, ainda temos cdigo
Java misturado no HTML

Elementos HTML para programao Web


Exemplo: Trabalhando com POJO
Construtor sem parmetros e mtodos get e
set para atributos
<jsp:useBean id=p"
class=modelo.academico.Pessoa"/>
${p.nome}: invoca getNome no objeto p

Dificulta vida do designer!

Soluo:
Usar elementos associados lgica HTML
para exibir dados dinmicos

Java Web

Java Web

JSTL

Declarando a TagLib

necessrio configurar o Web.xml!

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JavaServer Pages Standard Tag Library


Tags mais comuns para programao Web
com Java
Existem 4 grupos comuns de bibliotecas:

<jsp-config>
<taglib> <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
</jsp-config>

Core
Formatao
Internacionalizao
Manipulao de XML

Java Web

Principais tags: forEach

<jsp:useBean id="ctrl class="modelo.academico.ControlePessoa"/>


<c:forEach var="p" items="${ctrl.todos}">
${p.rg}, ${p.nome}, ${p.nascimento}
</c:forEach>

TagLibs

Java Web

Principais tags: forEach


<table border="1">
<c:forEach var="p" items="${ctrl.todos}" varStatus="id">
<tr bgcolor="#${id.count % 2 == 0 ? 'aaee88' : 'ffffff' }" >
<td>${p.rg}</td><td>${p.nome}</td>
</tr>
</c:forEach>
</table>

Java Web

Java Web

Principais tags:

Principais tags:

IF

Importao de outras pginas

<c:if test="${not empty p.curso}"> ${p.curso}</c:if>

<c:import url="cabecalho.jsp" />


<c:import url=rodape.jsp" />

When
<c:choose>

<c:when test="${not empty p.email}">

<a href="mailto:${p.email}">${p.email}</a>

</c:when>

<c:otherwise> E-mail no informado </c:otherwise>


</c:choose>

Java Web

Utilizando bibliotecas Javascript

Passo 1: baixar arquivos


http://jqueryui.com/download
Copiar as pastas JS e CSS para sua aplicao
Referencia-las nas pginas:
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.10.3.custom.js"></script>

Formatao
<fmt:formatDate value="${p.nascimento}" pattern="dd/MM/yyyy" />

Sada
<c:out value="${p.nascimento} />

Você também pode gostar