Primeiro exemplo de uso de páginas JSP



Documentos relacionados
WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Formulário (Send & Recieve) Prof. Celso H. Masotti

Programação para Internet I

INTRODUÇÃO AO DESENVOLVIMENTO WEB

Java na Web. Aplicações Web

Scriptlets e Formulários

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

Mini-curso de PHP. Aulas ministradas por: André Luis de Paula Arthur Kalsing Diego Silva

Mais sobre uso de formulários Site sem Ajax

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

Introdução. HyperText Markup Language HTML. Formulário. Fluxo do Formulário. Fluxo do Formulário. Fluxo do Formulário. Fluxo do Formulário

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Os componentes de um formulário são: Form, Input, Select e AreaText

JDBC Java Database Connectivity

SIMULADOS & TUTORIAIS

Programação Web Prof. Wladimir

Linguagem de. Aula 06. Profa Cristiane Koehler

JavaScript: Validação de Formulários. Prof. Ivanilton Polato

PROGRAMAÇÃO WEB DO LADO DO CLIENTE

English Português. By erickalves 25 Julho, :08. Devido à política (#) de segurança. Encontrar Blogs Crie o seu blog de graça Ganhe prêmios

Aula 05 HTML FORMULÁRIOS Prof. Daniela Pires Sumário

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS -

Desenvolvimento Web XHTML Formulários. Prof. Bruno E. G. Gomes

O código acima descreve o formulário com uma caixa de texto e dois botões

JAVAWEB AULA 2 Prof. Daniela Pires Sumário

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

CAPITULO 5 COMANDO DE FLUXO IF

Ferramentas para Multimídia e Internet

COMO FUNCIONA UM FORMULÁRIO

Web Design Aula 09: Formulários

FORMULÁRIOS HTML (FORMS) E ENTRADAS DE DADOS (INPUT)

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Programando em PHP. Conceitos Básicos

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

2 echo "PHP e outros.";

Tutorial de Integração HTML

Programação Web Prof. Wladimir

SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO

Java na WEB Banco de Dados

Prof. Carlos Majer Aplicações Corporativas UNICID

JSP - ORIENTADO A OBJETOS

Persistência de Classes em Tabelas de Banco de Dados

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

TUTORIAL JSP & SERVLET

2 Orientação a objetos na prática

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Criando um script simples

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira / j.edu@vqv.com.br

Inserindo Dados no Banco de Dados Paradox.


Manipulação de Banco de Dados com Java 1. Objetivos

LINGUAGEM DE PROGRAMAÇÃO WEB

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

Passa a passo para construir uma página pessoal - Parte 1

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Exercícios Práticos de HTML e JavaScript. <FORM ACTION="mailto:teste@gmail.com" METHOD="POST" ENCTYPE="text/plain" NAME="cadastro">

TUTORIAL DE INTRODUÇÃO AO CEWOLF

JAVAWEB AULA 2 Prof. Daniela Pires Sumário

DBDesigner 4. NomeFunc 1,N FUNCIONÁRIO. CargaHoraria. MatrFunc

Programação WEB I Estruturas de controle e repetição

Introdução à Tecnologia Web

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2.

Curso De PHP. Aula 4. Formulários. Cookies. Session. Mail

indica o nome do campo pelo qual podemos acessar.

USANDO APPLETS NO NETBEANS (WEB APPLICATION)...E A APPLET CHAMA ALGUM PACOTE EXTERNO (por Luis Alberto M Palhares de Melo Julho/2011)

Acessando um Banco de Dados

GUIA PHP com MYSQL Autor: Everton Mendes Messias

Programação Web Prof. Wladimir

Resumo da Matéria de Linguagem de Programação. Linguagem C

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

TECNOLOGIAS WEB AULA 7

Conteúdo. DHTML tópicos Hamilton Lima

Enviado dados para o PHP através de formulário

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA


Formulários em HTML - O que são e para que servem

HTML - 7. Vitor Vaz da Silva Paula Graça

HTML: Listas, Tabelas e Formulários CST Sistemas para Internet

Tutorial do Sistema de Gestão de Conteúdos para Web - SYSWEB

Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados:

Persistência de Dados

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Introdução. História. Como funciona

Desenvolvimento de aplicações Web. Java Server Pages

Apache -Tomcat. Instalação e Configuração. Grupo Multitecnus,

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

JavaScript (Funções, Eventos e Manipulação de Formulários)

PHP: Formulários e upload de múltiplos arquivos Por Alfred Reinold Baudisch 28 de fevereiro de 2006.

02 - Usando o SiteMaster - Informações importantes

Prof Evandro Manara Miletto. parte 2

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto :

Transcrição:

Primeiro exemplo de uso de páginas JSP Crie um arquivo html com o nome: index, e digite o código abaixo no Eclipse. Salve no seguinte diretório: C:\apache-tomcat-6.0.33\webapps\ROOT\Prog1\ Voces podem utilizar como editor para escrever o código HTML e jsp, o Dr. Java, o Context que pode ser baixado gratuitamente, ou mesmo o Bloco de Notas, salvado todos os arquivos dentro do diretório ROOT do Tomcat. O ideal e criar uma pasta para o programa que estamos testando, no entanto quando for fazer o teste da página no Browser, após startar o Tomcat no diretório /Bin deste e carregar nossa página no navegador, da seguinte forma: http://localhost:8080/prog1/ Observem que o diretório Prog1 é o nome que dei projeto (diretório), salvo dentro do diretório C:\apache-tomcat-6.0.33\webapps\ROOT\ Índex.html <!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>exemplo de IF</title> </head> <body> <a href="decisao1.jsp">exemplo IF</a> </body> </html> Crie um segundo arquivo denominado decisao1.jsp e salve no mesmo diretório do arquivo HTML if(request.getparameter("valor")==null) { <form> Informe seu nome: <input name="valor"> <br> <input type="submit" value ="enviar"> </form> else { Seu nome é =request.getparameter("valor")

Segundo exemplo de JSP Incluir a linha <a href="decisao2.jsp">exemplo Switch</a> no arquivos índex.html Você pode dar uma quebra de linha, digitando no final da primeira linha a tag <BR>. Em seguida crie um segundo arquivo JSP denominado, decisao2.jsp, ditando o mesmo no editor de sua preferência e salvando o mesmo dentro da pasta /ROOT/Prog1: if(request.getparameter("valor")= =null) { <form> Informe um numero entre 1 e 5: <input name="valor"> <br> <input type="submit"> </form> else { int num = Integer.parseInt(request.getParameter("valor")); switch (num) { case 1: case 3 : case 5: out.println("é um número impar"); break; case 2: case 4: out.println("é um número par"); break; default: out.println("não é um número entre 1 e 5"); Para podermos expandir nossos exemplos com JSP, abaixo alguns operadores que poderemos utilizar a fim de executar qualquer teste lógico em nossas páginas: Comparadores: (a= = b) Igualdade (a!= b) Não igual ou diferente de (a > b) Maior que (a < b) Menor que (a >= b) Maior ou igual a... (a <= b) Menor ou igual a... Concatenadores lógicos: && - Função E (And) Para retornar verdade, ambas as condições analizades dever ser verdadeiras

- Função ou (Or) Para retornar verdade, basta que umas das condições analisadas seja verdadeira. ^ - Função ou exclusivo (Or exclusive) Para retornar verdade, apenas uma das condições deve ser verdadeira. Ainda analisando o segundo exemplo, podemos notar uma conversão de tipos. Abaixo vejam todas as opções de conversão. Ao ser enviada a consulta, inicialmente convertemos o parâmetro para um tipo inteiro (Como por exemplo esta linha do código: int num = Integer.parseInt(request.getParameter("valor"));), utilizando o método parseint, da classe Integer. Existem várias outras conversões, como podemos ver abaixo: Byte.parseByte(objeto String) Converte um objeto string para um tipo primitivo byte; Short.parseShort(objeto String) Converte um objeto string para um tipo primitivo short; Float.parseFloat(objeto String) Converte um objeto String para um tipo primitivo float; Double.parseDouble(objeto String) Converte um objeto String para um tipo primitivo Double. É isso que nosso código decisao1.jsp faz, ele executa um teste lógico nos números, para ver se são ímpares ou pares, tomando uma decisão e apresentando a resposta. Como o parâmetro valor é uma string, temos que antes de atribuir esse valor a variável num que é inteira, converter a string numérica para um número inteiro, para que não haja erro. Comando de repetição While Tanto o comando while quanto o comando do..while são chamados de comandos de repetição indeterminados, pois não sabemos quando o laço irá terminar. Normalmente esses comandos são utilizados em pesquisa de banco de dados. Vamos utilizar esse exemplo para isso. Antes precisamos criar uma pasta dentro de /ROOT/WEB-INFO, denominada classes e copiar para dentro dela, o driver do mysql denominado mysql-connector-java-5.1.7-bin.jar. No exemplo abaixo, foi criado um banco de dados no mysql, denominado dvdhome e uma tabela filmes com id do filme autonumeração e um campo filmes tipo caracter com o nome dos filmes. O código abaixo gera uma página JSP que Le o banco de dados e retorna o nome dos filmes. Crie um banco de dados denominado dvdhome e uma tabela filmes com a seguinte estrutura no mysql: Create database dvdhome; Use dvdhome; Create table filmes ( Cod int(11) auto_increment, Filmes varchar(35) not null, Primary key(cod)); Não se esqueça de incluir no arquivo índex.html a linha: <a href="repeticao1.jsp">exemlo WHILE</a><br><hr>

Para chamar a página jsp. Segue o código da página repeticao1.jsp @page import="java.sql.*" Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dvdhome?userUnicode =true","root",""); Statement stm = con.createstatement(); ResultSet res = stm.executequery("select * from filmes"); if(res.next()) { out.println("seus usuarios sao: "); out.println("\n"); do { out.println(res.getstring(2)); while (res.next()); else { out.println("nao existgem registros cadastrados"); O aquivo acima funciona da seguinte forma: um objeto ResultSet é uma matriz de dados, onde o primeiro registro da tabela chama-se BOF (Begin of file), ou seja, executamos um comando IF para verificar se existem registros. Caso existam, será mostrada a mensagem Seus filmes são: e, em seguida, o comando DO mostrará todos os registros localizados. Comando de repetição FOR O comando de repetição FOR é considerado do tipo comando de repetição determinado exatamente por termos o domínio dele (tanto quando começa quanto quando ele termina). Ele possui a seguinte estrutura: FOR (atributo inicial; condição; incremento) { Instruções a serem repetidas; Exemplo utilizando o FOR para cálculo do fatorial de um número. if(request.getparameter("valor") == null) { <form>

Informe o valor de um número para calcular seu fatorial...:<input name="valor"> <br> <input type="submit"> </form> else { int i = 0; int num = Integer.parseInt(request.getParameter("valor")); int res = 1; for(i = num; I > 1; i--) res *= i; out.println("o fatorial de " + num + " é " + res); Abaixo outro exemplo de uso para o laço FOR, usando um texto com uma mensagem: <body> for (int i = 1; i < 6; i++) { <h=i>isto é um teste</h=i> </body> Digite o texto acima e salve com o nome testeloop.jsp. Não se esqueça de criar um link na página índex.html para este arquivo. Vamos para exemplos mais elaborados... Para o Java, tudo são objetos, atributos, métodos ou classes. Existe uma classe que cuida das datas e horas que chama-se date e está contida no pacote java.util. Além disso, toda data é armazenada, seu padrão é um inteiro longo, então, precisamos um objeto da classe SimpleDateFormat pertencente ao pacote java.text. Para formatar datas podemos utilizar as seguintes máscaras: y ano (2001) M mês (July 07) d dia (10) h hora AM/PM (1 a 12) H hora (0 a 23) m Minutos (30) s segundos (1) S milisegundos (1) E dia da semana (Tuesday) D Dia do ano (189) F dia da semana dentro do mês ( 2 segunda semana em Julho, por exemplo) w Dia da semana no ano (27) W Dia da semana no mês (2) a AM/PM (AM)

k Hora (1 a 24) K Hora AM/PM (0 a 11) - para digitar o texto (às) Assim se por exemplo, quisermos mostrar uma data em seu formato normal com dia/mês/ano, basta utilizar: =(new SimpleDateFormat( dd/mm/yyyy )) Se quiser formatar a hora, podemos utilizar: =(new SimpleDateFormat( hh:mm )).format(new Date()) Para praticarmos com as datas, crie uma nova página JSP comeando-a como testedata.jsp e insira os códigos abaixo: Controle de Formulários (tag form) Usaremos as tag de form para enviar dados para a página JSP processar. A tag <form> compreende as seguintes tags: <input type= text > - É a caixa de texto padrão para a entrada de dados, este tipo é o padrão quando a propriedade type for informada. <input type = hidden > - Objetos do tipo texto que ficam ocultos. <input type = password > É a caixa de texto para solicitação de senhas. <input type = radio > São os objetos tipo escolha apenas um. <input type = checkbox > - São objetos tipo escolha. <input type = button > - Botões para pressionar. <input type = submit > - Botão utilizado para submeter o formulário. <input type = reset > - Botão para apagar os dados dos objetos do formulário. <textarea rows = n cols n></textarea> - Caixa de texto com várias linhas (rows) e várias colunas (cols). <select><option></option></selcct> - São listas de seleção (podendo ser padrão ComboBox ou List). Além disso, duas propriedades são muito importantes para todos esses objetos e nosso uso: value Armazena o valor digitado pelo usuário. name Usado pela JSP para obter o valor de determinada tag. A tag <form> possui a seguinte sintaxe: <form name=nome action=formação.jsp method=método></form> Onde metodo indica a forma com que os dados serão passados para o formulário. Por GET que é a forma direta de passagem dos dados, ou por POST que passa todo o formulário. Vamos fazer um programinha que é uma enquete utilizando uma dessas opções.

Crie um arquivo denominado teste3.html e não esqueça de criar uma referencia para ele na página índex.html <HTML> <HEAD> <TITLE>Pesquisa Alcoólica</TITLE> </HEAD> <BODY> <H1>Pesquisa Alcoólica</H1> <FORM action='teste3.jsp' method=post> Você gosta de Beber: <SELECT name='ebebida'> <OPTION value=0>vinho</option> <OPTION value=1>cerveja</option> <OPTION value=2>whiskey</option> <OPTION value=3>refrigerante</option> <OPTION value=4>água</option> </SELECT><BR><BR> <CENTER><INPUT type='submit' value=' Enviar Resposta '></CENTER> </FORM> </BODY> </HTML> Crie uma página jsp, denominada teste3.jsp e digite o código abaixo: @page contenttype="text/html" import="java.io.*" <html> <head><title>jsp Page</title></head> <body> int[] opc = new int[5]; String[] nomopc = {"Vinho", "Cerveja", "Whiskey", "Refrigerante", "Água"; String[] nomcor = {"marrom", "azul", "purpura", "ouro", "verde"; int total = 1; // Total nao pode ser por default 0 String nomarq = "resultado.txt"; // lê o arquivo File arq = new File(nomArq); if (arq.exists()) { // arq já foi gravado BufferedReader br = new BufferedReader(new FileReader(nomArq)); String lin; int i = 0; while ((lin = br.readline())!= null) { opc[i] = Integer.parseInt(lin); total += opc[i]; i++; br.close(); else { // arq vazio

for (int i = 0; i < opc.length; i++) opc[i] = 0; int indice = Integer.parseInt(request.getParameter("eBebida")); opc[indice] += 1; // monta o gráfico for (int i = 0; i < opc.length; i++) { out.println("<img src='image/." + nomcor[i] + ".gif' width=" + ((100 * opc[i])/total) + " height=10>" + "<img src='' width=" + (100 - ((100 * opc[i])/total)) + " height=10>"); out.println(nomopc[i] + " - " + opc[i] + " Votos.<br>"); // regrava o arquivo PrintWriter saida = new PrintWriter(new FileWriter(nomArq)); for (int i = 0; i < opc.length; i++) saida.println(opc[i]); saida.close(); </body> </html> Precisamos também criar 5 arquivos gif que conterão as cores para o gráfico da enquete e salva-los na pasta /ROOT/Prog1/image