0% acharam este documento útil (0 voto)
23 visualizações9 páginas

Aula 04 - Resumo - Java EE

Enviado por

gabrielamacedopg
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
23 visualizações9 páginas

Aula 04 - Resumo - Java EE

Enviado por

gabrielamacedopg
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 9

CAIXA

Desenvolvimento de Software
Aula 04 - Java EE

→ java ee
- ou JEE ou J2EE
- é um conjunto de especificações destinadas ao desenvolvimento de aplicações
distribuídas, robustas, potentes, escaláveis, multicamadas e de alta disponibilidade

- arquitetura java ee:


⤷ client system (camada do cliente)
⤷ web container (camada web)
⤷ EJB container (camada de negócio)
⤷ database (camada de dados ou camada EIS)
* as camadas web e de negócios podem ser condensadas numa camada chamada servidor
Java EE

- modelo de aplicações java ee


⤷ em vista de suportar aplicações que implementam serviços corporativos, são
inerentemente complexas, acessando dados de diversas fontes e distribuindo as aplicações
entre os clientes
⤷ modelo de aplicações java ee define arquitetura para implementação de serviços como
aplicações multicamadas que fornecem escalabilidade, acessibilidade e gerenciabilidade
necessários para aplicações corporativas → nesse sentido, a lógica de apresentação e a
lógica de negócio são implementadas pelo desenvolvedor e os outros serviços fornecidos
pela plataforma java ee
- conforme dito, existem duas aplicações multicamadas java ee divididas nos seguintes
níveis:
⤷ camada do cliente ⇒ componentes rodam na máquina do cliente
⤷ camada web ⇒ componentes rodam no servidor java ee
⤷ camada de negócio ⇒ componentes rodam no servidor java EE
⤷ camada EIS ⇒ software roda no servidor EIS
- java ee6 traz o conceito de profile → busca definir um subconjunto das tecnologias dentre
as disponíveis na plataforma jee
⤷ cada aplicação tem sua particularidade, não sendo necessário implementar todas as
tecnologias da plataforma, podendo ser criados perfis cada um com sua configuração
- existem dois perfis importantes: web profile e full profile, o primeiro é um subconjunto do
segundo e ajuda desenvolvedores a criarem aplciações mais leves para rodar em um servlet
container

- o processo de implantar (para alguns, instalar) uma aplicação em um servidor java EE é


chamado deploy ou deployment
⤷ sabe se que componentes são agrupados em módulos compactados em .zip e na
implamentação, mapeia-se cada componente do java EE para seu contêiner correspondente
⤷ três tipos básicos de módulo
⤷ EAR File ⇒ contém aplicação completa e seus módulos e é composta por vários arquivos
war e jar
⤷ web module (war) ⇒ web application archives, contém a aplicação web e é o que
forma a página em si
⤷ ejb module (jar) ⇒ java application arquives, contém a aplicação EJB, aplicação
cliente e applets além de arquivo de configuração dos aplicativos
⤷ connector module (rar) ⇒ resource adapter, contpem interfaces, classes,
bibliotecas etc

→ common annotations

- olhar as javax.annotations no pdf!

- Uma anotação, em linguagens de programação, é uma forma de adicionar metadados a


partes do código fonte. Esses metadados podem ser usados pelo compilador, por
ferramentas de análise estática, ou mesmo por outras partes do código em tempo de
execução para realizar determinadas ações ou para prover informações adicionais sobre o
código.
⤷ em Java, por exemplo, as anotações são representadas por símbolos precedidos pelo
símbolo '@'
⤷ no caso, os comandos que tão no pdf são as classes que importamos, as quais
invocamos as anotações através do uso do @

- A sintaxe javax em Java é uma convenção de nomenclatura usada para pacotes Java que
são mantidos por organizações fora da biblioteca principal do Java padrão (java.*) e são
considerados extensões ou bibliotecas adicionais. O prefixo "javax" é uma abreviação de
"Java Extension", indicando que esses pacotes fornecem funcionalidades adicionais ou
estendidas para a plataforma Java.
⤷ os pacotes javax geralmente contêm APIs que são mais específicas para certos domínios
de aplicativos ou tecnologias.

- geralmente esse assunto não é cobrado


- um componente Java EE é uma unidade autocontida, porque pode ser reusada sem a
necessidade de incluir ou depender de outros componentes. Ademais, eles são escritos na
linguagem de programação Java, no entanto não são necessariamente executados
exclusivamente em servidores, podem ser executados no cliente

→ java server pages (jsp)

