Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 Objetivo Estes cursos unidos, possuem um completo conteúdo, com um aprendizado teórico e prático da linguagem de programação Java tanto para ambiente Desktop como para a Web. Serão abordados os seguintes tópicos: Lógica de Programação, Orientação a Objeto, Programação Java, Sistemas Web, Banco de Dados e os Frameworks Struts 2 e Hibernate. Desta forma, com este treinamento o aluno possuirá uma sólida base que permitirá o seu rápido ingresso no mercado de trabalho. Pré-requisitos Uso dos comandos básicos do Windows, tais como: criação, gerenciamento, remoção de arquivos ou pastas, instalação de aplicativos, criação e edição de arquivos tipo texto. Duração 124 horas/aula Diferenciais X25 - Instrutores altamente qualificados - Livros como Material Didático - Coffee-break - Estacionamento coberto gratuito - Computadores de última geração - Salas com projetores multimídia - Somente 01 aluno por computador - Certificado diferenciado pelo aproveitamento do aluno - Parcerias internacionais - Treinamentos in-company - Treinamentos revisados periodicamente Público Alvo Pessoas que desejam aprender a Linguagem de Programação Java tanto em ambiente Desktop como para Web. Isso inclui estudantes, programadores de linguagens não orientadas a objetos, analistas de sistemas, entre outros. Material Didático Livros: Aplicando Lógica Orientada a Objetos em Java Editora: Visual Books Autor: Fernando Anselmo Número de páginas: 178 Programação Java com Ênfase em Orientação a Objetos Editora: Novatec Autor: Douglas Rocha Mendes Número de páginas: 456 Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600 SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 Conteúdo Programático • Lógica • Sequência de Pensamentos Lógicos • Introdução ao Pensamento Lógico • Conceitos iniciais (variáveis, sistema e constante) • Sequência Lógica e Portugol • Métodos e funções • Exercícios práticos sobre o tópico de Sequência de Pensamentos Lógicos • Tipos de Dados • Inteiros, Numéricos, Alfanuméricos, Lógicos e Caractere • Exercícios práticos sobre o tópico de Tipos de Dados • Comandos de Decisão • Exercícios práticos sobre o tópico de Decisão • Comandos de Repetição • Determinado e Indeterminado • Exercícios práticos sobre o tópico de Repetição Orientação a Objetos • Princípios • Abstração, Encapsulamento, Herança e Modularização • Polimorfismo • Classes Abstratas e Classes • UML • Diagrama de Classe • IS-A (herança) e HAS-A (associação e agrupamento) • Projeto realizado sobre Orientação a Objetos Programação Java • Linguagem Java • Características da linguagem de programação Java • Palavras Chaves e Regras de Formação de Nomes (Notação) • Tipos primitivos e Classe String, StringBuffer e StringBuilder • Casting • Wrapper Class • Conversão entre os tipos primitivos • Exercícios práticos sobre o tópico Linguagem Java • Orientação a Objetos na prática com Java • Enum, Interface, Classes Abstratas e Classes Reais • Princípio do Encapsulamento, métodos GET e SET • Polimorfismo por Overload e Override • Exercícios práticos sobre o tópico Orientação a Objetos na prática com Java • Partes de uma classe SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 • • • • • • • • • • • • • Escopo: Público, Protegido e Particular • Conceito de pacote e importação • Atributos • Membros estáticos • Composição de métodos • Método principal: main • Construção de métodos • Métodos construtores • Exercícios práticos sobre o tópico Partes de uma classe Operadores • Operadores aritméticos • Operadores unários • Operadores relacionais • Operadores lógicos • Operadores de atribuição • Exercícios práticos sobre o tópico Operadores Estruturas de controle • Decisão Comandos IF e SWITCH Repetição Comandos WHILE, DO e FOR e FOR-EACH Comandos BREAK e CONTINUE Exercícios práticos sobre o tópico Estrutura de controle abordando os comandos de decisão e repetição Comando de proteção • TRY e ASSERT • Comandos throws e throw • Exercícios práticos sobre o tópico proteção • Arrays • Exercícios práticos sobre Arrays Formatação • Classes NumberFormat e DecimalFormat • Classes DateFormat e SimpleDateFormat • Método System.out.printf • Exercícios práticos sobre Formatação de Tipos Entrada de dados • Classe java.util.Scanner • Visualização gráfica, classe javax.swing.JOptionPane • Exercícios práticos sobre o tópico Entrada de dados Classe Math • Exercícios práticos sobre a classe Math IO: Entrada e Saída • I/O Stream • Byte Stream, Character Stream, Buffered Stream, Data Stream e Object Stream • Leitura formatada por meio da classe java.util.Scanner SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Gravação formatada por meio da classe PrintWriter • Standard Stream – I/O por meio da linha de comando • Classe File • Exercícios práticos sobre o tópico IO Java Reflection e Thread Java Reflection Listando os métodos de uma classe Obtendo informações mais precisas sobre método Obtendo informações sobre construtores de uma classe Obtendo os atributos de uma classe Invocando métodos pelo nome Criando novos objetos a partir do nome da classe Utilizando Atributos e Arrays Thread Herdando a classe Thread ou implementando Runnable Sincronização, Schedule e Prioridades Interrompendo a execução Concorrência entre Threads Exercícios práticos sobre o tópico Java Reflection e Thread Generics e Collections Generics Utilizando Generics com Classe Utilizando Generics com Métodos Utilizando Generics com Collections Collections Interface List Classes ArrayList, LinkedList e ArrayList Interface Set Classes LinkedHashSet, HashSet e TreeSet Interface Map Classes HashTable, LinkedHashMap, HashMap e TreeMap Exercícios práticos sobre o tópico Generics e Collections Introdução a Banco de Dados • Banco HSQLDB • Conexão JDBC • Comandos SQL de Manutenção do BD • CREATE, ALTER e DROP • Comandos SQL de Manipulação de Dados • INSERT, UPDATE, DELETE e SELECT • Exemplos sobre conexões com bancos de dados • Conceitos de Programação Java para WEB • Nomenclatura de pacotes, métodos, variáveis para classes Java SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 • • • • • • • • Nomenclatura de arquivos e diretórios Apresentação do projeto que será desenvolvido Texto descritivo do problema apresentado pelo cliente Texto descritivo com as funcionalidades do projeto Wireframe das telas do projeto Apresentação do diagrama de classe de domínio do projeto Ambiente de desenvolvimento e estrutura do laboratório e todos os recursos disponíveis Exercício: Codificar as classes do diagrama UML Conceitos de Banco de Dados • Introdução ao MySQL • Principais comandos utilizados • • • • • • • • • • • • • • • • • SELECT INSERT DELETE UPDATE Modelagem básica do banco de dados com base no diagrama de classe, apresentado no exercício anterior Inserção de registros no banco de dados Integração do Java com o Banco de dados Download do Driver JDBC do MySQL JDBC e suas principais classe DriverManager Driver Connection PrepareStatement Statement ResultSet Aplicação de um CRUD (Create, Report, Update and Delete) em uma das entidades do diagrama de classes Exercício: CRUD para as demais entidades Web Server e Tomcat, JSP, Servlet e HTML • Sobre o Tomcat • Diretório onde está instalado o tomcat • Principal variável de ambiente • Problemas e soluções • Estrutura de um projeto WEB • Exercício: • Criar a estrutura de diretórios para um projeto WEB • Criar um projeto WEB HTML • Principais tags do HTML • html • head SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 • • • • • • • • body h1, h2, h3, h4, h5 e h6 p br form label input Exercício: Construir os formulários de entrada de dados do projeto modelo JSP • Delimitadores • Diretivas • Objetos implícitos • Exemplo • Projeto modelo • Exercício: Construir demais funcionalidades do projeto Servlets • Classe HttpServlet e seus principais métodos • doGet e doPost • Como criar um Servlet • Vantages e desvantagens de utilizar o Servlet • Como processar um formulário com o Servlet • • • • • Filtros Qual o papel de um filtro e quando o Tomcat executa um filtro Como criar um filtro Exemplo de utilização do filtro Como criar um filtro para verificar autenticação do usuário Modelo MVC • Conceito do MVC e sua filosofia. • Separação das camadas do projeto. • Exemplo • Separando as camadas do projeto modelo Hibernate • Como funciona o Hibernate • Vantagens em adicionar o Hibernate ao projeto • Mapeamento de Objetos • Mapeamento utilizando XML • Mapeamento utilizando Anotações • Principais anotações • @Entity • @Table SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 • • • • • • • • • • • • • • • • • • • • • • • • • • @Id @GeneratedValue @Column @Temporal @Lob @JoinColumn @OneToOne @OneToMany @ManyToMany @ManyToOne Utilitário Hibernate XML ou Anotações, qual o melhor formato? JPA Outras implementações do JPA Vantagens e desvantagens do JPA Principais diferenças entre o Hibernate (Tradicional) e o Hibernate (JPA) Objetos de conexão Configuração Relacionamentos Principais relacionamentos; Identificar os relacionamentos que o projeto possui; Anotações @OneToMany @ManyToOne @ManyToMany @JoinColumn • @relatedBy • @JoinTable • Como mapear objetos com herança • Tabela única • Junção • Tabela por classe Manipulando os dados de um objeto persistente • merge • persist • remove • createQuery • createNativeQuery • HQL • Manipulando dados com o HQL • Comparando HQL com o SQL ANSI • Exercício: • Mapear os objetos de dominio do projeto modelo • Criar métodos para recuperar, listar, remover e inserir objetos SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br Lógica e Prog. Java6.0 Java para Web com Hibernate e Struts 2 Struts 2 • O que é Struts 2 • Vantagens e desvantagens do Struts 2 • Adicionar o Struts 2 no projeto. • Como o Struts 2 funciona • Arquivo de configuração struts.xml • Estrutura de um Action • ActionSupport • Prepareble • Struts 2 e suas tags • s:form • s:head • s:include • s:textfield • s:textarea • s:submit • s:action • Exercício: Converter os formulários da aplicação, utilizando as tags do Struts • Validação de dados do formulário • Exercício: Validar os formulários do projeto modelo, com base no requisitos do projeto • Interceptor • Como funciona o intereceptor • Como verificar a sessão do usuário com interceptor • Configurando o LoginInterceptor • Exercício: Remover o filtro do sistema e configurar o LoginInterceptor • Como tabular dados utilizando o displaytag Exercício: Adicionar filtros e ordenação aos formulários SGAS 910, Conj. B, Bloco D, Sala 237 - Mix Park Sul, CEP 70390-100, Brasília (DF) Telefones:(61) 3244-2510 / 3242-4339 – www.x25.com.br