View
107
Download
0
Category
Preview:
Citation preview
Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira Fernandes
Disciplina Programação Orientada a Objetos III
Material IV-Bimestre
Criação de programa em Java com recursos para web, arquivo de texto,
Threads e JSP(Java Server Page)Site : http://www1.univap.br/~wagner
Prof. Responsável
Wagner Santos C. de Jesus
Usando Thread :
Vem a ser um recurso de se tratar processos em concorrência ou seja várias aplicações podem ser executadas ao mesmo tempo.
Criação da classe básica de um Thread
implements Runnable - Cria a classe básica para um processamento concorrente.
Classe: Runnable
A interface Runnable deve ser implementada por qualquer classe cujas instâncias são destinados a ser executado por um Thread. A classe deve definir um método de chamada sem argumentos de execução.
Estrutura de uma classe básica para Thread.
public class <Nome-Classe> extends implements Runnable { ........... ..........}
Função do Thread
Processo1(Applet)
Thread
run()
Tarefas a serem executadas
Instanciando uma Thread.
Sintaxe :
Thread <Nome-Canal>;
<Nome-Canal> = new Thread(this);
Uma Thread pode ter quatro estados:Que são dados pelos métodos
start() : Dispara uma Thread
suspend() - Permite uma pausa na Thread.
resume() - Reinicia o processo thread.
stop() - Para definitivamente uma thread.
run() - Permite que executar continuamente um programa
para Appet.
Manipulação de Arquivo de dados (texto).
Em Java para manipularmos cadeias de dados streams
existem classes para podermos implementar aplicações com
esse recursos. E essas classes estão disponíveis em um pacote
denominado io.*.
Um stream vem a ser uma cadeia de caracteres.
Exemplo :
import java.io.*;
Para abrir um arquivo para leitura devemos usar a classe FileInputStream.
Exemplo :
FileInputStream f1;
f1 = new FileInputStream("arq.txt");
Obs : Referência o nome do arquivo.
Para acessar um arquivo de dados que já foi referenciado devemos usar a classe
DataInputStream.
Exemplo :
DataInputStream i1;
i1 = new DataInputStream(f1);
Após usamos os métodos DataInputStream,
FileInputStream e FileOutputStream poderemos gravar ou
ler os dados de um arquivo.
PrintStream() - Abrindo um arquivo para gravação.
Exemplo :
f1 = new FileOutputStream("arq.txt");
PrintStream grava;
grava = new PrintStream(f1);
Para mover uma linha de dados para um arquivo de texto usamos o método prinln() ou print() com a
instância da classe PrintStream().
Exemplo :
PrintStream grava;
grava = new PrintStream(f1);
grava.println("String");
Para ler uma linha de dados de um arquivo de texto usamos o método readLine();
Exemplo : Fazendo a leitura de uma linha de um arquivo
texto.
FileInputStream f1;
DataInputStream i1;
f1 = new FileInputStream("arq.txt");
i1 = new DataInputStream(f1);
String str = i1.readLine();
Exemplo : Fazendo a gravação de uma linha de dados em um arquivo de texto.
FileOutputStream f1;
PrintStream grava;
f1 = new FileOutputStream("arq.txt");
grava = new PrintStream(f1);
grava.println("José da Couves");
Exemplo de um programa que faz a gravação de dados em um arquivo texto.
import java.io.*;
class grava {
public static void main(String args[]){
FileOutputStream f1;
PrintStream grava;
try {
f1 = new FileOutputStream("cadastro.txt");
grava = new PrintStream(f1);
grava.println("Mariana da Silva"); // Gravacao de dados...
grava.println("Joselina Pereira");
grava.println("Arquimede Silveira");
}
catch(Exception e) {
System.out.println("Erro no arquivo !!! ");
}
}
}
Armazenando dado no final do arquivo.
Classe FileWrite
FileWriter fw = new FileWriter(<ExpS>, <ExpB>);
<ExpS> => Nome do arquivo.
<ExpB> => Expressão booleana que determina se as informações irão para o final do arquivo.
write()
Envia o dado para o arquivo de texto especificado.
objetoFilewrite.write(<ExpS>);
<ExpS> - Determina a string que será enviada para o arquivo de texto.
close();
Fecha e armazena os dados do Buffer em disco.
objetoFilewrite.close();
Exemplo : Inserção em arquivo de texto.
import java.io.*;public class Addtexto {
public static void main(String arquivo[]) throws IOException {
FileWriter fw = new FileWriter(arquivo[0], true); fw.write(arquivo[1]+"\n"); fw.close();
}}
Leitura de um arquivo de texto.import java.io.*;class leitura { public static void main(String args[]){ FileInputStream f1; DataInputStream i1; try { f1 = new FileInputStream("teste.txt"); i1 = new DataInputStream(f1); String str = i1.readLine(); while( str != null ) { System.out.println(str); str = i1.readLine(); } } catch(Exception e) { System.out.println("Erro no arquivo !!! ");
} } }
JSP (Java Server Page)
É uma especialização do servlet que permite que conteúdo dinâmico seja facilmente desenvolvido. Com essa tecnologia é possível o desenvolvimento de páginas dinâmicas usando recursos de alta qualidade com reaproveitamento total de códigos Java.
Arquitetura Cliente/Servidor
Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente. Apesar do conceito ser aplicado em diversos usos e aplicações, a arquitetura é praticamente a mesma.
B r
o w
s e
r servlet
JSP
awt
Swing
APPLET
JavaBeans
Banco Dados
Visão da Aplicação Java
JVM
Requisição e Serviço
Cliente/Servidor
Cliente Servidor
Realização da Tarefa
Para realizar essa tarefa devemos, montar um servidor de aplicação é uma plataforma sobre a qual roda a porção servidora de um aplicativo. Isto inclui hardware e software. mas o software pode ser dividido em dois grupos: funções do negócio, que são específicas para um domínio de problema; e serviços especializados, que são funções genéricas aplicáveis a diversas soluções.
O Tomcat é um servidor de aplicação Java para web, mais especificamente, um container de servlets. Desenvolvido pela Apache Software Foundation, é distribuído como software livre dentro do conceituado projeto Apache Jakarta, sendo oficialmente endossado pela Sun como a implementação de referência para as tecnologias Java Servlet e Java Server Pages (JSP). Ele cobre parte da especificação J2EE (Java Edição Empresarial) com tecnologias como servlet e JSP, e tecnologias de apoio relacionadas a segurança, e JDBC DataSources.
Servidor de Aplicação
Porta de transmissão serviço HTTP para servidor TOMCAT (8084).
Alguns serviços (que fazem uso de protocolos específicos) são tipicamente acessíveis em portas fixas, conhecidas como portas bem conhecidas. São número de 1 a 1024
http://localhost:8084/teste/lixo.jsp
Exemplo :
Funcionamento JSP
Interface HTML
Requisição JSP
Converte em servlet
Compilador - JAVA
Gerar (.class)Página HTML
Cliente
Servidor
Envio
Todos programa confeccionado para arquitetura Java Server Page deve ter a extensão (JSP)
Exemplo de tags jsp.
@include – É utilizada para incorporar os códigos de um arquivo padrão (HTML,JSP,TXT)@page – Traz informações sobre página JSP como o tipo, as bibliotecas que serão importtadas, a linguagem da página.<%@ %> - Determina Instruções de cabeçalho. Referente as tags acima.<% %> - Determina o trecho de código que será escrito em Java.<%= %> - Usado para executar uma função em Java retornando apenas o trecho de código para a página HTML.<%- -%> - Usado para documentar trechos de código não sendo executadas.
Caminho Servidor local (Padrão)Configuração Apache.
Projetos
Servicos
build
web
META-INF WEB-INF
Arquivos JSP
Estrutura de um programa JSP
<%@page contentType="text/html"%><html><head><title>Pagina JSP </Title><%
String a = “Maria da Silva”; out.println("<h1>”+a+”</h1>");
%></html>
Simplesmente JSP
<%
String a = “Maria”;
out.println("<h1>”+a+”</h1>");
%>
Exemplo <Form>
<Form Name = "NomedoFormulario">
:
:
: <Objetos do Formulario>
:
:
</Form>
<Input Type> - Cria objetos de entrada de dados.
Criando uma Caixa de Texto em um Browser.
<INPUT TYPE> - Tipo de entrada. (Caixa de texto, Caixa de Verificação ou botão de Rádio, Objeto Oculto ou Caixa de Texto para senha).
Formatação de <Input Type>
Text - Caixa de Texto Simples.
Hidden - Caixa de Texto Invisível.
Radio - Botão de Radio.
Checkbox - Caixa de Verificação.
Password - Caixa de Texto que esconde os dados com (*) asterisco
Button - Botão de Comandos
submit – Submete o formulário para protocolos de envio.
reset – Apaga os dados de um formulário
Cláusulas do Marcador <Input Type>
Name - nome dados para caixa de texto.
Value - Define a informação que irá aparecer na caixa de texto.
Size - Define o tamanho da caixa de texto.
MaxLength - Define o tamanho máximo de caracteres que podem ser escritos em uma caixa de texto.
Exemplo da Criação de uma caixa de texto.
Nome:<INPUT TYPE="text" NAME="teste" VALUE="" SIZE="30" MAXLENGTH=”20">
Senha:<INPUT TYPE="Password" NAME="teste">
Exemplo da Criação de Botão de Comandos
<INPUT TYPE="Button" NAME="btn2" VALUE="OK">
Usando Métodos de envio de dado via TCP/IP(protocolo HTTP)
O protocolo HTTP provê dois principais métodos para enviar informações para o servidor web, além da URL referente ao arquivo solicitado. Esses métodos são denominados GET e o POST.
GET – Envia os dados de forma aparente para o browser.POST – Envia os dados de forma não aparente para o browser.
Usando Get
http://servidor/prog.jsp?nome=Wagner&endereco=Rua+23
DB
Cliente
Servidor
JSP
Responde uma Página HTML
Mostra os dados que foram enviados para o servidor
Exemplo : Envio com GET<html> <head> <title> JSP - Aula </title> </head><body>
<FORM action=“exemplo1.jsp" method=“get">Nome : <Input type Name="nome"><br>Nome : <Input type Name="endereco"><br><Input type="submit" value = "Enviar">
</Form>
</body></html>
Usando Post
http://servidor/prog.jsp
DB
Cliente
Servidor
JSP
Responde uma Página HTML
Envia todo o formulário HTML sem mostrar as informações
Exemplo : Envio com GET<html> <head> <title> JSP - Aula </title> </head><body>
<FORM action=“exemplo1.jsp" method=“post">Nome : <Input type Name="nome"><br>Nome : <Input type Name="endereco"><br><Input type="submit" value = "Enviar">
</Form>
</body></html>
Objeto (request)
Permite capturar dados enviados pelo formulário por intermédio do método getParameter() no servidor.
Cliente
Servidor
Request
getParameter()
Captura DadosRetorna Página HTML
Envia os dados
Exemplo Prático de captura de dados
<%
String vw_nome = request.getParameter("nome");
out.println("<h1>"+vw_nome + "</h1>");
%>
Exemplo da Criação de Botão de Rádio.
Masculino:<INPUT TYPE="radio" NAME="br" VALUE="1" >Feminino: <INPUT TYPE="radio" NAME="br" VALUE="2" Checked>
Exemplo da Criação de Caixa de Verificação.
Curso <br>
Java : <INPUT TYPE="Checkbox" NAME="ch" VALUE="1">
HTML :<INPUT TYPE="Checkbox" NAME="ch" VALUE="2">
Objetos de Lista(Caixa de Combinação e Caixa de Lista)
Para se criar um Objeto de lista em HTML usa-se o marcador <Select>.
Exemplo da Criação de uma Caixa de Combinação.
<Select Name ="cargo"><Option>Programador Junior<Option selected>Programador Senior<Option>Programador Pleno</Select>
Exemplo da Criação de uma Caixa de Lista.
<Select Name ="cargo" size=3><Option>Programador Junior<Option selected>Programador Senior<Option>Programador Pleno<Option>Programador Estagiário<Option>Programador Web<Option>Projetista VB</Select>
Usando recursos de JavaScript com JSP
<%
String str1 = "Marta";
if(str1.equals("Marta")) out.println("<Script>alert('Nome "+str1 +" Correto !!!')</Script>");
elseout.println("<Script>alert('Nome Incorreto !!!')</Script>");
%>
Links – Acionando JSP
<body>
<a href=“nomearq.jsp"> Exemplo Link </a>
</body>
<Textarea> - Criação de uma área de edição de texto.
Cria uma caixa de texto com um número pré estabelecido de linhas e colunas para edição do usuário.
Exemplo : <BODY>
<Textarea rows=5 cols=30 Name=dados></textarea>
</BODY>
</HTML>
Criação da conexão Bancoacesso.jspf
<%@page import="java.sql.*"%>
<%
Connection con; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:Banco","","");
Statement st=con.createStatement();
%>
JSPF - Criação
Todo arquivo jspf deve ser criado em um diretório que deve ter um nome padrão que a aplicação irá referenciar no momento que encontre seu cabeçalho.
<%@include file="WEB-INF/jspf/acesso.jspf"%>
<%@include file=“WEB-INF/jspf/acesso.jspf”%>
<%
ResultSet res = st.executeQuery("Select * from tabela1");
while(res.next()) {
out.println("Nome : "+res.getString("nome")+"<br>");
}
%>
Recommended