- é uma linguagem de script server side com especificação aberta cujo principal objetivo é
geração simples, prática e rápida de conteúdo dinâmico para páginas web
- é uma tecnologia da JEE que permite usar código java dentro de páginas web ou tags que
realizem sua lógica (tags no caso no html)
- por ser tecnologia java, seus objetos são definidos segundo a definição da linguagem e
podem usar de todos os seus recursos como modificadores de acesso, tratamento de
exceções etc
- tecnologia para geração de documentos baseados em texto e executados ao lado do
servidor → esse texto pode ser dados estáticos (HTML/XML) ou um conjunto de elementos
JSP e tags customizadas que definem como a página construirá conteúdo dinâmico
- páginas jsp são compilada em servlets e tipicamente se tornam um
⤷ jsp existe mais para simplificar o processo de criação de páginas ao separar a
apresentação do conteúdo
⤷ tipicamente se tornam servlet pois a página jsp passa por uma camada adicional em que
a página é compilada e transformada em servlet no servidor web
- arquivo é .jsp ou .jspx quando obedece às regras do XML
- jsp torna possível desenvolver aplicações web sem ter que escrever todo código estático
dentro de servlets
- jsp permite separação entre as Servlets (lógica de negócio, criada pelos desenvolvedores
java) e as páginas JSP (camada de apresentação, criadas pelos web designers)
- grande benefício: integração com html
- objetos implícitos são objetos criados automaticamente pelo contêiner jsp e
posteriormente disponibilizados aos desenvolvedores, de maneira que eles não precisam ser
instanciados explicitamente. jsp tem 9:
1. request → objeto do tipo HttpServletRequest e contém a informação do pedido http
2. response → objeto do tipo HttpServerResponse e contém a resposta http que vai ser
enviada ao cliente
3. pageContext → objeto do tipo PageContext e contém informações de contexto para
execução da página
4. application → objeto do tipo ServletContext que permite compartilhar informações
entre todos os componentes web da aplicação
5. out → objeto da classe JspWriter que permite imprimir para o response através do
método println
6. config → objeto do tipo ServletConfig da página JSP
7. page → sinônimo do operador “this” do objeto HttpJspPage
8. session → objeto do tipo HttpSession que guarda informações da sessão de um
usuário específico entre múltiplas requisições
9. exception → é o objeto throwable que é resultante de uma situação de erro numa
página JSP
- declarações
⤷ são similares às declaraçõs em java e definem variáveis, objetos e métodos para uso
subsequente em expressões ou scriptlets
⤷ uma declaração declara com !
⤷ <%! public final static String[] estacoes = {"Primavera", "Verão", "Outono", "Inverno"} %>
⤷ sintaxe: <%! … %>

- expressões
⤷ retornam valores que são inseridos dinamicamente na página no lugar da expressão, ou
seja, toda expressão é avaliada, executada, convertida em uma string e inserida no local
onde aparece a expressão no arquivo JSP
⤷ expressões são usadas para embutir o resultado da avaliação de uma expressão na
página JSP
⤷ o valor é convertido em um objeto string e inserido no objeto implícito out
⤷ sintaxe: <%= … %>
⤷ chat gpt esclarece melhor o conceito! 27.03.24

- scriptlets
⤷ são blocos de código java embutidos em uma página JSP
⤷ qualquer código válido em java pode ser inserido em um scriptlet
⤷ sintaxe padrão: <% … %>
⤷ quando transformamos páginas JSP em servlets, tudo que for scriptlet é traduzido para
chamadas out.println() e a variável de uma linguagem de programação criada dentro de um
scriptlet pode ser acessada de qualquer lugar dentro da página JSP
⤷ a expressão <% expressão X> equivale a out.println(expressão), visto que o valor da
expressão é convertido em uma string e inserido no objeto implícito out

- comentários
⤷ não difere das demais, ignorados pelo tradutor e sintaxe <%-- comentário jsp --%>

