1. O container gerencia e executa os servlets e é responsável pela comunicação com o servidor, pelo ciclo de vida dos servlets e pelo suporte a multithreading.
2. O container mapeia URLs para servlets específicos usando o deployment descriptor XML.
3. O deployment descriptor XML permite mapear nomes internos, de classes e URLs dos servlets e também configurar aspectos como segurança.
O documento discute servlets, Java Server Pages (JSP) e o ciclo de vida de um servlet. Servlets estendem a funcionalidade de um servidor web para fornecer acesso seguro a sites e gerar dinamicamente documentos personalizados. JSP permite aos desenvolvedores criar páginas dinâmicas com código Java. O ciclo de vida de um servlet inclui métodos como init(), service() e destroy().
Este documento fornece uma introdução aos servlets Java. Resume os principais pontos abordados:
1) Introduz os conceitos básicos de servlets, como classes Java que estendem funcionalidades de servidores; 2) Discutem a API de servlets, incluindo ciclo de vida, requisições, respostas e métodos de serviço; 3) Fornece exemplos de como escrever servlets genéricos e HTTP.
Este documento fornece um resumo sobre WebServlets de acordo com a especificação Java EE 7. Ele contém informações sobre aplicações Web, WebServlets, requisições e respostas HTTP, URLs e redirecionamento, contexto da aplicação, sessão do cliente, filtros interceptadores e arquitetura MVC.
O documento introduz conceitos básicos sobre servlets e JSP, incluindo: (1) servlets são classes Java que estendem a funcionalidade de servidores web; (2) JSPs combinam HTML com código Java; (3) servlets processam requisições e geram respostas, enquanto JSPs focam na exibição de resultados.
O documento resume as principais mudanças na versão 2.0 do framework CakePHP, incluindo o abandono do suporte ao PHP 4, a adoção do PHPUnit para testes de unidade, a reestruturação de componentes, sessões e visões, a adição de novas funcionalidades como PDO e reescrita de URLs.
O documento discute arquitetura web, containers web, aplicações web e servlets. Ele explica como servlets funcionam, suas tecnologias do lado do servidor, o ciclo de vida de uma servlet, a API servlet HTTP e como implementar, compilar e implantar uma servlet.
O documento discute servlets, Java Server Pages (JSP) e o ciclo de vida de um servlet. Servlets estendem a funcionalidade de um servidor web para fornecer acesso seguro a sites e gerar dinamicamente documentos personalizados. JSP permite aos desenvolvedores criar páginas dinâmicas com código Java. O ciclo de vida de um servlet inclui métodos como init(), service() e destroy().
Este documento fornece uma introdução aos servlets Java. Resume os principais pontos abordados:
1) Introduz os conceitos básicos de servlets, como classes Java que estendem funcionalidades de servidores; 2) Discutem a API de servlets, incluindo ciclo de vida, requisições, respostas e métodos de serviço; 3) Fornece exemplos de como escrever servlets genéricos e HTTP.
Este documento fornece um resumo sobre WebServlets de acordo com a especificação Java EE 7. Ele contém informações sobre aplicações Web, WebServlets, requisições e respostas HTTP, URLs e redirecionamento, contexto da aplicação, sessão do cliente, filtros interceptadores e arquitetura MVC.
O documento introduz conceitos básicos sobre servlets e JSP, incluindo: (1) servlets são classes Java que estendem a funcionalidade de servidores web; (2) JSPs combinam HTML com código Java; (3) servlets processam requisições e geram respostas, enquanto JSPs focam na exibição de resultados.
O documento resume as principais mudanças na versão 2.0 do framework CakePHP, incluindo o abandono do suporte ao PHP 4, a adoção do PHPUnit para testes de unidade, a reestruturação de componentes, sessões e visões, a adição de novas funcionalidades como PDO e reescrita de URLs.
O documento discute arquitetura web, containers web, aplicações web e servlets. Ele explica como servlets funcionam, suas tecnologias do lado do servidor, o ciclo de vida de uma servlet, a API servlet HTTP e como implementar, compilar e implantar uma servlet.
O documento fornece instruções para instalação e configuração do Eclipse e do Tomcat, necessários para o desenvolvimento de aplicações Java no Eclipse. Inclui links para download do Eclipse e do Tomcat, além de etapas como configurar a JRE do Eclipse para JDK, adicionar o servidor Tomcat no Eclipse e criar um projeto e página JSP de teste.
O documento descreve como codificar um servlet em Java usando as classes HttpServlet e HttpServletRequest/Response. Explica que um servlet deve estender HttpServlet e implementar os métodos doGet() ou doPost() dependendo do tipo de requisição. Também mostra como criar um servlet simples que retorna a data atual e mapeá-lo em um arquivo web.xml.
1) O documento resume os principais tópicos sobre desenvolvimento web com Java Servlets, incluindo arquitetura MVC, ciclo de vida de servlets, mapeamento de URLs, redirecionamento e uso de sessões.
2) Os capítulos discutem métodos HTTP, requisições e respostas, listeners de eventos, parâmetros de inicialização e dispatching de requisições.
3) O documento fornece detalhes técnicos importantes sobre o framework Servlet e é útil para estudar para a certificação SCWCD 5.0.
Introdução ao desenvolvimento web com JavaFellipeFonseca
O documento apresenta uma introdução ao desenvolvimento web com Java abordando tópicos como servlet container, HTML, servlet, JSP, modelo MVC, cookies e sessões. O documento é uma apresentação feita por Fellipe Fonseca da Universidade Estadual de Feira de Santana.
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
Este documento fornece uma introdução ao framework Cactus, que permite testar componentes J2EE no próprio container do servidor. Resume as principais funcionalidades do Cactus em 3 frases:
Cactus estende o JUnit para permitir testar a integração de aplicações J2EE como servlets, JSPs e EJBs com o container do servidor, executando os testes simultaneamente no cliente e no servidor. Ele simula requisições HTTP para testar a funcionalidade dos componentes e verificar se os dados são processados corretamente. Cactus permite
As ferramentas netcat e Apache Benchmark (ab) podem ser usadas para simular carga e testar desempenho de aplicações web stateless e stateful. JMeter é uma ferramenta gráfica para teste de carga que permite definir planos de teste com threads simulando usuários e coletar métricas de desempenho.
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
O documento discute o padrão MVC com JSP e Servlets, separando as funcionalidades em três camadas: Model, View e Controller. Apresenta também um mini-tutorial sobre como implementar este padrão em um sistema simples de sugestão de cervejas.
1. O documento discute os conceitos e mecanismos de segurança padrão no Java EE, incluindo autenticação, autorização e comunicação segura.
2. São descritos os principais componentes de segurança como realms, principals, roles e as APIs de autenticação como BASIC, DIGEST e FORM.
3. São explicados os processos de autenticação na camada web e em componentes EJB, assim como o uso de SSL/TLS para comunicação segura.
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
Este documento fornece um tutorial sobre o desenvolvimento de serviços web RESTful usando a especificação JAX-RS no Java EE 7. Explica conceitos como recursos, métodos HTTP, templates de caminho e anotações para mapear recursos e métodos. Também fornece exemplos simples de implementação de recursos RESTful com JAX-RS.
UOL Tech Day: Testes de Integração com OpenEJBGabriel Ozeas
O documento descreve testes de integração com OpenEJB, permitindo executar aplicações e testes localmente de forma integrada. OpenEJB é um container EJB leve que permite criar recursos como datasources dentro dos testes para simular dependências.
O documento fornece um resumo sobre JDBC (Java Database Connectivity), descrevendo suas principais características como uma interface baseada em Java para acesso a bancos de dados através de SQL e apresentando conceitos como DriverManager, Connection, Statement, ResultSet e transações.
Integração Contínua com CVS, CruiseControl, AntHill, GumpDenis L Presciliano
O documento apresenta três ferramentas de integração contínua - CruiseControl, AntHill e Gump - que combinam Ant, JUnit e sistemas de controle de versão como CVS. É descrito o funcionamento do CVS e como ele é usado com Ant. As ferramentas automatizam a compilação e teste do código-fonte sempre que novos commits são feitos no repositório.
Este documento fornece um resumo sobre Java Server Pages (JSP):
1) JSP permite implementar servlets escrevendo código Java em páginas HTML/XML para gerar dinamicamente conteúdo da web.
2) JSP usa marcadores especiais para inserir código Java em páginas, que são compiladas em servlets antes de serem executadas.
3) Objetos como request, response, out e session estão implicitamente disponíveis em JSP para acessar dados de entrada/saída.
Conteudo sobre java e suas features por versão (8, 9, 10, 11), SOA X MICROSERVICES, versionamento de contrato, Protocolo HTTP E HTTPS .
java 8 - streams e Metodos default.
java 9 - jigsaw e jshell.
java 10 - Local variable type Inference E Garbage Collector Interface.
java 11 - Local-Variable Syntax for Lambda Parameters E Launch Single-File Source-Code Programs.
Introdução ao Desenvolvimento de aplicações WEB com JSPManoel Afonso
Slides do minicurso "Introdução ao Desenvolvimento de aplicações WEB com JSP" apresentado na Universidade Federal do Pará nos dias 4 e 5 de novembro de 2013 durante a III Semana Acadêmica da FACOMP.
Teste de Usabilidade - Nova página de pacotesAna Pires
O teste de usabilidade avaliou a nova página de pacotes do Hotel Urbano. Os usuários tiveram dificuldades em diferenciar buscas e encontrar pacotes para mais de uma pessoa. Também questionaram as taxas e não entendiam que precisariam agendar após a compra. As melhorias sugeridas incluem destacar exceções, quantidade de pessoas e datas especiais, além de melhorar carregamento e menus.
O documento fornece instruções para instalação e configuração do Eclipse e do Tomcat, necessários para o desenvolvimento de aplicações Java no Eclipse. Inclui links para download do Eclipse e do Tomcat, além de etapas como configurar a JRE do Eclipse para JDK, adicionar o servidor Tomcat no Eclipse e criar um projeto e página JSP de teste.
O documento descreve como codificar um servlet em Java usando as classes HttpServlet e HttpServletRequest/Response. Explica que um servlet deve estender HttpServlet e implementar os métodos doGet() ou doPost() dependendo do tipo de requisição. Também mostra como criar um servlet simples que retorna a data atual e mapeá-lo em um arquivo web.xml.
1) O documento resume os principais tópicos sobre desenvolvimento web com Java Servlets, incluindo arquitetura MVC, ciclo de vida de servlets, mapeamento de URLs, redirecionamento e uso de sessões.
2) Os capítulos discutem métodos HTTP, requisições e respostas, listeners de eventos, parâmetros de inicialização e dispatching de requisições.
3) O documento fornece detalhes técnicos importantes sobre o framework Servlet e é útil para estudar para a certificação SCWCD 5.0.
Introdução ao desenvolvimento web com JavaFellipeFonseca
O documento apresenta uma introdução ao desenvolvimento web com Java abordando tópicos como servlet container, HTML, servlet, JSP, modelo MVC, cookies e sessões. O documento é uma apresentação feita por Fellipe Fonseca da Universidade Estadual de Feira de Santana.
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
Este documento fornece uma introdução ao framework Cactus, que permite testar componentes J2EE no próprio container do servidor. Resume as principais funcionalidades do Cactus em 3 frases:
Cactus estende o JUnit para permitir testar a integração de aplicações J2EE como servlets, JSPs e EJBs com o container do servidor, executando os testes simultaneamente no cliente e no servidor. Ele simula requisições HTTP para testar a funcionalidade dos componentes e verificar se os dados são processados corretamente. Cactus permite
As ferramentas netcat e Apache Benchmark (ab) podem ser usadas para simular carga e testar desempenho de aplicações web stateless e stateful. JMeter é uma ferramenta gráfica para teste de carga que permite definir planos de teste com threads simulando usuários e coletar métricas de desempenho.
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
O documento discute o padrão MVC com JSP e Servlets, separando as funcionalidades em três camadas: Model, View e Controller. Apresenta também um mini-tutorial sobre como implementar este padrão em um sistema simples de sugestão de cervejas.
1. O documento discute os conceitos e mecanismos de segurança padrão no Java EE, incluindo autenticação, autorização e comunicação segura.
2. São descritos os principais componentes de segurança como realms, principals, roles e as APIs de autenticação como BASIC, DIGEST e FORM.
3. São explicados os processos de autenticação na camada web e em componentes EJB, assim como o uso de SSL/TLS para comunicação segura.
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
Este documento fornece um tutorial sobre o desenvolvimento de serviços web RESTful usando a especificação JAX-RS no Java EE 7. Explica conceitos como recursos, métodos HTTP, templates de caminho e anotações para mapear recursos e métodos. Também fornece exemplos simples de implementação de recursos RESTful com JAX-RS.
UOL Tech Day: Testes de Integração com OpenEJBGabriel Ozeas
O documento descreve testes de integração com OpenEJB, permitindo executar aplicações e testes localmente de forma integrada. OpenEJB é um container EJB leve que permite criar recursos como datasources dentro dos testes para simular dependências.
O documento fornece um resumo sobre JDBC (Java Database Connectivity), descrevendo suas principais características como uma interface baseada em Java para acesso a bancos de dados através de SQL e apresentando conceitos como DriverManager, Connection, Statement, ResultSet e transações.
Integração Contínua com CVS, CruiseControl, AntHill, GumpDenis L Presciliano
O documento apresenta três ferramentas de integração contínua - CruiseControl, AntHill e Gump - que combinam Ant, JUnit e sistemas de controle de versão como CVS. É descrito o funcionamento do CVS e como ele é usado com Ant. As ferramentas automatizam a compilação e teste do código-fonte sempre que novos commits são feitos no repositório.
Este documento fornece um resumo sobre Java Server Pages (JSP):
1) JSP permite implementar servlets escrevendo código Java em páginas HTML/XML para gerar dinamicamente conteúdo da web.
2) JSP usa marcadores especiais para inserir código Java em páginas, que são compiladas em servlets antes de serem executadas.
3) Objetos como request, response, out e session estão implicitamente disponíveis em JSP para acessar dados de entrada/saída.
Conteudo sobre java e suas features por versão (8, 9, 10, 11), SOA X MICROSERVICES, versionamento de contrato, Protocolo HTTP E HTTPS .
java 8 - streams e Metodos default.
java 9 - jigsaw e jshell.
java 10 - Local variable type Inference E Garbage Collector Interface.
java 11 - Local-Variable Syntax for Lambda Parameters E Launch Single-File Source-Code Programs.
Introdução ao Desenvolvimento de aplicações WEB com JSPManoel Afonso
Slides do minicurso "Introdução ao Desenvolvimento de aplicações WEB com JSP" apresentado na Universidade Federal do Pará nos dias 4 e 5 de novembro de 2013 durante a III Semana Acadêmica da FACOMP.
Teste de Usabilidade - Nova página de pacotesAna Pires
O teste de usabilidade avaliou a nova página de pacotes do Hotel Urbano. Os usuários tiveram dificuldades em diferenciar buscas e encontrar pacotes para mais de uma pessoa. Também questionaram as taxas e não entendiam que precisariam agendar após a compra. As melhorias sugeridas incluem destacar exceções, quantidade de pessoas e datas especiais, além de melhorar carregamento e menus.
Padrões de projeto para o Android - Interação para desenvolvedoresGustavo Bitencourt
O documento discute os padrões de projeto para interfaces do Android, enfatizando que tudo é plano e minimalista para colocar o conteúdo em destaque. Ele também fornece recomendações de projeto como usar barras de ação bidimensionais, botões planos sem sombras e permitir interações em qualquer lugar da tela.
Controle de qualidade que foi rejeitado por um de nossos inspetores.
Carga estava mais de 40% não-conforme e estava pronta para o embarque segundo o fornecedor.
O documento descreve as principais funcionalidades do TestLink, um software de gerenciamento de testes de software livre e de código aberto. Ele permite cadastrar usuários, projetos, planos de teste, requisitos, casos de teste e executar os testes, gerando relatórios. O TestLink também integra com o Mantis para registro de falhas.
Este documento fornece um resumo sobre ferramentas de gestão de testes. Discute brevemente ferramentas como Bugzilla Test Runner e Mercury Interactive Test Director, e explica conceitos como planos de teste e casos de teste.
O documento apresenta o TestLink, uma ferramenta open source para gerenciamento de testes. Ele descreve os principais conceitos como casos de teste, planos de teste e projetos de teste. Também mostra as telas do sistema para realizar atividades como cadastro de projetos, planos de teste, casos de teste e execução dos testes.
The document provides step-by-step instructions for using the TestLink test management system. It explains how to create projects, test cases, test plans, assign testers, execute test cases, and view reports. Additional features covered include assigning keywords to test cases and specifying requirements. The benefits of TestLink include having structured and organized documentation, version control, and the ability to track and report on the testing process.
Este documento discute a importância dos testes de software e ferramentas para testes. Ele explica que testes de software podem identificar falhas antes que aconteçam, economizando dinheiro evitando problemas quando o software é lançado. Também discute como ferramentas como JUnit, Selenium e JMeter podem ser usadas para executar diferentes tipos de testes e melhorar a qualidade do software.
O documento apresenta o sistema de gerenciamento de testes TestLink, descrevendo seus principais recursos e funcionalidades em 8 passos: 1) criação de projetos, 2) criação de casos de teste, 3) especificação de planos de teste, 4) especificação de builds, 5) adição de casos de teste em planos de teste, 6) atribuição de execução de casos de teste a testadores, 7) execução de testes, e 8) geração de relatórios e gráficos.
1) O documento discute a arquitetura de aplicações web usando servlets e containers como o Tomcat.
2) Servlets precisam de containers para gerenciar seu ciclo de vida e fornecer funcionalidades como suporte a múltiplas threads e segurança.
3) Containers mapeiam URLs para servlets específicos e gerenciam o fluxo de requisições e respostas HTTP.
O documento apresenta uma introdução sobre servlets, JSP e servidores de aplicação, definindo suas principais características e funcionalidades como componentes para desenvolvimento web em Java.
Este documento discute Servlets e JSPs, incluindo por que usá-los, o que fazem clientes e servidores web, e como eles se comunicam usando HTML e HTTP. Também explica como containers mapeiam requisições para servlets usando um deployment descriptor.
Este documento descreve os principais componentes de Servlets e JSP, incluindo o funcionamento de Servlets através de seus métodos init, service e destroy, e as principais características de JSP como diretivas, declarações, scriptlets e expressões.
O documento fornece uma introdução ao framework Struts, explicando sua arquitetura MVC, como configurar uma aplicação web usando Struts com detalhes sobre os arquivos de configuração necessários e os principais componentes.
O documento descreve as tecnologias Servlets, JSP e Tomcat para desenvolvimento de aplicações web dinâmicas. Ele explica como o HTTP funciona com requisições GET e POST, como Servlets e JSP permitem processamento de dados no lado servidor, e como eles podem ser implementados juntos usando o padrão MVC com Tomcat.
O documento resume as principais features introduzidas nas versões Java 8, 9, 10 e 11, incluindo expressões lambda, Stream, Jshell, HTTP client e interferências de tipos. Também discute sobre microserviços, protocolo HTTP, códigos de status e versionamento de contrato de APIs.
Este documento fornece um resumo de 3 frases sobre tecnologias para desenvolvimento de software:
1) Apresenta um curso sobre diversas tecnologias Java como Servlets, JSP, JSF, EJB e Spring. 2) Fornece detalhes sobre o instrutor Rafael Benevides e sua experiência com Java. 3) A agenda inclui discussões sobre Servlets, JSP, Hibernate e outros temas ao longo de 9 dias.
1) O documento discute Servlets e JSP, tecnologias Java para desenvolvimento de aplicações web.
2) Servlets são objetos Java que estendem a funcionalidade de servidores HTTP de forma independente de plataforma.
3) JSPs permitem programação através da saída e inclusão de código Java em páginas, gerando um servlet na primeira requisição.
Nesta apresentação falo sobre as boas práticas que se deve
ter com Web Services, e os erros mais comuns cometidos.
Existem dois tipos de Web Services que serão abordados, SOAP e RESTful.
A JAX-WS - é uma especificação Java para utilizar Web Services baseados em xml, através do protocolo SOAP.
A JAX-RS - é uma especificação Java para utilizar Web Services RESTful, através do protocolo HTTP.
Ambos tipos de Web Services, com serviços monolíticos, pois para microsserviços, existe uma outra JSR.
O documento discute os conceitos de web services, REST e SOAP. Define web services como sistemas de software que permitem a interação entre máquinas através de redes. Compara SOAP e REST, destacando que SOAP usa XML e HTTP enquanto REST usa métodos HTTP para acessar recursos representados por URIs.
Aqui são apresentados conceitos básicos sobre o paradigma web. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
O documento descreve o WebSphere Application Server (WAS) da IBM, incluindo o que é, demonstrações de instalação e fluxo de funcionamento. Também fornece exemplos de aplicações simples como "Olá Mundo" usando JSP e um WAR para implantação no servidor.
1) Aplicações web permitem que clientes ao redor do mundo acessem recursos em servidores;
2) Servidores recebem solicitações de clientes e devolvem respostas, como páginas HTML ou arquivos;
3) Clientes fazem solicitações usando navegadores e protocolos como HTTP, enquanto servidores respondem usando linguagens como HTML.
O documento discute os fundamentos de servlets em Java, cobrindo tópicos como:
1) A estrutura básica de servlets com os métodos doGet, doPost e init que definem o ciclo de vida;
2) Como gerar respostas HTML e texto simples a partir de um servlet;
3) Que o código principal fica nos métodos doGet e doPost, enquanto o init é chamado uma única vez.
Este documento fornece uma introdução ao desenvolvimento web usando Java, cobrindo tópicos como servlets, JSPs, estrutura de aplicações web, configuração do Tomcat e deploy de aplicações. Apresenta também breves descrições dos principais conceitos e ferramentas envolvidas no desenvolvimento web com Java.
O documento apresenta Alexandre Tarifa e seu currículo, incluindo sua experiência com ASP.NET MVC. O documento também fornece uma breve introdução ao ASP.NET MVC, explicando sua arquitetura Model-View-Controller e características como roteamento, modelos, controladores e views.
O documento apresenta Alexandre Tarifa e seu currículo, incluindo sua experiência com ASP.NET MVC. O documento também fornece uma breve introdução ao ASP.NET MVC, discutindo sua arquitetura MVC, rotas, modelos, controladores, views e helpers HTML.
O documento discute a infraestrutura da Internet e servidores web, incluindo: 1) a arquitetura cliente-servidor e os protocolos TCP/IP e HTTP; 2) populares servidores web como Apache, Nginx e Varnish; e 3) bancos de dados como MySQL e PostgreSQL usados com servidores web.
O documento apresenta uma introdução ao framework Ruby on Rails, discutindo seus principais componentes e arquitetura MVC. É explicado que Rails é baseado em convenções, possui bibliotecas como ActiveRecord e ActiveSupport e usa MVC para separar modelo, visão e controle. Também são descritos recursos como migrações, validações, controladores e rotas.
O documento apresenta breves biografias de 6 mulheres que atuam na área de tecnologia da informação: Márcia Carioni, Camila Achutti, Adriana da Costa, Andressa Martins, Cissa Gatto e Bárbara Castro. As biografias destacam suas formações acadêmicas, experiências profissionais e projetos relacionados à inclusão digital e empoderamento de mulheres na tecnologia.
Este documento apresenta uma introdução à aplicação da inteligência artificial e aprendizado de máquina na medicina. Ele discute tópicos como diagnóstico médico, assistência cirúrgica e gestão de saúde, além de aplicações como descoberta de medicamentos, ferramentas da Amazon para armazenamento e análise de dados médicos, e questões éticas relacionadas ao uso de IA na saúde. O documento também apresenta as credenciais e pesquisas da autora na área.
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
1. O documento descreve a metodologia proposta para classificação multirrótulo chamada Partições Híbridas para Classificação Multirrótulo (HPML), que utiliza particionamentos compostos por grupos de rótulos correlacionados.
2. A metodologia HPML é composta por várias variantes (HPML.A, HPML.B, etc) que diferem na forma de modelar as correlações entre rótulos e particioná-los.
3. Uma série de experimentos é realizada utilizando diversos conjuntos de dados reais
O documento descreve um método em 4 passos para explorar correlações entre rótulos e particionar o espaço de rótulos na classificação multirrótulo: 1) modelar correlações entre os rótulos, 2) agrupar correlações e gerar partições híbridas, 3) validar partições híbridas e escolher a melhor, 4) teste.
O documento apresenta a autora Elaine Cecília Gatto, sua formação acadêmica em engenharia de computação e ciência da computação, experiência profissional como professora e pesquisadora. A autora discute como pesquisas científicas em aprendizado de máquina, como random forest e KNN, impactam bibliotecas e pacotes de código aberto amplamente utilizados.
O documento discute a falta de representação feminina na ciência, tecnologia, engenharia e matemática e as soluções para empoderar as mulheres nestas áreas. Apresenta estatísticas sobre as dificuldades enfrentadas por mulheres em construir carreiras nestas áreas e a diferença salarial. Discute iniciativas para direcionar meninas para estas áreas desde a infância e criar um ambiente mais acolhedor e igualitário.
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
Este documento apresenta uma proposta para explorar correlações entre rótulos em problemas de classificação multirrótulo com o objetivo de gerar partições híbridas do espaço de rótulos que otimizem o desempenho dos classificadores. A proposta envolve modelar correlações entre rótulos usando métodos como Apriori ou medidas de similaridade e, em seguida, particionar os rótulos com base nas correlações usando agrupamento hierárquico para gerar partições híbridas entre as tradicionais partições globais e locais
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
1) O documento apresenta um método híbrido para classificação multirrótulo que combina abordagens globais e locais;
2) O método gera múltiplas partições híbridas dos dados usando técnicas de detecção de comunidades em grafos;
3) Os resultados experimentais mostraram que as partições híbridas tiveram desempenho competitivo ou superior em comparação com abordagens globais e locais convencionais.
O documento apresenta uma palestra sobre classificação multirrótulo, discutindo os tipos de classificação, desafios da classificação multirrótulo e abordagens tradicionais como global e local. A palestra também introduz o método de Partições Híbridas para Classificação Multirrótulo (HPML), que busca encontrar múltiplas partições nos dados que melhorem o desempenho do classificador em relação às abordagens tradicionais.
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
1. O documento descreve uma estratégia para particionar o espaço de rótulos em problemas de classificação multirrótulo explorando correlações entre os rótulos.
2. A estratégia gera várias partições denominadas "híbridas" que consideram grupos de rótulos correlacionados, entre as tradicionais partições globais e locais.
3. Uma dessas partições híbridas é escolhida e testada, sendo comparada com as partições globais e locais, esperando-se que melhore
The document presents a proposal for using community detection methods to generate hybrid partitions for multi-label classification. It introduces the limitations of global and local multi-label approaches and proposes a hybrid approach called HPML. HPML uses community detection on label co-occurrence graphs to identify correlated groups of labels and generate partitions for classification. Experiments applying HPML to 20 datasets show its partitions perform competitively with local and better than global partitions on average, demonstrating the value of exploring label correlations through community detection for multi-label classification. However, room for improvement remains as classifiers still struggle with some datasets, suggesting further research is needed on multi-label methods and evaluation.
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
1) A autora descreve sua experiência participando da Campus Party Brasil e as preocupações iniciais com o machismo e comentários inadequados que poderia enfrentar como uma das poucas mulheres no evento.
2) No entanto, o evento foi melhor do que o esperado, com boa representação feminina entre os palestrantes. Ela também conheceu a comunidade Lulus, um grupo de apoio para mulheres.
3) A autora ficou impressionada com o grupo Garotas Geeks, que desafia estereótipos sobre mulheres e tecnologia de forma divertida
O documento discute a discriminação de gênero no mercado de TI e ambientes online, com mulheres reclamando da falta de respeito. Também aborda a retirada de licenças Creative Commons do site da Ministério da Cultura e as altas temperaturas na Campus Party.
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
O documento apresenta uma abordagem para classificação multirrótulo que explora correlações entre rótulos usando métodos de detecção de comunidade. A abordagem propõe gerar partições híbridas globais e locais dos rótulos usando esses métodos e avalia seu desempenho em comparação com partições convencionais. Os resultados indicam que as partições híbridas obtiveram desempenho melhor ou competitivo em diversos conjuntos de dados.
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
1. O documento descreve uma estratégia para particionar o espaço de rótulos em problemas de classificação multirrótulo explorando correlações entre os rótulos. A estratégia gera partições híbridas entre as tradicionais partições globais e locais.
2. A estratégia inicia modelando as correlações entre os rótulos e então realiza o particionamento do espaço de rótulos para encontrar várias partições híbridas. Uma dessas partições é escolhida para teste e é comparada com as
O documento descreve o desdobramento e escalonamento de um loop MIPS de 4 instruções para melhorar o seu desempenho no pipeline. Inicialmente, o loop é desdobrado em 4 cópias, renomeando os registradores em cada cópia. Em seguida, as instruções são reordenadas para remover dependências e evitar bolhas no pipeline. O código desdobrado e escalonado consegue executar em menos ciclos de clock do que o código original não otimizado.
Este documento fornece um resumo de instruções e arquitetura MIPS de 32 bits. Ele inclui:
1) Os tipos de instruções MIPS e seus campos;
2) Os registradores e seus usos;
3) Os principais modos de endereçamento e instruções;
4) Exemplos passo-a-passo de conversão entre linguagem de alto nível e assembly.
O documento resume as principais instruções de desvio incondicional e condicional do MIPS. Inclui instruções de chamada de procedimento, comparação de registradores e desvios baseados em condições do registrador de ponto flutuante.
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
O documento discute diferentes tipos de classificação de dados usando aprendizado de máquina, incluindo classificação binária, multiclasse, multirrótulo e hierárquica multirrótulo. Ele fornece definições de classificação de dados e exemplos de como esses métodos podem ser aplicados para analisar sentimentos, detectar spam e diagnosticar doenças.
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Centro Jacques Delors
Estrutura de apresentação:
- Apresentação do Centro de Informação Europeia Jacques Delors (CIEJD);
- Documentação;
- Informação;
- Atividade editorial;
- Atividades pedagógicas, formativas e conteúdos;
- O CIEJD Digital;
- Contactos.
Para mais informações, consulte o portal Eurocid:
- https://eurocid.mne.gov.pt/quem-somos
Autor: Centro de Informação Europeia Jacques Delors
Fonte: https://infoeuropa.mne.gov.pt/Nyron/Library/Catalog/winlibimg.aspx?doc=48197&img=9267
Versão em inglês [EN] também disponível em:
https://infoeuropa.mne.gov.pt/Nyron/Library/Catalog/winlibimg.aspx?doc=48197&img=9266
Data de conceção: setembro/2019.
Data de atualização: maio-junho 2024.
2. CONTAINER
• O container gerencia e executa o servlet. Porque?
1. Suporte para comunicações:
– oferece uma maneira simples para comunicação
entre os seus servlets e o servidor;
– Você deve se preocupar apenas com a lógica do
seu próprio negócio, que está contida no seu
servlet
– O container conhece o protocolo de
comunicação entre ele mesmo e o servidor
3. CONTAINER
2. Gerenciamento do ciclo de vida:
– O container controla e a vida e a morte dos
servlets;
– Carrega classes, inicialização servlets, chama
métodos do servlet, coleta lixo;
– Você não precisa se preocupar com o
gerenciamento dos recursos
4. CONTAINER
3) Suporte a Multithread:
– O container cria automaticamente uma nova
thread em java para cada solicitação do servlet
recebida.
– O container cria e gerencia as thread para
várias solicitações
– A thread termina quando o servlet conclui a
execução do método de serviço HTTP para a
solicitação daquele cliente
5. CONTAINER
4. Certeza de segurança
– Você pode gerenciar e alterar sua segurança
sem tocar, ou recompilar, seus arquivos-fonte
em java, usando um arquivo XML (deployment
descriptor)
5. Suporte ao JSP
– O container se encarrega de traduzir o código
JSP em código JAVA
8. Exemplo simples de código servlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class teste extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet teste</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet teste at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally { out.close(); }
}
}
9. Exemplo simples de código servlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class teste extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet teste</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet teste at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally { out.close(); }
}
}
99,9% de todos os servlets desenvolvidos
anulam ou o método GET ou o método POST.
Isto é, apenas um dos métodos é utilizado no
servlet. Como já mencionado na aula anterior,
a maioria utiliza POST.
10. Exemplo simples de código servlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class teste extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet teste</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet teste at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally { out.close(); }
}
}
99,9% de todos os servlets desenvolvidos no
mundo são HTTPSERVLETS
11. Exemplo simples de código servlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class teste extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet teste</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet teste at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally { out.close(); }
}
}
REQUEST: é aqui que o seu servlet consegue as
referências dos objetos solicitação
RESPONSE: é aqui que o seu servlet consegue as
referências dos objetos reposta
(ambos criados pelo container)
12. Exemplo simples de código servlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class teste extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet teste</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet teste at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally { out.close(); }
}
}
Uma forma de imprimir a resposta do servlet no
navegador – não é utilizado no mundo real com
frequencia (utilize apenas para testes). PrintWriter
imprimirá a resposta que o seu servlet recebe do
container e, ainda poderá escrever um código
HTML no objeto de resposta.
13. Testando um Servlet no Netbeans
• Criar uma aplicação web no netbeans
• Criar um servlet
• Sem fazer qualquer tipo de alteração nos
arquivos criados, executar o arquivo
• O navegador será aberto automaticamente
com a resposta
• Mais detalhes serão vistos na aula sobre
servlets
• http://docs.oracle.com/javaee/6/api/javax/s
ervlet/package-summary.html
14. Como o Container encontra o
Servlet?
• A URL que chega como parte da solicitação
do cliente é mapeada para um servlet
específico no servidor
• A solicitação do usuário deve mapear para
um servlet específico e cabe ao
desenvolvedor entender e configurar este
mapeamento.
15. Um servlet pode ter três nomes
• RESUMO:
1. Nome da URL conhecido pelo cliente
2. Nome interno secreto conhecido pelo
distribuidor
3. Nome do arquivo verdadeiro
16. Um servlet pode ter três nomes
• Um servlet tem um nome do caminho para o arquivo
(um caminho para um arquivo de classe real)
• O desenvolvedor da classe do servlet escolhe o
nome da classe e o nome do pacote que define
parte da estrutura de diretórios
• O local no servidor define o nome completo do
caminho
• Entretanto, qualquer pessoa que distribua o servlet
também pode atribuir a ele um nome especial de
distribuição
17. Um servlet pode ter três nomes
• Um nome especial de distribuição é um nome
interno secreto, que não precisa ser igual ao nome da
classe ou do arquivo
• Ele pode ser igual ao nome da classe ou o caminho
relativo para o arquivo da classe, mas também pode ser
diferente
• O servlet tem um nome público de URL, que é o nome
que o cliente conhece, o nome codificado no HTML.
• Quando o usuário clicar em um link, este nome público
de URL é enviado ao servidor na solicitação HTTP, e é
ele quem vai até o servlet correspondente
18. Um servlet pode ter três nomes
• Mapear o nome dos servlets aumenta a flexibilidade
e a segurança da sua aplicação
• Por este motivo não usamos o mesmo nome para o
servlet
• Escrevendo o caminho verdadeiro em seus arquivos,
terá problemas quando precisar reorganizar a
aplicação em novos diretórios
• O cliente não precisa saber o caminho verdadeiro,
sem contar que ele podem tentar acessar
diretamente o servlet
19. Deployment Descriptor XML
• O DD é criado para informar ao Container como
executar seus servlets e JSPs.
• É usado para mapeamento dos nomes e
mapeamento das URLs aos servlets
• Um elemento XML é usado para mapear o nome
público de URL conhecido pelo cliente para o seu
próprio nome interno (<servlet-mapping>)
• Outro elemento XML é usado para mapear o seu
próprio nome interno para um nome de classe
(<servlet>)
20. Exemplo de código XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>teste</servlet-name>
<servlet-class>teste.teste</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>teste</servlet-name>
<url-pattern>/teste</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
O elemento <servlet>
informa ao container quais
arquivos de classe
pertencem a uma aplicação
em particular
21. Exemplo de código XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>teste</servlet-name>
<servlet-class>teste.teste</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>teste</servlet-name>
<url-pattern>/teste</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
O elemento <servlet-name>
é usado para unir um
elemento <servlet> a um
elemento específico
<servlet-mapping>.
O usuário final NUNCA vê
este nome
Ele é usado somente em
outras partes do DDXML
22. Exemplo de código XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>teste</servlet-name>
<servlet-class>teste.teste</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>teste</servlet-name>
<url-pattern>/teste</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
No elemento <servlet-
class> você insere o nome
da classe sem acrescentar a
extensão .class
23. Exemplo de código XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>teste</servlet-name>
<servlet-class>teste.teste</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>teste</servlet-name>
<url-pattern>/teste</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
Considere o elemento
<servlet-mapping> como
aquilo que o container usa
na execução, quando uma
solicitação chega para
perguntar “qual servlet eu
devo chamar para esta URL
solicitada?”
24. Exemplo de código XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>teste</servlet-name>
<servlet-class>teste.teste</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>teste</servlet-name>
<url-pattern>/teste</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
Isto é o que o cliente vê e
usa para chegar ao servlet,
mas este é um nome criado,
que NÃO é o nome
verdadeiro da classe do
servlet
Apenas para ficar mais
claro, neste exemplo o
nome da URL-PATTERN está
igual ao nome da classe,
entretanto observe que o
correto é utilizar-se de
outro nome
25. DD XML
• Além de mapear urls os DD XML ainda podem:
• Personalizar atribuições de segurança
• Páginas de erro
• Bibliotecas de tags
• Informações sobre a configuração inicial
• Acesso a enterprise javabeans específicos
• Etc
• Com isso, mesmo aqueles que não são programadores
java podem personalizar sua aplicação java
• O DD oferece um mecanismo declarado para a
customização das suas aplicações, sem tocar no código
fonte!
• VISUALIZANDO O DDXML NO NETBEANS
26. MVC em Servlets/JSPs
• View:
– Responsável pela
apresentação.
– A view pode ser
qualquer cliente
(celular, tv, tablet,
web, etc)
– Recebe o estado do
modelo do controlador
– Recebe os dados de
entrada do usuário
que volta do
controlador
– O JSP é o view
27. MVC em Servlets/JSPs
• Controller:
– Retira da solicitação
do usuário os dados
de entrada e
interpreta o que eles
significam par ao
modelo
– Obriga o modelo a se
atualizar e
disponibiliza o estado
do novo modelo para
a view
– O servlet é o
controlador
28. MVC em Servlets/JSPs
• Modell:
– Abriga a verdadeira
lógica e o estado do
modelo
– Conhece as regras
para obtenção e
atualização do estado
– É a única parte do
sistema que se
comunica com o
banco de dados
– A classe java comum
será o modelo
29. MVC em Servlets/JSPs
• MVC retira a lógica de
negócio para fora do
servlet e a coloca em
um modelo, uma antiga
classe plana e
reutilizável JAVA (classe
java normal).
• O modelo é a
combinação dos
dados de negócio e
os métodos que
operam nesses
dados
30. Container Web e Container EJB
• Container Web: usado para componentes web
como servlets e jsps. Tomcat é apenas um Container
Web e não uma aplicação J2EE completa, pois ele
não possui um Container EJB. O Apache é um
servidor HTTP que trabalha junto com o Tomcat
para aplicações não-EJB.
• Container EJB: usado para componentes de
negócios. Um servidor de aplicação J2EE incluit
tanto o Container Web quanto o Container EJB.
WebLogic e o Jboss são dois dos servidores EJB
mais comuns. Um servidor EJB completo incorpora
inúmeras específicações (servlets, jsp, j2ee, ejb,
etc).http://www.oracle.com/technetwork/java/javae
e/ejb/index.html
32. Exemplo
• Vamos desenvolver uma aplicação simples
usando JSP e Servlet com MVC
• A aplicação será uma especialista em
cervejas
• Os usuários poderão navegar na aplicação,
responder perguntas e receber conselhos
45. Como funciona o mapeamento
1. Ao preencher o formulário, o usuário clica no botão
enviar. O browser gera a URL de solicitação.
2. O Container procura o DD e encontra o servlet mapping
com o url pattern que coincide com o /SelectBeer.do. A
barra (/) representa a raíz do contexto da aplicação.
SelectBeer.do é o nome lógico de um recurso)
<servlet-mapping>
<servlet-name>Exemplo</servlet-name>
<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>
46. Como funciona o mapeamento
3. O Container vê que o servlet name para esta url pattern é
EXEMPLO. Este não é o nome verdadeiro de um arquivo
de classe servlet. EXEMPLO é o nome de um servlet, e
não de uma CLASSE servlet. Para o Container, servlet é
aquilo que foi definido no DD, abaixo da tag <servlet>. O
nome do servlet é simplesmente o nome usado no DD,
para que as outras partes do DD possam mapeá-lo.
<servlet>
<servlet-name>Exemplo</servlet-name>
<servlet-class>teste.SelectBeer</servlet-class>
</servlet>
47. Como funciona o mapeamento
4. O Container procura dentro das tags <SERVLET> a tag <SERVLET-
NAME>
5. O Container usa a <SERVLET-CLASS> da tag <SERVLET> para
descobrir que classe servlet é responsável por tratar esta solicitação.
Se o servlet não tiver sido inicializado, a classe é carregada e o
servlet é inicializado.
<servlet>
<servlet-name>Exemplo</servlet-name>
<servlet-class>teste.SelectBeer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Exemplo</servlet-name>
<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>
48. Como funciona o mapeamento
6. O Container inicia
uma nova thread
para tratar a
solicitação, e passar a
soliciação para a
thread (método
service do servlet)
7. O Container envia a
resposta de volta ao
cliente