Aula 04 - Resumo - Java EE
Aula 04 - Resumo - Java EE
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
→ common annotations
- 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.
- é 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
⤷ 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” %>
→ 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
- 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)