Use a cabeça!: (Registro n. 1061)

006 - Campo Fixo - Material Adicional
fixed length control field a|||||r|||| 00| 0
008 - Campo de Tamanho Fixo
Campo fixo de controle local 190617s9999 xx 000 0 und d
020 ## - ISBN
ISBN 9788576082941
040 ## - Fonte da Catalogação
Fonte de catalogação BR-BrCADE
090 ## - Número de Chamada
Localização na estante 006.76 B299u
Cutter B299u
100 10 - Autor
Autor BASHAM, Bryan; SIERRA, Kathy; BATES, Bert
245 10 - Titulo Principal
Título principal Use a cabeça!:
Subtítulo Servlets & JSP/
250 ## - Edição
Edição 2. ed.
260 ## - Editora
Cidade Rio de Janeiro:
Editora Alta Books,
Data 2008.
300 ## - Descrição Física
Número de páginas 879 p.
505 ## - Conteúdo
Conteúdo Por que usar servlets & JSPs?<br/>1 As aplicações web estio na moda. Quantas aplicações GUI você conhece que são usadas por milhões de usuários em todo o mundo? Como desenvolvedor de aplicações web, você não precisará se prender aos problemas de distribuição presentes em toda aplicação standalone e irá distribuir sua aplicação a qualquer pessoa que possua um browser. Mas você precisará dos servlets e dos JSPs, pois as velhas e estáticas páginas HTML são tão, digamos, "1999". Saiba como mudar do site na web, para a aplicação na web.<br/><br/>Objetivos do Exame <br/>O que os servidores web e os clientes fazem e como conversam entre si <br/>Guia rápido de HTML <br/>O que é o protocolo HTTP? <br/>A anatomia das solicitações HTTP GET e POST e das respostas HTTP <br/>Localizando páginas web usando URLs<br/>Servidores web, páginas estáticas e CGI<br/>Desmistificando os Servlets: escreva, distribua e rode um servlet <br/>JSP foi o que aconteceu quando alguém apresentou o Java ao HTML <br/><br/>Arquitetura da aplicação web<br/>2 Os servlets precisam de ajuda. Quando uma solicitação chega, alguém tem que instar o servlet ou, pelo menos, alocar uma thread para tratar a solicitação.<br/>Alguém tem que chamar ou o método doPost() ou o método doGet() do servlet.<br/>Alguém precisa levar a solicitação e a resposta para o servlet. Alguém precisa gerenciar a vida, a morte e os recursos do servlet. Neste capítulo, vamos estudar o Container e dar uma primeira olhada no padrão MVC.<br/><br/>Objetivos do Exame<br/>O que é um Container e o que ele oferece?<br/>Como fica o código (o que toma um servlet um servlet)<br/>Nomeando os servlets e mapeando-os a URLs usando o DD <br/>História: Bob Constrói um Site de Encontros (introdução ao MVC) <br/>Visão geral e exemplo de MVC (Model-View-Controller)<br/>Um Deployment Descriptor (DD) "funcionando"<br/>Como o J2EE cabe nisso tudo<br/><br/>Minitutorial do MVC<br/>3 Criando e distribuindo uma aplicação MVC. Chegou a hora de colocar a<br/>mão na massa e escrever um formulário HTML, um controlador de serviet, um modelo (classe Java simples), um deploymcnt descriptor XML e urna view em JSP. É hora de criar, distribuir e testar. Antes, porém, você deverá configurar seu ambiente de desenvolvimento. Em seguida, você terá que configurar o seu ambiente de distribuição, de acordo com as especificações do serviet e do iSP, e as exigências do Tomcat. Concordo, esta é uma aplicação pequena... Porém, quase NÃO existe aplicação que seja tão pequena e use o MVC.<br/> <br/>Objetivos do Exame <br/>Vamos construir uma aplicação MVC: primeiro o design <br/>Criando os ambientes de desenvolvimento e distribuição <br/>Criando e testando o HTML para o formulário inicial <br/>Criando o Deployment Descriptor (DD)<br/>Criando, compilando, distribuindo e testando o serviet de controle<br/>Design, criação e teste do componente modelo <br/>Otimizando o controlador para chamar o modelo <br/>Criando e distribuindo o componente view; (isto é um JSP)<br/>Otimizando o servlet de controle para chamar o JSP<br/><br/>Sendo um serviet<br/>4 Servlets vivem para servir clientes. A função de um servlet é receber uma solicitação do cliente e devolver uma resposta. A solicitação talvez seja simples: "traga-me a página de Boas-vindas". Ou pode ser complexa: "Finalize o processo do meu carrinho de compras.' A solicitação carrega dados cruciais e o código do seu servlet tem que saber como encontrá-los e utilizálos. E ele tem<br/>que saber como enviar uma resposta. Ou não...<br/><br/>Objetivos do Exame <br/>Os Servlets são controlados pelo Container <br/>Cada solicitação roda em uma thread separada! <br/>A verdadeira função do servlet no tratamento das solicitações <br/>A história da solicitação não-idempotente<br/>O que determina se você recebeu uma solicitação GET ou POST? <br/>Enviando e usando parâmetro(s) <br/>Então, essa foi a Solicitação.., vejamos agora a Resposta <br/>Você pode configurar headers de resposta, você pode adicionar headers de resposta <br/>Redirecionamento de servlets faz o browser trabalhar <br/>Revisão: HttpServletResponse <br/><br/><br/>Sendo uma aplicação web<br/>5 Nenhum serviet vive sozinho. Nas aplicações web atuais, vários componentes trabalham em conjunto por um objetivo. Temos os modelos, os controladores e as views. Temos os parâmetros e os atributos. Temos as classes helper. Mas, como juntar os pedaços? Como permitir que os componentes compartilhem informações? Como você oculta informações? Como você torna uma informação thread-safe? Seu trabalho pode depender destas respostas.<br/><br/>Objetivos do Exame<br/>Os Parâmetros lnit dão uma força<br/>Como um JSP consegue obter os parâmetros init do serviet?<br/>Os parâmetros init do contexto dão uma força<br/>Comparando o ServletConfig com o ServletContext<br/>Ela quer um ServletContextListener<br/>Tutorial: escreva um ServletContextListener simples<br/>Compile, distribua e teste o seu listener<br/>A história completa, uma análise do ServletContextListener<br/>Listeners: eles não servem apenas para os eventos de contextos <br/>O que é exatamente um atributo? <br/>A API Atributo <br/>O escopo de contexto não é thread-safe!<br/>Como tornamos os atributos do contexto thread-safe?<br/>Testando a Sincronização<br/>Os atributos de Sessão são thread-safe? <br/>Os males do SingleThreadModel<br/>Apenas os atributos da Solicitação e as variáveis locais são thread-safe! <br/>Atributos da Solicitação e request dispatching<br/><br/><br/>Estado de conversação<br/>6 Os servidores web não têm memória curta. Assim que eles lhe enviam uma resposta, eles esquecem quem você é. Na próxima vez que você fizer uma solicitação, eles não o reconhecerão. Eles não se recordam do que você solicitou no passado e nem do que eles enviaram como resposta. Nada. Porém, algumas vezes você precisa manter o estado de conversação com o cliente durante várias<br/>solicitações. Um carrinho de compras não funcionaria se o usuário tivesse que<br/>escolher seus produtos e finalizar a compra de uma única vez.<br/><br/>Objetivos do Exame <br/>Esperamos que seja uma conversa (como as sessões funcionam) <br/>lDs de sessão, cookies e outros fundamentos das sessões <br/>Reescrita de URL: uma alternativa <br/>Quando as sessões envelhecem; dando adeus às sessões ruins <br/>Posso usar cookies para outras coisas além das sessões? <br/>Os principais momentos de um HttpSession <br/>Não se esqueça do HttpSessionBindingListener <br/>A migração da sessão <br/>Exemplos de listener <br/><br/>Sendo um JSP<br/>7 Um JSP torna-se um servlet. Um servlet que você não cria. O Container olha o seu JSP, o traduz em código-fonte Java e o compila em uma classe servlet de Java completa. Porém, você tem que saber o que acontece quando o código que você escreveu em JSP se transforma em código Java. Você pode escrever códigos Java em JSP, mas será que você deveria? E se não for um código Java, o que você pode escrever? Como ele faz a tradução para o código Java? Veremos seis diferentes tipos de elementos JSP - cada um com seu próprio propósito e, sim, sintaxe única. Você aprenderá como, por que e o que escrever no seu JSP. E você aprenderá o que não escrever.<br/><br/>Objetivos do Exame <br/>Criando um JSP simples usando o "out" e uma diretiva de página <br/>Expressões, variáveis e declarações em JSP <br/>Hora de ver um servlet gerado a partir do JSP <br/>A variável out não é o único objeto implícito <br/>O Ciclo de vida e a inicialização de um JSP <br/>Já que estamos falando sobre isso... as três diretivas <br/>Scriptlets considerados perigosos? Eis a EL <br/>Mas, espere... ainda não vimos as ações <br/><br/>Páginas sem scripts<br/>8 Fuja do scripting. Será que seus wehdesigners precisam mesmo saber Java? Será que eles pensam que quem programa Java para servidores tornar-se-á,digamos, designer gráfico? E mesmo que a equipe seja só você, você quer mesmo um monte de bits e pedaços de códigos Java nos seus JSPs? Você sabe o que significa "um pesadelo na hora da manutenção"? Escrever páginas sem scripts não só é possível, como também é nais fácil e mais flexível com a nova especificação JSP 2.0, graças à nova Expression Language (EL). Padronizada depois do JavaScript e do XPATH, os webdesigners sentir-se-ão em casa com a EL. E você também vai gostar (assim que você se acostumar). Porém, existem algumas armadilhas.., a EL se parece com o Java, mas não é. Às vezes, a EL se comporta de forma diferente de como comportar-se-ia a mesma sintaxe no Java. Portanto, fique atento!<br/><br/>Objetivos do Exame <br/>Quando os atributos são beans <br/>Ações-padrão: useBean, getProperty, setPropertv<br/>Você sabe fazer referências polimórficas para beans?<br/>O atributo param dá uma ajuda <br/>Convertendo propriedades <br/>A Expression Language (EL) salva o dia!<br/>Usando o operador ponto (.) para acessar propriedades e mapear valores<br/>O [e catch] da a você mais opções (Lists arrays )<br/>Mais detalhes dos operadores ponto e [J <br/>Os objetos implícitos da EL<br/>Funções EL e tratando o nu1l"<br/>Os pedaços reutilizáveis do template - dois tipos de "include" <br/>A ação-padrão jsp:forward><br/>Ela não conhece as tags JSTL (uma visão rápida)<br/>Revisando as ações-padrão e o iriclude<br/><br/>As tags customizadas são poderosas<br/>9 Em alguns casos, você precisa de mais do que a EL ou ações-padrão. E se você quisesse fazer um loop através dos dados de um array, exibindo em seguida um item por linha em uma tabela HTML? Você sabe que poderia escrever isso em dois segundos, usando um ioop for em um scriptlet. Mas você está tentando evitar os scripts. Sem problema. Quando a EL e as ações-padrão não forem suficientes, você pode usar tags custo,ni:adas. Elas são tão fáceis de usar em um JSP quanto as ações-padrão. Melhor ainda, alguém já escreveu boa parte das tags de que você mais provavelmente precisará, e as juntou na JSTL (JSP Standard Tag Library, ou Biblioteca de Tags JSP Padrão). Neste capítulo, aprenderemos a usar tags customizadas, e no capítulo seguinte, aprenderemos a criar as nossas próprias tags.<br/><br/>Objetivos do Exame <br/>Fazendo loops sem scripts; <c:forEach> <br/>Controle condicional com o <c:if e o <c:choose><br/>Usando as tags <c:set> e <c:rernove> <br/>Com a <c:import>, há três maneiras de incluir conteúdo <br/>Customizando o que você inclui <br/>Fazendo o mesmo com <c:param> <br/>A <c:url> para todas as suas necessidades de hyperlink <br/>Crie suas próprias páginas de erro<br/>A tag <c:catch>. Semelhante a try/catch... mais ou menos <br/>E se você precisar de uma tag que NÃO esteja na JSTL? <br/>Preste atenção ao <rtexprvalue> <br/>O que pode existir no corpo de uma tag <br/>O tag handier, o TLD e o JSP <br/>A taglib <uri> é apenas um nome, não um local <br/>Quando um JSP usa mais de urna biblioteca de tags<br/><br/>Quando nem a JSTL é o bastante...<br/>10 Em alguns casos, a JSTL e as ações-padrão não são suficientes. Quando você precisa de algo customizado, e não quer voltar aos velhos scripts, você pode escrever os seus próprios tag handlers. Dessa maneira, os seus desenvolvedores de páginas poderão usar a sua tag nas suas páginas, enquanto todo o trabalho duro é feito nos bastidores, na sua classe tag handier. Mas há três maneiras diferentes de se criar os seus próprios tag handiers, então, há muito o que aprender. Dessas três, duas foram introduzidas com o JSP 2.0 para tomar a sua vida mais fácil (Simple Tags e Tag Files).<br/><br/>Objetivos do Exame <br/>Tag Files: iguais ao include, só que melhores <br/>Onde o Container procura por Tag Files <br/>Tag handlers simples <br/>Uma tag Simples com um corpo <br/>E se o corpo da tag usar uma expressão? <br/>Você ainda precisa saber sobre os tag <br/>handlers Clássicos <br/>Um tag handler Clássico bem pequeno <br/>O ciclo de vida Clássico depende dos valores retomados <br/>A interationTag lhe permite repetir o corpo <br/>Valores-padrão retomados pela TagSupport <br/>A interface DynamicAttribute <br/>Com BodyTag, você tem dois novos métodos <br/>E se você tiver tags que funcionam conjuntamente? <br/>Usando a API PageContext para tag handlers <br/><br/>Distribuindo sua aplicação web<br/>11 Finalmente, sua aplicação está pronta para o horário nobre. As suas páginas estão finalizadas, seu código está testado e ajustado, e o prazo de entrega era há duas semanas atrás. Mas, para onde vai isso tudo? Tantos diretórios, tantas regras. Que nome você dá aos seus diretórios? Qual nome o cliente pensa que eles têm? O que é que o cliente realmente solicita, e como o Container sabe onde procurar?<br/><br/>Objetivos do Exame <br/>Principal tarefa da distribuição: onde entra o quê? <br/>Arquivos WAR <br/>Como o mapeamento de servlets REALMENTE funciona <br/>Configurando arquivos de boas-vindas no DD <br/>Configurando páginas de erro no DD <br/>Configurando a inicialização de servlets no DD <br/>Criando um JSP compatível com XML: um Documento JSP <br/><br/>Mantenha em segredo, mantenha seguro<br/>12 Sua aplicação web está em perigo. O perigo espreita em cada canto da rede. Você não quer os Caras Maus xeretando nas transações da sua loja virtual, roubando números de cartões de crédito. Também não quer os Caras Maus convencendo o seu servidor de que eles na verdade são os Clientes Especiais Que Recebem Grandes Descontos. E você não quer ninguém (amigo OU inimigo) olhando dados confidenciais dos empregados. Será que o Jim, do departamento de marketing, precisa mesmo saber que a Lisa, do departamento de engenharia, ganha três vezes mais do que ele?<br/><br/>Objetivo do Exame <br/>O Top 4 em segurança de servlets <br/>Como Autenticar no Mundo HTTP <br/>As Dez Melhores Razões para realizar a sua segurança declarativamente <br/>Quem implementa a segurança em uma aplicação web? <br/>Autorização: funções e restrições <br/>Autenticação: quatro sabores <br/>Os QUATRO tipos de autenticação <br/>Protegendo a segurança dos dados em trânsito: HTTPS em ação <br/>Como implementar confidencialidade e integridade de dados caso a caso e declarativamente<br/><br/>O poder dos filtros<br/>13 Os filtros lhe permitem interceptar a solicitação. E se puder interceptar a solicitação, você poderá também controlar a resposta. E, melhor de tudo, o servlet 3 nem percebe o que aconteceu. Ele nunca ficará sabendo que alguém intercedeu entre a solicitação do cliente e a invocação do método servisse do servlet pelo Container. O que isso significa para você? Mais férias. Porque o tempo que você levaria reescrevendo apenas um dos seus servlets pode ser despendido, em vez disso, escrevendo e configurando um filtro com a capacidade de afetar todos os seus servlets. Adicionar tracking das solicitações do usuário a todos os servlets da sua aplicação? Sem problema. Manipular o output de cada serviel da sua aplicação? Sem problema. E você não precisa nem sequer tocar no código do servlet.<br/><br/>Objetivos do Exame <br/>Construindo um filtro para o monitoramento das solicitações <br/>O ciclo de vida de um filtro <br/>Declarando e ordenando filtros<br/>Comprimindo o output com um filtro no lado da resposta<br/>Os wrappers são demais <br/>O código do verdadeiro filtro de compressão <br/>Código do wrapper de compressão <br/><br/>Padrões de Design Enterprise<br/>14 Alguém já fez isso antes. Se estiver começando agora a desenvover aplicações<br/>web em Java, você tem sorte. Poderá se beneficiar do saber coletivo das dezenas de milhares de desenvolvedores que já trilharam esse caminho e sobreviveram para contar. Usando tanto os padrões de design específicos do J2EE quanto outros padrões, é possível simplificar o seu código e a sua vida. E o padrão de design mais significativo para aplicações web, o MVC, possui até mesmo um framework absurdamente popular, o Struts, que ajudará você a criar um servlet Front Controiler flexível e de fácil manutenção. Você deve a si mesmo tirar vantagem do trabalho dos outros para que possa despender mais tempo nas coisas mais importantes da vida...<br/><br/>Objetivos do Exame<br/>O poder do hardware e do software por trás dos padrões<br/>Revisão dos princípios do design de software... <br/>Padrões para dar suporte a componentes de modelos remotos <br/>Visão geral da JNDI e da RMI<br/>O Business Delegate é um "intermediário" <br/>Simplifique os seus Business Delegates com o Service Locator <br/>Hora de usar um Transfer Object? <br/>Nosso primeiro padrão revisitado... MVC <br/>Sim! É o Struts (e o Front Controller), em poucas palavras <br/>Refatorando a aplicação Beer para o Struts <br/>Revisão sobre padrões <br/><br/>Pausa Para o café<br/>O Teste Preparatório final. É isso, 69 perguntas. A aparência, os assuntos abordados e o nível de dificuldade são praticamente idênticos aos da prova oficial. Nós sabemos.<br/>Teste preparatório final <br/>Respostas<br/>Índice <br/><br/><br/><br/>
650 #0 - ASSUNTO
Assunto Website
9 (RLIN) 1866
650 #4 - ASSUNTO
9 (RLIN) 1857
Assunto Linguagem de programação
650 #4 - ASSUNTO
9 (RLIN) 1856
Assunto Desenvolvimento de programa
650 #4 - ASSUNTO
9 (RLIN) 1938
Assunto Servlets
700 1# - Entrada secundária - Nome Pessoal
9 (RLIN) 725
Nome pessoa SIERRA, Kathy
Relação Autora
700 1# - Entrada secundária - Nome Pessoal
9 (RLIN) 726
Nome pessoa BATES, Bert
Relação Autor
942 ## - Elementos de Entrada Adicionados
Tipo de Material Livros
942 ## - Elementos de Entrada Adicionados
Tipo de Material Livros
Exemplares
Classificação Empréstimo Data de aquisição Patrimônio Número completo de chamada Código de barras Número do exemplar Data de inserção do exemplar Tipo de item no Koha
    2019-06-19 30016 006.76 B297u 2019-0039 1 2019-06-19 Livros
    Biblioteca Agamenon Magalhães|(61) 3221-8416| biblioteca@cade.gov.br| Setor de Edifícios de Utilidade Pública Norte – SEPN, Entrequadra 515, Conjunto D, Lote 4, Edifício Carlos Taurisano, térreo