O Java é uma das linguagens de programação mais faladas no universo da Internet e da web. Devido à sua simplicidade, robustez e portabilidade, impõe-se hoje como uma das linguagens de programação mais importantes. O facto de o Java ter permitido a introdução de verdadeira interactividade nas páginas da World Wide Web, anteriormente estáticas, trouxe um grande sucesso a esta linguagem na Internet. Igualmente, estendeu-se a utilização do Java ao universo das aplicações empresariais, através da arquitectura e tecnologia J2EE. Este livro cobre todas as facetas desta linguagem de programação (nas suas versões mais actuais Java 5 e 6 SE e Java EE 5), ensinando o leitor a construir desde os programas mais elementares até às aplicações empresariais J2EE, passando pelo desenho de applets para a integração em páginas WWW.
Escrita de uma forma simples, acessível e com exemplos práticos, esta obra destina-se a todos aqueles que possuam conhecimentos básicos de programação em outras linguagens não Orientadas a Objectos, assim como aos que já têm conhecimentos de programação em linguagens de Programação Orientadas a Objectos. Útil, também, para os que já possuem conhecimentos de HTML, com ou sem experiência de construção de scripts CGI, para os profissionais da web que pretendam utilizar o Java no desenvolvimento de aplicações e para aqueles que não têm conhecimentos de programação, mas que pretendem passar a utilizar o Java como evolução natural das suas páginas WWW.
1. O Primeiro Programa
1.1 Introdução
1.2 O Kit de Desenvolvimento Java (SDK)
1.3 Construir e Testar um Programa
2. Java: Introdução Histórica
2.1 Introdução
2.2 O Java e a Internet
2.3 WWW e Java
3. As potencialidades do Java
3.1 Animação em Páginas WWW
3.2 Interactividade
3.3 Construção de Aplicações
3.4 O Futuro do Java
4. Introdução ao Java
4.1 Programação Orientada a Objectos
4.2 Os conceitos do Java
5. A Sintaxe do Java
5.1 Expressões
5.2 Tipos de Dados
5.3 Variáveis
5.4 Aritmética
5.5 Operações Lógicas, Comparações, Condicionais e Outras
5.6 Arrays
5.7 Controlo de Fluxo e Ciclos
5.7.1 Expressões Condicionais
5.7.1.1 Expressões If .. Else
5.7.1.2 Expressões?
5.7.2 Expressões Switch
5.7.3 Ciclos
5.7.3.1 Ciclo While
5.7.3.2 Ciclo Do ... While
5.7.3.3 Ciclo For
5.7.3.4 Break, Continue e Labels
5.8 Exemplos
6. Objectos, Classes e Métodos
6.1 Conceitos
6.2 Criação de Classes
6.3 Utilizando Objectos
6.3.1 O Acesso às variáveis
6.3.2 Objectos e Métodos
6.3.3 Exemplo
6.4 Métodos
6.4.1 Tipos de Métodos
6.4.2 Questões de Sintaxe
6.4.2.1 This
6.4.2.2 Construtores
6.4.2.3 Finalizadores
6.4.2.4 Mecanismo de Reescrita (“Override”)
6.4.2.5 Excepções
6.5 Interfaces
6.6 Packages
6.7 Bibliotecas de Classes
6.8 Criação de Aplicações Java
7. Construir Applets para a Web
7.1 Applets: Conceitos Básicos
7.1.1 Applets e Páginas WWW
7.1.2 Parâmetros passados às Applets
7.1.3 Construção de Applets
7.2 Elementos Gráficos
7.2.1 Linhas
7.2.2 Rectângulos
7.2.3 Polígonos
7.2.4 Ovais e Círculos
7.2.5 Curvas e Arcos
7.3 Texto, Fonts e Cores
7.3.1 Cores
7.4 Animação, Imagens e Som
7.4.1 Imagem
7.4.2 Som
7.5 Gráficos 2D
7.5.1 Transformações
7.6 Threads
7.7 Exemplos Práticos
8. Gestão de Eventos e Interactividade
8.1 O Rato
8.1.1 Pressionar Botão do Rato
8.1.2 Largar Botão do Rato
8.1.3 Rato Entra na Applet
8.1.4 Rato Sai da Applet
8.1.5 Mover o Rato com o Botão em Cima
8.1.6 Mover o Rato com o Botão em Baixo
8.1.7 Clique do Rato
8.2 O Teclado
8.2.1 Pressionar Tecla
8.2.2 Largar Tecla
8.2.3 Escrever com Tecla
8.2.4 Teclas Especiais
8.3 Gestão Única de Eventos (Obsoleto – Java 1.0)
8.4 Outros Eventos
8.5 Exemplos Práticos
9. A Interface Windows
9.1 Introdução
9.2 Os Objectos Básicos
9.2.1 Labels
9.2.2 Botões
9.2.3 Campo de Texto
9.2.4 Botões Radio
9.2.5 Caixas de Selecção
9.2.6 Caixas de Escolha
9.2.7 Áreas de Texto
9.2.8 Listas de Escolha
9.2.9 Barras de Deslocação
9.2.10 Organização dos Elementos Gráficos
9.3 Objectos Avançados
9.3.1 Janelas
9.3.2 Menus
9.3.3 Caixas de Diálogo
9.3.4 Caixas de Diálogo (Ficheiros)
9.4 Eventos
9.4.1 Gestão do Evento pelo próprio objecto
9.4.2 Gestão de Eventos via Listener
9.5 Swing
9.5.1 JButton
9.5.2 JLabel
9.5.3 JToggleButton
9.5.4 JCheckBox
9.5.5 JPanel
9.5.6 JRadioButton
9.5.7 JComboBox
9.5.8 JScrollBar
9.5.9 JSlider
9.5.10 Campos de Texto
9.5.11 JToolBar
9.5.12 JPanel
9.5.13 JInternalFrame
9.5.14 JTable
9.5.15 Menus
9.5.16 Diálogos
9.6 Exemplo Prático
10. I/O, Concorrência e Comunicações
10.1 I/O e Streams
10.1.1 Streams de Entrada
10.1.2 Streams de Saída
10.1.3 Pipes
10.2 Os links WWW e as Applets Java
10.3 Comunicações TCP/IP
10.4 Multithreading
11. Java: Conceitos Avançados
11.1 RMI
11.2 JDBC
11.3 JavaBeans
11.4 Servlets
11.5 CORBA
11.6 Segurança
12. Arquitectura de Aplicações Java
12.1 Arquitecturas Java: J2SE e J2EE
12.2 Aplicações web em Ambiente J2EE
13. Servlets
13.1 Introdução
13.2 Implementação de Servlets
13.3 Sessões e Contexto
13.4 Exemplo Prático
14. Java Server Pages
14.1 Introdução, Arquitectura e Conceitos Básicos
14.2 Sintaxe JSP
14.3 Exemplo Prático
15. Enterprise Java Beans
15.1 Arquitectura e Conceitos Básicos
15.2 Lógica de Negócio e Session Beans
15.3 Persistência e Entity Beans
15.4 Transacções
16. Java Server Faces
16.1 Introdução
16.2 Exemplo Prático
17. Messaging
17.1 JavaMail
17.1.1 Javax.Mail.Session
17.1.2 Javax.Mail.Authenticator
17.1.3 Javax.Mail.Message
17.1.4 Javax.Mail.Address
17.1.5 Javax.Mail.Store e Javax.Mail.Folder
17.1.6 Javax.Mail.Transport
17.2 JMS
18. J2EE, XML e WebServices
18.1 Introdução
18.2 SOAP
18.3 WSDL
18.4 UDDI
18.5 J2EE e Webservices
19. Java Móvel: J2ME
19.1 Introdução
19.2 Java Card
19.3 Embedded Java
19.4 CLDC
19.5 MIDP
19.6 CDC
19.7 Symbian Epoc (Personal Java)
19.8 Utilizando o J2ME
20. Tecnologias e Conceitos Avançados
20.1 UML
20.2 Spring
20.3 Hibernate
20.4 SOA
20.5 AJAX
20.6 BPEL
Anexo A: Referência Online
Pedro Coelho
Licenciado em Engenharia Electrotécnica e de Computadores pelo Instituto Superior Técnico. É autor de diversos livros sobre Internet, World Wide Web e tecnologias relacionadas, todos editados pela FCA.