- ações
⤷ permitem acessar e alterar regras de negócio através das propriedades de javabeans →
javabeans são componentes reutilizáveis de software que podem ser manipulados
visualmente com a ajuda de uma ferramenta de desenvolvimento
⤷ também disponibilizam comando para redirecionamento de requisições jsp para outra
servlet ou página jsp
⤷ usa a sigla jsp, através da sintaxe “<jsp: … />”
⤷ mais famosas:
⤷ jsp: include → usada para inserir conteúdo dinâmico em tempo de solicitação
⤷ jsp: forward → usada para redirecionar requisições para outra página jsp
⤷ jsp: param → usada para passar parâmetros para outra ação jsp
⤷ jsp:useBean → usada quando se deseja invocar/instanciar um JavaBean
⤷ jsp:plugin → usada para executar e mostrar um objeto no browser (ex applet)
⤷ jsp:setProperty → usada para setar o valor da propriedade de um JavaBean
⤷ jsp:getProperty → usada pra recuperar o valor da propriedade de um JavaBean
- diretivas
⤷ instruções enviadas ao servidor contendo informações que definam algum procedimento
para o processo de compilação da página
⤷ são instruções processadas quando a página jsp é compilada em uma servlet
⤷ usadas para importar classes, inserir dados externos etc
⤷ 3 diretivas principais
⤷ page → define atributos de configuração da página jsp

ex: <%@ page import = “java.swing.” %>

