Aula 8: Servlets (III)
|
|
- Tiago Caetano Fonseca
- 8 Há anos
- Visualizações:
Transcrição
1 Aula 8: Servlets (III) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Servlets (III) TEPIS II 1 / 30
2 Última Aula Respostas de requisições. Inicialização de Servlets. Filtros. Diego Passos (UFF) Servlets (III) TEPIS II 2 / 30
3 Nesta Aula Concorrência. Cookies. Sessões. Conteúdo não-html. Diego Passos (UFF) Servlets (III) TEPIS II 3 / 30
4 Concorrência Relembrando o ciclo de vida típico de um Servlet: Primeira requisição ao Servlet chega ao container. Container verifica que não possui uma instância ativa daquele Servlet. Container instancia classe do Servlet. Container chama o método init() sobre o objeto recém instanciado. Container chama o método service() passando a requisição. Para as próximas requisições, o mesmo objeto pode ser reutilizado. Em outras palavras, pode haver múltiplas chamadas simultâneas ao método service(). Se o Servlet acessa/atualiza informações compartilhadas nestas múltiplas chamadas, pode haver condições de corrida. Diego Passos (UFF) Servlets (III) TEPIS II 4 / 30
5 Evitando Condições de Corrida Se o Servlet usa apenas variáveis locais ao método service, não há problema. Variáveis locais fazem parte da pilha de execução de uma thread específica. Por definição, não são compartilhadas. No entanto, Servlets são geralmente mais complexos. Acessam ou modificam informações persistentes. Acessam variáveis da própria classe. Acessam métodos de outras classes que podem não ser thread-safe. Diego Passos (UFF) Servlets (III) TEPIS II 5 / 30
6 Evitando Condições de Corrida (II) Antes da versão 2.4, a API de Servlets definia a interface SingleThreadModel. Esta interface não definia nenhum método. Se um Servlet implementasse a interface, containers não chamavam o método service de forma paralela. Isso reduzia os problemas de condição de corrida. Mas não os solucionava completamente. Atributos de sessão ou contexto ainda podiam sofrer alterações concorrentes. Resultado: a interface foi marcada como deprecated a partir da versão 2.4. Diego Passos (UFF) Servlets (III) TEPIS II 6 / 30
7 Evitando Condições de Corrida (III) Solução mais geral: blocos do tipo synchronized. Os blocos synchronized são uma das maneiras de se definir uma região crítica em Java. Define-se um objeto sob o qual a sincronização deve ser realizada (em geral, o próprio Servlet). Se uma linha de código dentro de um bloco sincronizado está atualmente em execução, outras threads são proibidas de entrar em qualquer bloco sincronizado sob o mesmo objeto. synchronized(this) { if (req.getparameter("withdraw")!= null && amt < act.balance) act.balance -= amt; if (req.getparameter("deposit")!= null && amt > 0) act.balance += amt; } Diego Passos (UFF) Servlets (III) TEPIS II 7 / 30
8 Cookies Cookies são um mecanismo que permite que uma aplicação ou site armazene dados no cliente. Quantidade de dados que podem ser armazenados é pequena. Browsers são obrigados a suportar cookies de, no máximo, 4KB. Cada site (domínio) pode definir 50 cookies. No total, cerca de Uso mais comum para os cookies: Armazenar informação de identificação do usuário. Algumas vezes para autenticação, outras apenas para manter preferências do usuário. Em ambos os casos, é comum fazer tracking de sessão. Diego Passos (UFF) Servlets (III) TEPIS II 8 / 30
9 Criando Cookies Do ponto de vista do servidor, cookies são criados incluindo um cabeçalho na resposta HTTP. Exemplo: HTTP/ OK Content-type: text/html Set-Cookie: name=value Set-Cookie: name2=value2; Expires=Wed, 09 Jun :18:14 GMT Sempre que o browser acessa páginas do mesmo domínio, cookie é enviado nas requisições: GET /index.html HTTP/1.1 Host: Cookie: name=value; name2=value2 Accept: */* Diego Passos (UFF) Servlets (III) TEPIS II 9 / 30
10 Estrutura de um Cookie Um cookie é um par do tipo <nome,valor>. Mas ele pode ter também atributos. Exemplos: Escopo do cookie: domínio ou caminho para o qual o cookie tem validade. Data de expiração: até quando o cookie é valido. Atributo Secure: cookie só deve ser transmitido através de conexões criptografadas. Atributo HttpOnly: cookie só é exposto através de HTTP (não permite, por exemplo, acesso do cookie via Javascript). Diego Passos (UFF) Servlets (III) TEPIS II 10 / 30
11 Cookies: Vulnerabilidades Cookies são muito usados na Internet atual. Mas podem ser explorados por uma série de tipos de ataque. Um dos tipos de ataque mais comuns é o roubo de cookies através de cross-site scripting. Exemplo: Suponha que determinado site utilize autenticação baseada em cookies. Ao final do processo de autenticação, site envia token armazenado em cookie. Suponha ainda que o site permita que usuários postem conteúdos com tags HTML a serem vistos por outros usuários. Usuário malicioso poderia postar o seguinte código: <a href="#" onclick="window.location= +escape(document.cookie); return false;">clique aqui!</a> Diego Passos (UFF) Servlets (III) TEPIS II 11 / 30
12 Cookies: Vulnerabilidades (II) Se o usuário clica no link malicioso, cookies da página atual são enviados para o servidor remoto. Atacante pode obter o token de autenticação e sequestrar a sessão do usuário legítimo. Outras informações sensíveis podem ser obtidas. Soluções: Sites que permitem a geração de conteúdo pelo usuário devem filtrar conteúdo HTML/Javascript. Sites podem usar o atributo HttpOnly nos seus cookies. Diego Passos (UFF) Servlets (III) TEPIS II 12 / 30
13 Manipulação de Cookies por Servlets Servlet poderia manipular cookies diretamente na forma de cabeçalho HTTP. Método setheader() para criar cookies. Método getheader() para ler cookies já criados. Mas a API de Servlets fornece ferramentas de alto nível para manipulação de cookies. Classe javax.servlet.http.cookie: representação de um cookie como classe Java. Método addcookie() da classe httpservletresponse. Método getcookie() da classe httpservletrequest. Diego Passos (UFF) Servlets (III) TEPIS II 13 / 30
14 Manipulação de Cookies por Servlets: Exemplo de Leitura Cookie[] cookies; cookies = req.getcookies(); String userid = null; for (int i = 0; i < cookies.length; i++) if (cookies[i].getname().equals("userid")) userid = cookies[i].getattribute(); Diego Passos (UFF) Servlets (III) TEPIS II 14 / 30
15 Manipulação de Cookies por Servlets: Criação Cookies enviados pelo cliente podem ser lidos a qualquer momento. Mas a criação de um cookie deve ser feita antes que qualquer conteúdo seja enviado na resposta. Quando um Servlet envia algum conteúdo de resposta, container está livre para fazer um flush do cabeçalho HTTP. Exemplo de criação de um cookie: String userid = createuserid(); Cookie c = Cookie("userid", userid); resp.addcookie(c); Diego Passos (UFF) Servlets (III) TEPIS II 15 / 30
16 Manipulação de Cookies por Servlets: Configurando o Domínio Por padrão, browsers armazenam o endereço exato da página que gerou um cookie. Cookie só é enviado para aquela página específica. Algumas vezes, no entanto, aplicações utilizam vários hosts (servidores) diferentes. Alguns para servir imagens, outros para autenticação,... Outras vezes, múltiplos servidores são usados para balanceamento de carga. Independente do motivo, pode ser desejável alterar o endereço associado a um cookie. Método setdomain(): altera o domínio associado a um cookie. Exemplo: String userid = createuserid(); Cookie c = Cookie("userid", userid); c.setdomain(".uff.br"); // Aceita " e "mail.uff.br", mas não " resp.addcookie(c); Diego Passos (UFF) Servlets (III) TEPIS II 16 / 30
17 Manipulação de Cookies por Servlets: Configurando o Caminho Além do domínio, o caminho especificado em uma URL também filtra para onde são mandados cookies. Exemplo: Cookie gerado em É enviado para Mas não para Algumas vezes, deseja-se alterar a abrangência de um cookie. Método setpath(): altera o caminho associado a um cookie. Exemplo: String userid = createuserid(); Cookie c = Cookie("userid", userid); c.setdomain(".uff.br"); // Aceita " e "mail.uff.br", mas não " c.setpath("/"); // Aceita qualquer página. resp.addcookie(c); Diego Passos (UFF) Servlets (III) TEPIS II 17 / 30
18 Track de Sessão Aplicações Web muitas vezes utilizam múltiplas páginas. Ou ao menos múltiplas requisições para uma mesma página. Geralmente, é preciso determinar que estas múltiplas requisições pertencem a um mesmo usuário. Mais especificamente, uma mesma sessão. Problema: a Internet é de maneira geral baseada em padrões e protocolos stateless. Interações são atômicas. Dispositivos não precisam guardar estado das comunicações. Simplifica processamento. Reduz consumo de memória. Mas como proceder quando é essencial manter o estado? Diego Passos (UFF) Servlets (III) TEPIS II 18 / 30
19 Track de Sessão: Soluções Comuns Soluções comuns para este problema incluem as seguintes abordagens: Incluir campos de formulário invisíveis nas páginas para enviar estado de uma requisição para outra. Escrita e leitura de cookies de sessão. Reescrita de URLs para manter informação sobre o estado da sessão. Soluções complicadas que requerem geração de código específico por parte do desenvolvedor. Diego Passos (UFF) Servlets (III) TEPIS II 19 / 30
20 Track de Sessão: Servlets A API de Servlets provê classes e métodos específicos para facilitar o track de sessão. Usuário pode utilizar a API para delegar tarefa de fazer o track da sessão para o servidor. Visão geral do funcionamento: Quando um cliente se conecta pela primeira vez a um Servlet, este pode criar um objeto do tipo javax.servlet.http.httpsession. Servlet pode guardar informação neste objeto e recuperá-la em acessos subsequentes. Depois de um tempo de inatividade, o objeto de sessão é destruído. Diego Passos (UFF) Servlets (III) TEPIS II 20 / 30
21 Track de Sessão: Servlets Método getsession(boolean): recupera ou cria um contexto para a sessão atual. Definido na classe HttpServletRequest. Verifica se há um contexto já definido para a sessão atual. Em caso afirmativo, retorna um HttpSession. Caso contrário, comportamento depende do valor do parâmetro: Se true, cria e retorna um objeto HttpSession. Se false, retorna null. Diego Passos (UFF) Servlets (III) TEPIS II 21 / 30
22 Track de Sessão: Como o Servidor Realiza Embora a ideia seja da API tornar o processo transparente, isso nem sempre é tão simples. Servidor precisa implementar um dos métodos tradicionais para manter estado da sessão. A primeira opção é quase sempre utilizar cookies. De forma transparante, quando o objeto HttpSession é criado, servidor inclui um cookie na resposta do servlet. Cookie contém um session ID. Session ID é usado para indexar o objeto HttpSession correspondente. Problema: cookies nem sempre são suportados pelo cliente. Alguns browsers podem não suportar. Usuário pode desabilitar. Diego Passos (UFF) Servlets (III) TEPIS II 22 / 30
23 Track de Sessão: Método encodeurl() Quando cookies não são suportados, servidor podem utilizar a reescrita de URL. Session ID é colocado no final da URL como um parâmetro. A cada requisição, servidor faz o parse da URL para extrair o ID. Neste caso, intervenção do desenvolvedor é necessária. Se o Servlet inclui alguma referência (URL) na resposta para o usuário, é preciso colocar o ID ao final (no formato correto). Isso é feito automaticamente através do método encodeurl(): out.println("<a href=\"" + res.encodeurl("/servlet/chckoutservlet") + "\">Check Out</a>"); Se não é preciso incluir o ID, o método retorna a string sem modificação. Para redirecionamentos (método sendredirect()), use encoderedirecturl(). Diego Passos (UFF) Servlets (III) TEPIS II 23 / 30
24 Track de Sessão: Obtendo Informação sobre a Sessão A informação mais básica que se pode obter sobre uma sessão é o ID. Método getid() do objeto HttpSession. O ID é uma String única para cada sessão. Em muitas aplicações, é suficiente. Aplicação pode usar o ID para indexar outras informações em repositórios próprios. Diego Passos (UFF) Servlets (III) TEPIS II 24 / 30
25 Track de Sessão: Obtendo Informação sobre a Sessão (II) A API permite também o armazenamento de objetos quaisquer no objeto de sessão. Métodos setattribute() e getattribute(). Similares aos métodos de mesmo nome usados para manipular o contexto do Servlet. Desenvolvedor especifica uma string (de livre escolha) como nome do atributo. Qualquer Servlet no mesmo servidor pode acessar os atributos da sessão. Exemplo: session.setattribute("myservlet.hitcount", new Integer(34));... Integer hits = (Integer)session.getAttribute("myservlet.hitcount"); Diego Passos (UFF) Servlets (III) TEPIS II 25 / 30
26 Track de Sessão: A Classe HttpSessionBindingListener O objeto de uma sessão pode ser destruído sem que os Servlets sejam avisados. Por exemplo, depois de um timeout. Neste caso, todos os objetos associados a sessão são também destruídos. Algumas vezes, é interessante executar algum código quando um determinado objeto é desassociado da sessão atual. Exemplo: Servlet abriu arquivo e o associou à sessão. É desejável fechar o arquivo. Para este tipo de situação, a API define a interface HttpSessionBindingListener. Diego Passos (UFF) Servlets (III) TEPIS II 26 / 30
27 Track de Sessão: A Classe HttpSessionBindingListener (II) Quando um objeto que implementa a esta interface é associado ou desassociado do objeto da sessão, métodos do objeto são chamados. Especificamente, dois métodos: valuebound(): objeto foi associado à sessão. valueunbound(): objeto foi desassociado da sessão. Dentro da implementação destes métodos, o desenvolvedor pode fazer quaisquer inicializações ou liberações de recurso necessárias. Diego Passos (UFF) Servlets (III) TEPIS II 27 / 30
28 Track de Sessão: A Classe HttpSessionBindingListener (III) class FileHolder implements HttpSessionBindingListener { FileReader file; public FileHolder(FileReader file) { } this.file = file; public FileReader getfile() { } return(file); public void valuebound(httpsessionbindingevent event) { } public void valueunbound(httpsessionbindingevent event) { } } file.close(); Diego Passos (UFF) Servlets (III) TEPIS II 28 / 30
29 Gerando Conteúdo não HTML Servlets HTTP podem gerar conteúdos de tipos quaisquer. Desde que possam ser definidos através de um cabeçalho MIME. Multi-Purpose Internet Mail Extensions. Cabeçalhos MIME são compostos de um tipo e um subtipo. Há vários valores padrão para diversos tipos de conteúdo; text/plain. image/png. video/mpeg.... Tipo deve ser definido com o método setcontenttype no objeto de resposta. Diego Passos (UFF) Servlets (III) TEPIS II 29 / 30
30 Gerando Conteúdo não HTML (II) Uma vez definido o tipo, basta que o Servlet envie os bytes desejados para o cliente. Há duas formas de fazer isso: Através de um objeto do tipo PrintWriter, obtido pelo método getwriter(). Para conteúdo ASCII. Através de um objeto do tipo ServletOutputStream, obtido pelo método getoutputstream(). Para conteúdo binário. Diego Passos (UFF) Servlets (III) TEPIS II 30 / 30
Java para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Leia maisJava II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado
Leia maisSessões. Cookies HTTP Sessões Atributos de sessão
Sessões Cookies HTTP Sessões Atributos de sessão O problema O protocolo HTTP não mantém estado entre transações distintas Ao término do atendimento da requisição, a conexão TCP é fechada pelo servidor
Leia maisJava II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com
Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento
Leia maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo JavaServer Pages (JSP) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maisProgramação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala
Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado
Leia maisJava para Desenvolvimento Web
Java para Desenvolvimento Web Cookies Um nada mais é que um bloco de informação que é enviado do servidor para o navegador no cabeçalho da página. A partir de então, dependendo do tempo de validade do,
Leia maisProgramação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão
Programação Na Web Sessão II António Gonçalves Índice Visão geral da API Sessão Obter dados sobre uma sessão Extrair informação sobre uma Sessão Adicionar Dados a uma sessão 1 Programação Na Web Motivação
Leia maisProgramação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza
Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem
Leia maisProgramação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets
Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto
Leia maisParte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework
Leia maisLinguagem de Programação III Aula 2 Revisão Parte II
Linguagem de Programação III Aula 2 Revisão Parte II Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Revisão de PHP
Leia mais3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança
3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade
Leia mais4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?
Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer
Leia mais3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.
Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor
Leia maisProgramação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API
Programação Na Web Servlets: Como usar as Servlets 1 António Gonçalves Agenda Template genérico para criar Servlets Servlet 2.4 API Exemplo: Hello World Output: Texto, HTML e hora local. Compilar uma Servlets
Leia maisJava para WEB. Servlets
Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos
Leia maisDesenvolvimento de aplicações Web. Java Server Pages
Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia
Leia maisDOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Leia mais1.264 Lição 11. Fundamentos da Web
1.264 Lição 11 Fundamentos da Web Navegadores e servidores da Web A Internet é apenas um conjunto de redes interconectadas livremente. Um conjunto de redes de área local conectado via redes de área ampla
Leia maisO protocolo HTTP. O que é o protocolo HTTP?
O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. IIS - HTTP 1 O que é o protocolo HTTP? Hyper
Leia maisIntrodução. Entendendo os Controles. Definindo um controle. Introdução MOCKDOMAIN() Testando uma classe de domínio mockdomain
Testando uma classe de domínio mockdomain void testduracaominima() { mockdomain(musica) def musica = new Musica(duracao: 0) assertfalse 'Validacao deve falhar', musica.validate() MOCKDOMAIN() assertequals
Leia maisJ820. Testes de interface Web com. HttpUnit. argonavis.com.br. Helder da Rocha (helder@acm.org)
J820 Testes de interface Web com HttpUnit Helder da Rocha (helder@acm.org) O que é HttpUnit API Java para comunicação com servidores HTTP Permite que programas construam e enviem requisições, e depois
Leia maisDesenvolvimento WEB II. Professora: Kelly de Paula Cunha
Desenvolvimento WEB II Professora: Kelly de Paula Cunha O Java EE (Java Enterprise Edition): série de especificações detalhadas, dando uma receita de como deve ser implementado um software que utiliza
Leia maisPadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M
JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):
Leia maisJSF - Controle de Acesso FERNANDO FREITAS COSTA
JSF - Controle de Acesso FERNANDO FREITAS COSTA ESPECIALISTA EM GESTÃO E DOCÊNCIA UNIVERSITÁRIA JSF Controle de Acesso Antes de iniciarmos este assunto, é importante conhecermos a definição de autenticação
Leia maisCPG: sincronização entre diferentes dispositivos
CPG: sincronização entre diferentes dispositivos Vitor Hugo Galhardo Moia Marco Aurélio Amaral Henriques {vhgmoia, marco}@dca.fee.unicamp.br Universidade Estadual de Campinas - UNICAMP Faculdade de Engenharia
Leia maisObjetos Implícitos. Conceito. Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP.
Slide 1 Conceito Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP. Instruções de criação inseridas no método _jspservice( ). Slide 2 Identificação e tipo Identificação Tipo application
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisProgramação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza
Sessions e Cookies progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net Cookies e Sessions Geralmente, um bom projeto
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução Compatibilidade Principais características
Leia maisFonte: http://www.online-security-solution.com/ - Illustration by Gaich Muramatsu
Fonte: http://www.online-security-solution.com/ - Illustration by Gaich Muramatsu Prof. Hederson Velasco Ramos Uma boa maneira de analisar ameaças no nível dos aplicativo é organiza las por categoria de
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisJava e JavaScript. Krishna Tateneni Tradução: Lisiane Sztoltz
Krishna Tateneni Tradução: Lisiane Sztoltz 2 Conteúdo 1 Java e JavaScript 4 1.1 Java............................................. 4 1.2 JavaScript.......................................... 4 3 1 Java e
Leia maisProgramação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage
Programação para Android Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados.
Leia maisMaterial de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro.
Material de apoio a aulas de Desenvolvimento Web Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS AAS - www.aas.pro.net Março-2012 Este pequeno tutorial tem como objetivo conduzir o programador passo-a-passo
Leia maisXSS - CROSS-SITE SCRIPTING
Segurança XSS - CROSS-SITE SCRIPTING XSS - CROSS-SITE SCRIPTING Vamos supor a seguinte situação: O site ingenuo.com tem um fórum As pessoas escrevem comentários nesse fórum e eles são salvos diretamente
Leia maisAula 03 - Projeto Java Web
Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisJSP: JAVA SERVER PAGES
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB JSP: JAVA SERVER PAGES Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 O que é um JSP? Tags de JSP Trocando um Servlet por JSP Atividade Material de Estudo Material
Leia maisServlets e Applets, funcionamento e comparativo.
Servlets e Applets, funcionamento e comparativo. Airon Rabel Teixeira Rua Guarapuava Joinville SC airon@ymail.com Resumo: Este artigo explica de maneira breve o funcionamento de servlets e applets, mostrando
Leia maisConceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)
Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior
Leia maiswww.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com
SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade
Leia maisJSP: JAVA SERVER PAGES
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB JSP: JAVA SERVER PAGES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é e como funciona o JSP Compreender as tags do JSP Capacitar para a substituição
Leia maisWeb Services. Autor: Rômulo Rosa Furtado
Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que
Leia maiswww.coldfusionbrasil.com.br
www.coldfusionbrasil.com.br 2000 PASSANDO VARIÁVEIS ATRAVÉS DE FORM E URL 3 ALTERA.CFM 3 FORMALTERA.CFM 4 ALTERA.CFM 4 FORMALTERA.CFM 4 CRIANDO E MANIPULANDO VARIÁVEIS COM CFSET 4 VALORES ESTÁTICOS 5 PARÂMETROS
Leia maisScriptlets e Formulários
2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,
Leia maisPermite o acesso remoto a um computador;
Telnet Permite o acesso remoto a um computador; Modelo: Cliente/Servidor; O cliente faz um login em um servidor que esteja conectado à rede (ou à Internet); O usuário manipula o servidor como se ele estivesse
Leia maisWeb Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:
Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisPHP: Cookies e Sessões
PHP: Cookies e Sessões Programação de Servidores Marx Gomes Van der Linden Protocolo HTTP O protocolo HTTP não tem conceito de sessões. Modelo simples de Requisição e Resposta. http://marx.vanderlinden.com.br/
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução Compatibilidade Principais características
Leia maisBANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS
CONTEÚDO HARDWARE - 2 AULAS SISTEMA OPERACIONAL - 2 AULAS INFORMÁTICA Prof.: MARCIO HOLLWEG mhollweg@terra.com.br APLICATIVOS OFFICE - 3 AULAS INTERNET - 1 AULA REDE - 2 AULA SEGURANÇA - 1 AULA BANCO DE
Leia maisO protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP.
HTTP O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. O que é o protocolo HTTP? Hyper Text Transfer
Leia maisArquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de
Leia maisAula 30 - Sockets em Java
Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar
Leia maisAcesso Remoto Placas de captura
Acesso Remoto Placas de captura 1 instalar o DVR Siga os passos de instalação informados na caixa do produto, após seu perfeito funcionamento vá para próximo passo. 2 Configurá-lo na rede Local O computador
Leia maisWorld Wide Web e Aplicações
World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet
Leia maisJava Servlets. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Java Servlets Leonardo Gresta Paulino Murta leomurta@ic.uff.br Especificação/IDE/Implementação Esse curso foi preparado em 03/2015 usando a seguinte especificação, IDE e implementação Especificação Java
Leia maisPHP (Seções, Cookies e Banco de Dados)
PHP (Seções, Cookies e Banco de Dados) André Tavares da Silva andre.silva@udesc.br Seções Basicamente, as seções são métodos que preservam determinados dados ativos enquanto o navegador do cliente estiver
Leia maisUniversidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
Leia maisWeb. Até a década de 1990, a Internet era utilizada. por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico.
A Web e o HTTP Web Até a década de 1990, a Internet era utilizada por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico. Então, no início dessa década, iniciou-se
Leia maisAplicação Prática de Lua para Web
Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio
Leia maisJava Beans e Servlets
6 Java Beans e Servlets Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Apresentar os recursos de orientação à objetos Java em JSP e integrá-los a tecnologia
Leia maisProgramação II Programação para a Web. Christopher Burrows
Programação II Programação para a Web Christopher Burrows Apache Tomcat O Apache Tomcat é um Servlet Container desenvolvido pela Apache Software Foundation. Implementa as tecnologias Java Servlets e Java
Leia maisManual do Painel Administrativo
Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...
Leia maisECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO
Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...
Leia maisAula 4. Objetivos. Conteúdo dinâmico na internet.
Aula 4 Objetivos Conteúdo dinâmico na internet. Para uma solicitação da Web mais simples, um navegador solicita um documento HTML e o servidor Web encontra o arquivo correspondente e devolve. Se o documento
Leia maisCONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
Leia maisIntrodução ao PHP. Prof. Késsia Marchi
Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext
Leia maisVisão geral híbrida de Serviços Corporativos de Conectividade do SharePoint 2013
Visão geral híbrida de Serviços Corporativos de Conectividade do SharePoint 2013 Christopher J Fox Microsoft Corporation Novembro de 2012 Aplica-se a: SharePoint 2013, SharePoint Online Resumo: Um ambiente
Leia maisJava 2 Standard Edition Fundamentos de
Java 2 Standard Edition Fundamentos de Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo pretende apenas cobrir conceitos essenciais sobre programação em rede com Java Como criar um
Leia maisDesenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Leia maiswww.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00
www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br
Leia maisRedes de Computadores e a Internet
Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Aplicação
Leia maisPROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
Leia maisSegurança em Sistemas Web. Addson A. Costa
Segurança em Sistemas Web Addson A. Costa Spoofing de formulários Spoofing consiste em falsificação, por exemplo, na área de redes um computador pode roubar o IP de outro e assim fazer-se passar por ele.
Leia maisTecnologias Web. Padrões de Projeto - Camada de Apresentação
Tecnologias Web Padrões de Projeto - Camada de Apresentação Cristiano Lehrer, M.Sc. Padrões da Camada de Apresentação (1/2) Intercepting Filter Viabiliza pré e pós processamento de requisições. Front Controller
Leia maisJ550 Segurança e Controle de erros
J550 Segurança e Controle de erros Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Assuntos abordados Este módulo trata de dois assuntos Como mapear erros HTTP e exceções Java a servlets ou páginas
Leia maisSegurança em Sistemas de Informação. Agenda. Conceitos Iniciais
Segurança em Sistemas de Informação Agenda 1. Conceitos Iniciais; 2. Terminologia; 3. Como funcionam; 4. : 1. Cache; 2. Proxy reverso; 5. Exemplos de Ferramentas; 6. Hands on; 7. Referências; 2 Conceitos
Leia maisGuia do RepositorioDocumento
Módulo: RepositorioDocumento.Cls_Repositorio Versão: 1.0.0 Data: 16/05/2003 Analista: João Augusto de Moura DBA: Maria Cristina de Oliveira Zimmermann Coordenador: Alex Albert Henchel Gerente Operacional:
Leia maisProva de pré-requisito
Prova de pré-requisito Curso Python e Django 1. Ao se acessar o site www.google.com qual comando e parâmetros são enviados para o servidor pelo navegador? a. GET / b. GET www.google.com c. PAGE index.html
Leia maisUniversidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. Programação WEB
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Universidade Federal do Espírito Santo CCA UFES Programação WEB Desenvolvimento de Sistemas para WEB
Leia maisConfigurações Internet Explorer 07 Para uma boa navegação no sistema GissOnline siga as configurações básicas, descritas abaixo. Exclusão de Cookies
Sumário Exclusão de Cookies... 2 O que são Cookies?... 2 Qual a Finalidade de um Cookie?... 2 Por que Excluir um Cookie?... 2 Como excluir um Cookie?... 2 Configurações do Navegador... 7 Qual a finalidade
Leia maisDesenvolvimento de aplicação web com framework JavaServer Faces e Hibernate
Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 11 Sincronização de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisEspecificação do 3º Trabalho
Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,
Leia maisLista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.
Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças
Leia maisO que é uma sessão. maneira de preservar dados através de acessos subsequentes.
Sessões em PHP O que é uma sessão Suporte a sessões no PHP: maneira de preservar dados através de acessos subsequentes. Características: permite a criação de aplicações mais personalizadas; permite que
Leia maisJava na WEB Servlet. Sumário
1 Java na WEB Servlet Objetivo: Ao final da aula o aluno será capaz de: Utilizar Servlets para gerar páginas web dinâmicas. Utilizar Servlets para selecionar páginas JSPs. Utilizar Servlets como elemento
Leia maisCurso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais
Curso de Java Geração de Páginas WEB Aplicação WEB Numa aplicação WEB de conteúdo dinâmico As páginas são construídas a partir de dados da aplicação (mantidos num banco de dados). Usuários interagem com
Leia maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisJava Server Pages. O código HTML pode indicar o método de arranque do servlet gerado por um JSP : doget ou dopost.
Java Server Pages O código HTML pode indicar o método de arranque do servlet gerado por um JSP : doget ou dopost. servlet: Exemplo em que o método get é invocado no arranque do
Leia maisProcedimentos para Reinstalação do Sisloc
Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...
Leia maisProcedimentos para Instalação do Sisloc
Procedimentos para Instalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Instalação do Sisloc... 3 Passo a passo... 3 3. Instalação da base de dados Sisloc... 16 Passo a passo... 16 4. Instalação
Leia maisAJAX no GASweb. Mas e afinal, para que usamos o AJAX?
Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente
Leia mais