Este documento fornece uma introdução aos principais conceitos de front-end web, incluindo HTML, CSS e JavaScript. Inclui exemplos de código e links para referências adicionais.
Curso de Java
PARTE06
Front-End Web
Uma Introdução
HTML: principais tags / forms / request method
Request/Response
Conteúdo Estático vs Dinâmico
CSS
Java Script
por: Mário Sergio
mariosergio30@gmail.com
linkedin.com/in/mario-sergio-a1125831
Front-End: HTML –CSS – Java Script
4https://www.quora.com/What-is-the-best-way-to-learn-HTML-CSS-and-JavaScript
Referência:
Estrutura
e
Conteúdo
Formatação
Linguagem de
programação
no lado Cliente
(Interpretada pelo browser)
5.
HTML
5
HTML é alinguagem base para desenvolver
websites. O acrônimo HTML vem do inglês e
significa Hypertext Markup Language.
- É uma linguagem de Marcação de Texto
- Utiliza TAG´s para definir a Estrutura da Página < />
- É Interpretada diretamente pelo Browser
- Não é uma Linguagem de Programação !
(pois não possui variáveis, estrutura de decisão, repetição)
HTML – ExemploMínimo
7
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Título da página</title>
</head>
<body>
<h1>Aqui vai o texto do título</h1>
<p>Aqui vai o texto do parágrafo. Geralmente parágrafos tem muitas palavras, letras menores que as do título</p>
</body>
</html>
Abertura da Tag head
Fechamento da Tag head
Algumas tags não exigem fechamento (são exceções)
ATRIBUTO lang da Tag html (notação: atributo=“valor”)
- HTML não possui um analisador sintático rígido como nas linguagens de
programação.
- Caso você esqueça de “fechar” uma TAG, o navegador tentará resolver, mas
não haverá garantia do resultado desejado.
8.
HTML – FerramentalDidático
8
https://www.w3schools.com/
Praticaremos HTML/CSS/JS utilizando:
https://www.mozilla.org/pt-BR/firefox/developer/
Request/Response: Chamando umaPágina Dinâmica
16
Request a uma aplicação WEB em Java:
URL: http://localhost:8080/basico/startlogin?aluno=José
17.
Request/Response: Chamando umaPágina Dinâmica
17
Request a uma aplicação WEB em Java:
URL: http://localhost:8080/basico/startlogin?aluno=José&idade=5
Servidor porta mapeamento recurso parametro=valor
início dos parametros
separador
dos parametros
Quando a porta é omitida
o navegador considera a porta 80
(padrão do protocolo http)
Domínio ou IP
ex:
google.com
192.168.1.2
Protocolo
de
Comunicação
OBS: Veremos esta aplicação de BackEnd em detalhes no curso de 07 Java Web Backend
18.
18
Request a umaaplicação WEB em Java: dados provenientes de uma consulta ao banco de dados.
Request/Response: Chamando uma Página Dinâmica
OBS: Veremos esta aplicação de BackEnd em detalhes no curso de Java Web Back-end
HTML – Taginput: Atributo Type
21
URL que será chamada quando o formulário for SUBMETIDO
(destino dos dados do formulário)
Nome do parâmetro a ser passado na URL
22.
HTML – RequestMethod
22https://www.javatpoint.com/get-vs-post
Saber mais:
GET:
Os dados do formulário (parâmetros)
são todos passados no cabeçalho (header)
da requisição HTTP
POST: (Mais Seguro)
Os dados do formulário (parâmetros)
são todos passados no corpo (body)
da requisição HTTP
Mãos à Obra
24
Combase no exercício anterior,
melhore seu “Sistema Escolar”:
1- Crie uma interface WEB para capturar os dados
necessários para matrícula do Aluno (use o elemento form)
2-Utilize o atributo action para direcionar os dados do
formulario para:
http://enderecodamaquinadoprofessor:8080/site/aluno/salvar
CSS
27
Enquanto HTML descreve“O QUE” será exibido na pagina (conteúdo), CSS descreve
“COMO” esse conteúdo deverá ser exibido (cores, posicionamento, fonts...)
CSS é a sigla para o termo em inglês
Cascading Style Sheets, que traduzido
para o português significa Folha de Estilo
em Cascatas.
Sintaxe:
Um html com múltiplos Estilos, exemplo: https://www.w3schools.com/css/css_intro.asp
CSS
29
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color:powderblue;
}
h1 {
font-family: verdana;
font-size: 300%;
}
h1, h2 {
color: blue;
}
p {
color: red;
font-family: courier;
font-size: 160%;
border: 1px solid navy;
padding: 30px;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<h2>This is a topic</h2>
<p>This is paragraph 1.</p>
<p>This is paragraph 2.</p>
<p>This is paragraph 3.</p>
</body>
</html>
Conteúdo textual da página anterior:
30.
CSS – Ondedeve ficar o Código ?
30
Há 3 maneiras diferentes de incluir código CSS:
•Internal - usando o elemento <style> dentro do elemento <head>
<head>
<style>
.....
</style>
</head>
•Inline - usando o atributo style dentro de um elemento HTML
<body style="background-color: powderblue;">
•External - usando um arquivo externo com extensão .css para incluir
apenas o código CSS.
- É preciso importar o arquivo CSS dentro do arquivo html, usando a
tag link
- Ex.: <link rel="stylesheet" type="text/css" href="css/styles.css">
31.
CSS - Seletores
31
elemento:referencia o nome do elemento html (body, div, li, ul, ol, p...)
p {
text-align: center;
color: red;
}
classe: referencia o atributo class do elemento html
.destaque {
text-align: center;
color: red;
}
id: referencia o atributo id do elemento html
#topico1 {
text-align: center;
color: red;
}
Em CSS temos seletores de:
<h1 class="destaque">Red and center-aligned heading</h1>
<p class="destaque">Paragrafo 1.</p>
<p class="destaque" id="topico1">Paragrafo 2.</p>
Obs: o valor do id de um elemento deve ser único na página.
Conteúdo HTML
Mãos à Obra
40
Vocêpode utilizer o w3School para conhecer e treinar os
principais recursos CSS
41.
Java Script
41
JavaScript umalinguagem de programação orientada a objetos
que é executada no browser (lado cliente), permitindo transformar
páginas web estáticas (html puro), em páginas dinâmicas,
complexas e ricas.
42.
Java Script
42
- Interaçãocom o usuário sem necessidade de processamento no lado servidor.
- Consegue manipular código html e css (DOM- Document Object Model).
Principais Vantagens:
Exemplo:
JS – Saídade Dados
46
Um simples exemplo que aborda: saída de dados, variáveis, funções, eventos e DOM
Praticar: https://www.w3schools.com/js/js_output.asp
exemplo_saidas_4maneiras.html
47.
JS – Saídade Dados
47
Código do exemplo anterior:
<!DOCTYPE html>
<html>
<body>
<h2>No JS há 4 maneiras de exibir uma saida</h2>
<p id="resultado"></p>
<br>
<button type="button" id="botao1">Saidas com InnerHTML, alert e log</button>
<br>
<br>
<button type="button" onclick="saidaComWrite()">Saida Com documento.write()</button>
<script>
var calculo = 10 + 20;
c = "Resultado do Calculo foi: ";
function saidaComWrite() {
document.write("<h1>Saída com documento.write(), substitui todo o conteúdo existente pelo Novo</h1>!");
}
function saidaComInnerAlertLog() {
document.getElementById("resultado").innerHTML = c + calculo;
window.alert(c + calculo);
console.log(c + calculo);
}
document.getElementById("botao1").addEventListener("click", saidaComInnerAlertLog);
</script>
</body>
</html>
48.
JS: DOM- DocumentObject Model
48
Recursos que permitem manipular código html e css apartir do código Java Script
49.
JS: HTML DOMEventListener
49
Elemento HTML Evento Função a ser chamada quando o evento ocorrer
Propagação (opcional)
Exemplo:
var botao = document.getElementById("myBtn");
botao.addEventListener("mouseover", myFunction);
botao.addEventListener("click", mySecondFunction);
botao.addEventListener("mouseout", myThirdFunction);
Exemplo: https://www.w3schools.com/js/tryit.asp?filename=tryjs_addeventlistener_add_many2
50.
JS: HTML DOMEventListener
50Saber mais: https://developer.mozilla.org/en-US/docs/Web/Events
Tipos de Eventos:
51.
JS – FerramentalDidático
51
Um exemplo no https://jsfiddle.net/
Saber mais: https://developer.mozilla.org/en-US/docs/Web/Events
52.
JS – Exemplo:DOM + Events
52
Um exemplo no https://jsfiddle.net/
function exibe(line,col) {
valor = document.getElementById("myTable").rows[line].cells.item(col).innerHTML;
document.getElementById("empresa_sel").innerHTML = valor;
alert('Você selecioneou a empresa: ' + valor);
}
function carregou() {
alert('A página foi carregada com sucesso !’);
}
Código Java Script do exemplo anterior:
Código fonte completo:
exemplo_table.html
exemplo_table.css
aprendendo.js
<body onload="carregou()">
<span id="empresa_sel"></span>
<tr onclick="exibe(1,0)">
<table id="myTable">
Manipuladores
de Evento
JS – Frameworks/ Libraries / Tools
Desenvolver escrevendo código diretamente em JavaScript nos dias atuais,
considerando o nível de complexidade que as aplicações web alcançaram,
demandaria um trabalho quase que impossível de se realizar.
Com a evolução dos frameworks e libraries
para Java Script, passou a ser possível o
desenvolvimento de Rich Client Web
Applications com maior velocidade e
produtividade.
54