⤷ include → inclui recursos estáticos em página jsp [ex <%@ include file = “teste.jsp”
%>
⤷ taglib → estende o conjunto de tags através de uma biblioteca de tags [ex <%@
taglib uri = “http://serlets.com/testes” prefix = “ops” %>

- expression language (JSPEL)


⤷ interpretada pelo servlet container e busca renovar um pouco do código java que fica na
página JSP
⤷ permite web designers recuperarem atributos e parâmetros facilmente usando tags html
like
⤷ uma sintaxe simples é ${expressão}
⤷ ex: <jsp:setProperty name="cubo" property="perimetro" value="120"/> pode ser feito como
<jsp:setProperty name="cubo" property="perimetro" value="${12*cubo.aresta}"/>
⤷ ele permite especificar uma expresão para qualquer um dos atributos mostrados (no caso
as propriedades do cubo
⤷ quando o compilador jsp encontrar a forma ${...} em um atributo, ele gerará código para
avaliar a expressão e substituir seu valor
⤷ o valor do perímetro do cubo é dado pela expressão, de modo que o operador ponto
permite acessar o valor da propriedade aresta do JavaBeans cubo e recupera seu valor
⤷ o operador colchetes pode acessar dados de listas, vetores e mapas
⤷ ${Lista[Carro]} ou ${Lista[“Carro”]} ou ${Lista.Carro}
⤷ JSPEL tem funções estendidas de mapeamento em métodos estáticos de classes java →
permite a definição de funções que podem ser chamadas em uma expressão ⇒ para tanto,
deve-se definir o método da classe como público e estático, mapear o nome da função no
Tag Library Descriptors (TLD) e usar a diretiva taglib para importar a biblioteca de tags
personalizadas que contém essa função, invocando-a pelo seu prefixo

→ servlets

- no conteiner web fica a servlet, que é uma api independente de plataforma, escrita em java
e que roda no servidor (conteiner web), procssando requisições e enviando respostas e que
pode ser traduzida como “servidorzinho” pois é usadopara estender as funcionalidades de
um servidor
- a documentação oficial diz que se trata de uma classe java pura para estender a
capacidade dos servidores que hospedam aplicações acessadas por um modelo requisição
resposta
⤷ em geral fornecem conteúdo web dinamicos (normalmente em html) às paginas web,
processando requisições/respostas, filtrando dados etc
- usam qualquer protocolo, não só http
- servlets rodam no servidor (JVM) → é quase como um applet mas server side
- temos dois tipos de páginas web dinâmicas
⤷ client side: páginas que permitem mudanças em sua interface como resposta a ações do
mouse, teclado, etc
⤷ server side: variam de acordo com os parâmetros fornecidos por um usuário/programa
com o intuito de aumentar o potencial de comunicação e interação com cada usuário
especificamente
⤷ javax.servlet → é um conjunto de classes e interfaces importado ao código, responsáveis
pela comunicação com diversos protocolos (ex ServletRequest e ServletResponse)
⤷ ServletContext → interface que define contexto pois uma unidade de aplicação web para
executar servlets e págnas JSP precisam estar nu contexto de aplicação web →
ServletContext é um conjunto de métodos que uma servlet usa para interagir com seu servlet
container
⤷ cada servlet possui seu ServletConfig, do contrário do ServletContext, que serve para
qualquer servlet do contexto
⤷ em servlets, para devolver a resposta ao cliente, devemos primeiro definir o tipo de saída
⤷ usamos o método getWriter para capturar caracteres de resposta e inseri-los em um
objeto out, onde podemos usar o método println para escrever a saída
⤷ método getParameter retorna o valor do parâmetro de uma requisição como uma string,
sendo útil para passagem de dados de um formulário do cliente, ou seja, através dele, a
servlet pode capturar dados de formulários
⤷ ciclo de vida do servlet: servidor recebe requisição e repassa ao container, que delega a
um servlet, o container carrega a classe e cria uma instância da classe do servlet e inicia a
instância chamando o método init

→ java server pages standard tag library (JSTL)


- é basicamente uma biblioteca de tags para uma página JSP
- adiciona uma biblioteca de tags que encapsula as principais funcionalidades comuns a
diversas aplicações como controle de fluxo, manipulação de xml, internacionalização,
acesso a banco de dados, etc
- há quem afirme que seja um conjunto de bibliotecas, cada uma com propósito bem
definido que encapsula em tags simples toda a funcionalidade necessária ao
desenvolvimento de algumas páginas web
- ela reduz ou até elimina o uso de scripts
- tanto scriplets quanto bibliotecas são compiladas em servlets, que são executadas por um
contêiner
⤷ o código das scriplets são basicamente copiados na servlet resultante, mas as tags geram
um pouco mais de código (além disso, scriplets são mais poderosas que as tags JSTL)
12345 100%

→ java server faces (JSF)


- é fruto do framework Struts, que era uma implementação da arquitetura MVC para o
desenvolvimento de páginas web dinâmicas, usando servlets e JSP
- é tanto uma especificação quanto um framework
- podemos definir como uma tecnologia que permite criar aplicações web usando
componentes visuais pré prontos, de forma que o desenvolvedor não se preocupe com
javascript ou HTML
- é composta por dois aspectos
⤷ uma API para representar componentes e gerenciar estados, manipular eventos, realizar
validação server side, converter dados, definir navegação de páginas, suportar
internacionalização e acessibilidade
⤷ segunto, taglibs para adicionar componentes a páginas web e conectar componentes a
objetos server side
- o modelo de componentes JSF define três taglibs
⤷ HTML: componentes que representam elementos HTML [<h]
⤷ CORE: responsável por internacionalização, validação, conversão, entre outros[<f]
⤷ FACELETS: fornece tags para criar templates para aplicações web [<ui]
- jsf fornece maneira fácil de criar aplicações web por meio de 3 atividades
⤷ criar uma página web, usando tags de componentes
⤷ desenvolver managed beans
⤷ mapear a instância facesservlet
- managed bean são objetos que intermediam a comunicação entre a visão e o modelo e tem
seu ciclo de vida controlado e gerencado pelo próprio JSF
⤷ principais tarefas: fornecer dados que serão exibidos, receber dados enviados nas
rquisições, executar tarefas de acordo com ações, validar dados
- dois componentes essenciais
⤷ facesservlet: é um servlet que gerencia o ciclo de vida do processamento de requisições
de aplicações web que usam JSF para construir sua interface com o usuário (recebe
requisições dos componentes view do MVC)
⤷ faces-config.xml: responsáveis por receber as requisições da view, redirecioná-las para os
managed beans do model e respondê-las (responsável por descrever os elementos e sub
elementos)
- por ser uma evolução da JSP, o ciclo de vida dele é parecido
⤷ o arquivo que tem instruções/configuração é o faces-config.xml

- jsf: facelets
⤷ linguage de declaração de página poderosa, uma vez que antigamente se usava a JSP
mas ela não suporta todas as características disponíveis na Java EE
⤷ em geral, facelets views são criadas com páginas html e xhtml

- jsf: filtros
⤷ um filtro é um objeto capaz de realizar tarefas de filtragem
⤷ tanto na requisição de um recurso como na resposta desse recurso usam o método
doFilter

***
- os componentes jsf são orientados a eventos

123456789
1
Prezados, boa tarde!
Me inscrevi no processo seletivo de estágio 2024 na semana passada, contudo, apesar de
ter recebido e-mail de confirmação de inscrição, não recebi mais emails sobre as próximas
etapas e busquei me informar, quando vi que a prova tinha acontecido em 26/03.

De todo modo, consoante meu sumo interesse em participar do processo seletivo, em vista
da inviabilidade de participar do processo seletivo, vim enviar meu currículo para que seja
anexado ao banco de talentos e de repente considerado para eventual oportunidade futura,
em vista que a (empresa trabalha muito ocm Java e é a tecnologia que mais gosto e estou
buscando aperfeiçoar meus conhecimentos e habilidades)

Oi Daniela, tudo bem?


Me chamo Gabriela, apliquei recentemente para a vaga aberta de estágio em BI na Moura, e
tive muito interesse , considerando que é a área que estou buscando aprofundar meus
estudos. Gostaria de saber se existe

tive muito interesse

Você também pode gostar