Formação Java Enterprise Edition

Tamanho: px
Começar a partir da página:

Download "Formação Java Enterprise Edition"

Transcrição

1 Formação Java Enterprise Edition Módulo II: Camada Web Formador João Paulo Fernandes NOTA: NOTA: Proibida a reprodução (total ou ou parcial) parcial) ou a distribuição deste deste documento documento sem sem a autorização a autorização da Altran da UBI e UBI e Altran Versão: 1.0 Data:25/01/2011 Versão: 1.0 Data: 16/01/2012 1

2 Informações pré-tutorial Esta apresentação (bem como a de quarta-feira) está disponível no tab Java EE: Nesta mesma página vão encontrar: Vários exemplos de aplicações implementadas em ambiente Java EE (5) [alguns vão ser estudados no módulo]: link exemplos Os exercícios relativos à parte prática, e que terão de resolver; 1ª tarefa: Acederem ao link exemplos e descarregarem o seu conteúdo para o Ambiente de trabalho; Descomprimirem o ficheiro descarregado; 2

3 Agenda 1. Introdução 2. Tecnologia de Servlets Java O ciclo de vida de um Servlet Partilha de Informação Inicialização de um Servlet Escrita de métodos de Serviço Filtragem de pedidos e respostas Invocação de outros recursos Web Acesso ao contexto Web Manutenção do estado no cliente Finalização de um Servlet NOTA: Proibida a reprodução (total ou parcial) ou distribuição deste documento sem a autorização da UBI e Altran Versão: 1.0 Data: 25/01/2011 Área de Negócio: N.A. 3

4 1. Introdução 4

5 Aplicações WEB Uma aplicação web é uma extensão dinâmica de um servidor aplicacional ou de um servidor web. As aplicações web podem ser de um de dois tipos: Presentation-oriented: A presentation-oriented web application generates interactive web pages containing various types of markup language (HTML, XHTML, XML, and so on) and dynamic content in response to requests. Service-oriented: A service-oriented web application implements the endpoint of a web service. Presentation-oriented applications are often clients of service-oriented web applications. 5

6 Aplicações WEB, processamento de pedidos Os componentes Web podem ser: - Servlets Java - Java Server pages Os componentes Web podem interagir com componentes JavaBeans ou uma base de dados para gerar conteúdo dinâmico. 6

7 Componentes Web: Servlets Java e Java Server Pages Servlets Java Classes na linguagem Java que processam pedidos e produzem respostas, dinamicamente; Java Server Pages Documentos constituídos essencialmente por texto que são executados como servlets mas que permitem uma abordagem mais natural à criação de conteúdo estático; Apesar de ambos poderem ser utilizados indistintamente, cada um destes componentes tem vantagens próprias. Por exemplo, servlets são ideais para aplicações orientadas ao serviço, e server pages para gerar linguagens como HTML e XML. 7

8 Componentes Web: Servlets Java e Java Server Pages 8

9 Componentes Web: Servlets Java GreetingServlet.java public class GreetingServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws...{ response.setcontenttype("text/html"); response.setbuffersize(8192); PrintWriter out = response.getwriter(); out.println("<html>" + "<head><title>hello</title></head>"); out.println("<body bgcolor=\"#ffffff\">" + "<img src=\"duke.waving.gif\" alt=\"duke waving\">" + "<h2>hello, my name is Duke. What's yours?</h2>" + "<form method=\"get\">" + "<input type=\"text\" name=\"username\" size=\"25\">" + "<p></p>" + "<input type=\"submit\" value=\"submit\">" + "<input type=\"reset\" value=\"reset\">" + "</form>"); } String username = request.getparameter("username"); if ((username!= null) && (username.length() > 0)) { RequestDispatcher dispatcher = getservletcontext(). getrequestdispatcher("/response"); if (dispatcher!= null) { dispatcher.include(request, response); } } out.println("</body></html>"); out.close(); } Código disponível no material pedagógico fornecido. 9

10 Componentes Web: Servlets Java ResponseServlet.java public class ResponseServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws { PrintWriter out = response.getwriter(); String username = request.getparameter("username"); if ((username!= null) && (username.length() > 0)) { } } } out.println("<h2>hello, " + username + "!</h2>"); Código disponível no material pedagógico fornecido. 10

11 Componentes Web: Java Server Pages index.jsp <html> <head><title>hello</title></head> <body bgcolor="white"> <img src="duke.waving.gif"> <h2>hello, my name is Duke. What's yours?</h2> <form method="get"> <input type="text" name="username" size="25"> <p></p> <input type="submit" value="submit"> <input type="reset" value="reset"> </form> <c:if test="${fn:length(param.username) > 0}" > file="response.jsp" %> </c:if> </body> </html> response.jsp <h2><font color="black">hello, ${param.username}!</font></h2> Código disponível no material pedagógico fornecido. 11

12 Componentes Web: Servlets Java e Java Server Pages Servlets Java são a base de todas as tecnologias de desenvolvimento de aplicações Web. Cada tecnologia construída sobre servlets adiciona um nível de abstracção que torna a prototipagem e desenvolvimento de aplicações mais rápido, ao mesmo tempo que as aplicações desenvolvidas se tornam mais fáceis de manter, são mais escaláveis e robustas. 12

13 2. Tecnologia de Servlets Java Desde que a internet começou a ser utilizada como um ambiente de prestação de serviços que se sentiu a necessidade de criar (e apresentar) conteúdos dinâmicos; A tecnologia de servlets foi criada como uma forma portável de fornecer conteúdos dinâmicos e orientados ao utilizador. Mas afinal o que é um servlet? Um servlet é uma classe na linguagem Java que se utiliza para estender as funcionalidades dos servidores (tipicamente web) que as aplicações acedem seguindo o modelo de programação request-response; Para as aplicações web, a tecnologia de servlets de Java define um conjunto de classes específicas para o protocolo HTTP: As packages javax.servlet e javax.servlet.http providenciam interfaces e classes para implementar servlets; Todos os servlets devem implementar a interface Servlet Por agora, vamos focar-nos na escrita de servlets que geram respostas a pedidos HTTP. 13

14 Tecnologia de Servlets Java Para ilustrar os conceitos associados à implementação de servlets, vamos utilizar um exemplo concreto: o de uma livraria (directoria bookstore); Associados a esta livraria estão várias tarefas/funcionalidades, cada uma implementada por um ou mais servlets: 14

15 O Ciclo de Vida de um servlet é controlado pelo container onde o servlet é despoletado; Existem três métodos (detalhados mais à frente) que são centrais ao ciclo de vida de um servlet: init, service e destroy Um cenário típico da utilização destes métodos seria: 1. Assume that a user requests to visit a URL. The browser then generates an HTTP request for this URL. This request is then sent to the appropriate server. 2. The HTTP request is received by the web server and forwarded to the servlet container. The container maps this request to a particular servlet. The servlet is dynamically retrieved and loaded into the address space of the container. 3. The container invokes the init() method of the servlet. This method is invoked only when the servlet is first loaded into memory. It is possible to pass initialization parameters to the servlet so that it may configure itself. 4. The container invokes the service() method of the servlet. This method is called to process the HTTP request. The servlet may read data that has been provided in the HTTP request. The servlet may also formulate an HTTP response for the client. 15

16 O Ciclo de Vida de um servlet é controlado pelo container onde o servlet é despoletado; Existem três métodos (detalhados mais à frente) que são centrais ao ciclo de vida de um servlet: init, service e destroy Um cenário típico da utilização destes métodos seria: 5. The servlet remains in the container's address space and is available to process any other HTTP requests received from clients. The service() method is called for each HTTP request. 6. The container may, at some point, decide to unload the servlet from its memory. The algorithms by which this decision is made are specific to each container. 7. The container calls the servlet's destroy() method to relinquish any resources such as file handles that are allocated for the servlet; important data may be saved to a persistent store. 8. The memory allocated for the servlet and its objects can then be garbage collected 16

17 Gestão dos eventos relacionados com o Ciclo de Vida de Servlets É possível monitorizar e reagir a eventos do ciclo de vida de servlets através da definição de objectos listener cujos métodos são invocados quando esses eventos ocorrem. Classes listener são definidas como implementações de uma interface listener. 17

18 Gestão dos eventos relacionados com o Ciclo de Vida de Servlets Quando um método listener é invocado, é-lhe passado um Event que contém informação apropriada relativamente a esse evento. Exemplos: a) monitorizar a inicialização do contexto Web implica implementar a interface ServletContextListener, sendo que aos seus métodos é passado um evento ServletContextEvent; b) aos métodos em HttpSessionListener são passados HttpSessionEvents, contendo uma HttpSession; 18

19 19

20 20

21 Especificação de Classes Event Listener É possível especificar event listeners utilizando o descriptor que é utilizado na fase de deployment da seguinte forma: 1. Expand your application s project node. 2. Expand the project s Web Pages and WEB-INF nodes. 3. Double-click web.xml. 4. Click General at the top of the web.xml editor. 5. Expand the Web Application Listeners node. 6. Click Add. 7. In the Add Listener dialog, click Browse to locate the listener class. 8. Click OK. 21

22 Partilha de Informação entre componentes Web Tal como a maior parte dos objectos, os componentes Web normalmente interagem com outros componentes com o objectivo de cumprir uma tarefa; Estes componentes partilham informação através de objectos que são mantidos em atributos de 4 objectos de âmbito : Estes atributos são acedidos através de métodos [get set]attribute 22

23 De volta à nossa livraria... 23

24 Gestão de acessos concorrentes a recursos partilhados Num ambiente multithreaded, é possível que recursos partilhados sejam acedidos concorrentemente. Para além de atributos de objectos de âmbito, recursos partilhados podem ser variáveis em memória e objectos externos como ficheiros, ligações a bases de dados e ligações de rede. Acessos concorrentes podem ocorrer em várias situações, quando: 1. mais do que um componente Web acede a objectos armazenados no contexto Web; 2. mais do que um componente Web acede a objectos armazenados na sessão; 3. Múltiplas threads de um mesmo componente Web acedem a variáveis de instância. Na nossa aplicação vimos 5 atributos de âmbito partilhados por mais do que um servlet: bookdb, cart, currency, hitcounter, and ordercounter. Os valores destes últimos 4 atributos podem ser definidos e lidos por múltiplos servlets multithreaded. 24

25 Gestão de acessos concorrentes a recursos partilhados Na nossa aplicação vimos 5 atributos de âmbito partilhados por mais do que um servlet: bookdb, cart, currency, hitcounter, and ordercounter. Os valores destes últimos 4 atributos podem ser definidos e lidos por múltiplos servlets multithreaded. Para evitar que estes objectos se tornem inconsistentes, o seu acesso é controlado por métodos sincronizados : 25

26 Gestão de acessos concorrentes a recursos partilhados Não é possível que se misturem duas invocações de métodos sincronizados que occorram no mesmo objecto. Isso quer dizer que quando uma thread está a executar um método sincronizado num objecto, todas as outras threads que invoquem outros métodos sincronizados no mesmo objecto sejam bloqueadas (suspensas) até que a primeira thread liberte o objecto; Quando um método sincronizado retorna, ele automaticamente estabelece uma relação ocorre-antes com qualquer invocação subsequente de um método sincronizado no mesmo objecto. Isso garante que todas as alterações do estado ficam visíveis para todas as threads. 26

27 Acesso a bases de dados Os dados que são partilhados por diferentes componentes Web e que são persistentes entre invocações de uma aplicação Web são normalmente mantidos numa base de dados. Os componentes Web usam a Java Persitence API (apresentada mais à frente) para aceder a bases de dados relacionais. No caso da livraria em estudo, uma base de dados é acedida através da classe BookDBAO. Por exemplo, ReceiptServlet invoca BookDBAO.buybooks: 27

28 Acesso a bases de dados 28

29 Acesso a bases de dados Para garantir que uma ordem é completamente processada, a invocação de buybooks está encapsulada numa única transacção, no servlet ReceiptServlet: No código acima: as invocações de begin e de commit de UserTransaction marcam os limites da transacção; a invocação de rollback anula os efeitos de todas as instruções da transação para proteger a integridade dos dados. 29

30 Inicialização de um servlet Depois do web container carregar e instanciar uma classe servlet, e antes de essa instância poder fornecer serviços a um cliente, o web container inicializa o servlet; Como vimos, para especificar o processo de inicialização (permitindo que o serlvet leia informação persistente, para inicializar outros recursos ou para executar outras tarefas uma única vez), é necessário re-implementar o método init da interface Servlet; Um servlet que não consiga completar o processo de inicialização deve lançar uma excepção UnavailableException; Todos os servlets que acedem à base de dados da livraria (BookStoreServlet, CatalogServlet, BookDetailsServlet, e ShowCartServlet) inicializam, no seu método init, uma variável que aponta para o DBAO criado pelo web context listenter: 30

31 Implementação dos serviços de um servlet O serviço prestado por um servlet é implementado: - no método service de um GenericServlet; - num dos métodos domethod (Method pode tomar qualquer um dos valores: Get, Delete, Options, Post, Put ou Trace) de um HttpServlet; - num outro método de um protocolo específico definido numa classe que implemente a interface Servlet. De agora em diante chamaremos método de serviço a qualquer método de uma classe servlet que forneça um serviço a um cliente. O padrão típico de um método de serviço passa por: i) extrair informação/ compreender o pedido feito; ii) aceder a recursos externos; iii) construir uma resposta com base nessa informação; Para servlets Http, o procedimento correcto para construir a resposta envolve aceder a uma output stream da resposta, preencher os headers da resposta, e finalmente escrever o conteúdo para o body da resposta. 31

32 i) Extracção de informação dos pedidos Um pedido contém dados que são passados entre o cliente e o servlet. Todos os requests implementam a interface ServletRequest; esta interface define métodos que permitem aceder à informação seguinte: - parâmetros, que são tipicamente usados para passar informação entre cliente e servlet - atributos, que são usados para passar informação entre o servlet container e o servlet (ou servlets colaborantes) - informação sobre o protocolo utilizado para comunicar o pedido e acerca do cliente e servidor envolvidos - Por exemplo, no servlet CatalogServlet, o identificador do livro que um cliente deseja adquirir é incluído como um parâmetro no pedido. O código seguinte ilustra como se pode usar o método getparameter para extrair o identificador: É ainda possível aceder a uma input stream do pedido e extrair informação manualmente. Para ler informação textual, pode utilizar-se o objecto java.io.bufferedreader retornado pelo método getreader do pedido. Para ler dados binários, utilizar a ServletInputStream retornada pelo getinputstream. 32

33 i) Extracção de informação dos pedidos Aos servlets HTTP é passado um objecto HTTP request, HttpServletRequest, que contém o URL do pedido, headers HTTP, a string de query, Um URL de um pedido HTTP tem a seguinte estrutura: O request-path é composto pelos seguintes elementos: Context path: A concatenation of a forward slash (/) with the context root of the servlet s web application. Servlet path: The path section that corresponds to the component alias that activated this request. This path starts with a forward slash (/). Path info: The part of the request path that is not part of the context path or the servlet path. 33

34 i) Extracção de informação dos pedidos Aos servlets HTTP é passado um objecto HTTP request, HttpServletRequest, que contém o URL do pedido, headers HTTP, a string de query, Um URL de um pedido HTTP tem a seguinte estrutura: A query-string é composta por um conjunto de parâmetros e valores. Parâmetros individuais podem ser acedidos de um pedido utilizando o método getparameter. A forma que estudaremos para gerar query strings é a seguinte: A query string aparece explicitamente numa página web; Por exemplo, uma página HTML gerada por CatalogServlet podia conter o link <a href="/bookstore1/catalog?add=101">add To Cart</a> Neste caso, CatalogServlet extraíria o parâmetro com nome Add da seguinte forma: String bookid = request.getparameter("add"); 34

35 iii) Construção de respostas aos pedidos Uma resposta contém dados que são passados entre o servidor e o cliente; Todas as respostas implementam a interface ServletResponse; esta interface define métodos que permitem: - aceder a uma output stream que é utilizada para enviar dados aos clientes; para enviar texto, utilizar a java.io.printwriter retornada pelo método getwriter invocado na resposta; - indicar o tipo de conteúdo que é retornado como resposta (por exemplo, text/html), com o método setcontenttype(string); - indicar se se pretende utilizar um buffer, através do método setbuffersize(int); por defeito, qualquer conteúdo escrito na output stream é imediatamente enviada ao cliente. Buffering permite que se vá construíndo conteúdo sem que esse conteúdo seja de facto enviado ao cliente. Os objectos HttpServletResponse, que permitem construir respostas HTTP, contêm ainda campos representando headers HTTP tais como códigos de estado e cookies. 35

36 iii) Construção de respostas aos pedidos Na livraria em estudo, o servlet BookDetailsServlet gera uma página HTML que mosta a informação relativa a um livro, que o servlet acede na base de dados; Em primeiro lugar, o servlet define os headers da resposta: o tipo de conteúdo da resposta e o tamanho do buffer: A utilização de um buffer previne que o cliente veja o início de uma página correcta seguido uma página de erro no caso, por exemplo, de uma tentativa falhada de aceder a um livro; De seguida, o método doget acede a uma PrintWriter da resposta; 36

37 iii) Construção de respostas aos pedidos Para construir a resposta, o servlet começa por reencaminhar o pedido para o BannerServlet, que gera um banner comum a todos os servlets na aplicação: servlet De seguida, o servlet acede ao identificador do livro que se pretende consultar, acedendo ao parâmetro respectivo do pedido, e usa-o para aceder à informação do livro que consta da base de dados: 37

38 iii) Construção de respostas aos pedidos Finalmente, o servlet sinaliza que o código HTML que construiu deve ser enviado ao cliente, através da invocação do método close na PrintWriter: O servlet BookDetailsServlet gera uma página como a seguinte: 38

39 39

40 Filtragem de Pedidos e Respostas Um filtro é um objecto capaz de transformar tanto um header como o conteúdo (ou ambos) de um pedido ou resposta. Um filtro difere de um componente web uma vez que, normalmente, não cria ele próprio uma resposta; ao invés, fornece alguma funcionalidade que pode ser anexada a qualquer tipo de recurso web; As principais tarefas que um filtro pode executar são: Analizar o pedido e agir em conformidade; Bloquear o par pedido/resposta de serem passados; Modificar o header e os dados de um pedido; isto é feito criando uma versão particular de um pedido; Modificar o header e os dados de uma resposta; isto é feito criando uma versão particular de uma resposta Interagir com recursos externos Filtros podem ser utilizados em tarefas de logging, de conversão de imagens, cifragem de dados, etc É possível configurar um recurso web para ser filtrado por zero, um ou mais filtros, numa ordem específica. As tarefas envolvidas na utilização de filtros são: Programar o filtro Programar pedidos e respostas customizados Especificar a ordem de aplicação dos filtros, para cada recurso web 40

41 Programação de Filtros A API para definição de filtros está defina pelas interfaces Filter, FilterChain e FilterConfig da package javax.servlet; Um filtro define-se implementando a interface Filter. O método mais importante desta interface é o método dofilter, ao qual são passados o pedido, a resposta e objectos da cadeia de filtros. Este método pode efectuar as seguintes acções: Examinar headers de pedidos; Customizar o objecto do pedido(resposta), se o filtro pretender modificar os headers ou dados do pedido(resposta); Invocar a entidade seguinte na cadeia de filtros; Examinar headers de respostas depois de ter invocado o filtro seguinte na cadeia de filtros; Lançar uma excepção para indicar um erro de processamento. Para além de dofilter, é necessário implementar os métodos init e destroy; 41

42 Programação de Filtros A livraria que temos vindo a estudar utiliza dois filtros: HitCounterFilter e OrderFilter, para incrementar e registar (um log com) o valor de contadores sempre que a aplicação é acedida e um recibo é emitido, respectivamente. Nos respectivos métodos dofilter, ambos os filtros acedem ao contexto dos servlets a partir do objecto de configuração de filtros por forma a acederem aos contadores armazenados como atributos de contexto. Depois de executarem as suas tarefas específicas, os filtros invocam dofilter no objecto da cadeia de filtros passado ao método dofilter original. 42

43 Invocação de Outros Recursos Web Os componentes Web podem invocar outros recursos de duas formas distintas: Indirectamente: - quando o URL para um dado recurso web é embebido no conteúdo enviado ao cliente; - quase todos os componentes da livraria invocam outros recursos indirectamente; - p.e., ShowCartServlet invoca indirectamente o servlet CatalogServlet através do URL: /bookstore1/bookcatalog Directamente, de uma de duas formas: i) O componente web inclui o conteúdo de outro recurso ii) O componente web reencaminha um pedido para outro recurso - Para invocar um recurso disponível no servidor onde um componente web está a correr, é preciso obter um objecto RequestDispatcher invocando o método getrequestdispatcher("url ), e.g.: RequestDispatcher dispatcher = getservletcontext().getrequestdispatcher("/banner"); 43

44 Incorporação de Outros Recursos na Resposta É frequente incluir um outro recurso web (p.e., um banner) na resposta que é retornada por um componente web; para fazer isso, há que invocar o método include do objecto RequestDispatcher: RequestDispatcher dispatcher = getservletcontext().getrequestdispatcher("/banner"); dispatcher.include(request, response); Se o recurso é estático, o método include permite programar includes no lado do servidor Se o recurso é um componente web, o efeito deste método é o de enviar o pedido ao componente web que está a ser incluído, executar esse componente, e incluir o resultado dessa execução na resposta ao servlet que contém a invocação do método; 44

45 Incorporação de Outros Recursos na Resposta O banner da livraria em estudo é gerado pelo servlet BannerServlet: 45

46 Incorporação de Outros Recursos na Resposta E os restantes servlets incorporam o resultado de BannerServlet definindo o código: 46

47 Acesso ao contexto Web O contexto em que os componentes Web executam é um objecto que implementa a interface ServletContext; É possível aceder a este contexto utilizando o método getservletcontext; O contexto Web disponibiliza métodos para aceder a: Parâmetros de inicialização Recursos associados ao contexto web Atributos objecto-valor Iniciativas de logging Tal como foi apresentado, o contexto web é utilizado pelos filtros HitCounterFilter e OrderFilter; cada filtro armazena um contador sob a forma de um atributo de contexto; Relembra-se também que os métodos que acedem a esses contadores são sincronizados para prevenir operações incompatíveis dos servlets que a eles acedem concorrentemente; Um filtro acede a um contador utilizando o método de contexto getattribute; O valor do contador incrementado é registado no log; 47

48 Acesso ao contexto Web 48

49 Manutenção do Estado no Cliente Várias são as aplicações que necessitam que um conjunto de pedidos de um cliente sejam associados uns com os outros; No caso da livraria, é natural assumir que a aplicação guarde o estado do carrinho de compras de um utilizador entre pedidos; As aplicações Web-based são responsáveis pela manutenção desse estado, chamado uma sessão, uma vez que o protocolo HTTP não o permite manter; A tecnologia de Java Servlets fornece uma API que permite às aplicações que precisam de manter um estado gerir sessões e que permite vários mecanismos para implementar sessões; 49

50 Acesso a uma sessão Sessões são representadas por um objecto HttpSession; O acesso a uma sessão faz-se através do método getsession invocado no objecto de um pedido; Este método retorna a sessão corrente associada ao pedido, ou, se o pedido não tiver uma sessão associada, cria-a; 50

51 Associação de Objectos a uma sessão É possível associar atributos objecto-valor a uma sessão pelo seu nome; Estes atributos são acessíveis por qualquer componente web que pertença ao mesmo contexto web e que esteja a gerir um pedido que seja parte da mesma sessão; Na aplicação para gerir a livraria, o carrinho de compras é armazenado como um atributo de sessão: isso permite que o carrinho seja guardado entre pedidos e ainda que servlets cooperantes lhe acedam: o servlet CatalogServlet adiciona livros ao carrinho; antes disso, define um atributo de sessão, se ele não existir: 51

52 Associação de Objectos a uma sessão É possível associar atributos objecto-valor a uma sessão pelo seu nome; Estes atributos são acessíveis por qualquer componente web que pertença ao mesmo contexto web e que esteja a gerir um pedido que seja parte da mesma sessão; Na aplicação para gerir a livraria, o carrinho de compras é armazenado como um atributo de sessão: isso permite que o carrinho seja guardado entre pedidos e ainda que servlets cooperantes lhe acedam: o servlet CatalogServlet adiciona livros ao carrinho; o servlet ShowCartServlet mostra, remove livros do carrinho e reinicia o carrinho; CashierServlet calcula o custo total dos livros no carrinho; 52

53 Gestão de uma Sessão Uma vez que não existe nenhuma forma de um cliente HTTP sinalizar que não precisa mais de uma sessão, cada sessão tem associada a si um timeout a partir do qual os seus recursos são libertados ; Este período de timeout pode ser acedido utilizando os métodos: [get set]maxinactiveinterval É ainda possível definir o período de timeout utilizando o descritor de deployment: 1. Open the web.xml file in the web.xml editor. 2. Click General at the top of the editor. 3. Enter an integer value in the Session Timeout field. The integer value represents the number of minutes of inactivity that must pass before the session times out. Por forma a garantir que uma sessão activa não é interrompida por um timeout, devese aceder periodicamente à sessão utilizando métodos de serviço: estes reiniciam o contador do tempo de vida; 53

54 Gestão de uma Sessão Quando a interacção com um cliente terminar, utiliza-se o método invalidate para invalidar a sessão do lado do servidor e limpar quaisquer dados da sessão; O servlet ReceiptServlet é o último a aceder a uma sessão de um cliente, pelo que fica com a responsabilidade de invalidar a sessão: 54

55 Controlo de uma Sessão Um web container pode utilizar vários métodos para associar uma sessão a um utilizador, mas todos envolvem trocar um identificador entre o cliente e o servidor; O identificador pode ser mantido no cliente como um cookie, ou o componente web pode incluir o identificador em cada URL que é enviado ao cliente; Se uma aplicação usa objectos de sessão, é necessário garantir que o controlo da sessão está activado, forçando a aplicação a reescrever URLs sempre que o cliente desliga os cookies; Isso é feito invocando o método encodeurl(url) em todas as URLs produzidas por um servlet; Este método inclui o identificador da sessão no URL apenas no caso em que os cookies estejam desactivados; Caso contrário, os URLs são mantidos inalterados; 55

56 Controlo de uma Sessão O método doget de ShowCartServlet incorpora os 3 URLs no fundo da página que mostra o carrinho de compras da seguinte forma: Se os cookies estiverem desactivados, a sessão é embebida no URL de check out assim: Se os cookies estiverem activos, então o URL é simplesmente: 56

57 Finalização de um servlet Quando um servlet container decide que um servlet deve ser removido de serviço (p.e., quando um container necessita da memória que o servlet está a utilizar ou quando está a ser desligado), o container invoca o método destroy da interface Servlet; Neste método, são libertados quaisquer recursos que estejam a ser utilizados pelo servlet e é armazenado qualquer estado persistente; O método seguinte liberta o objecto criado pelo método init para gerir a base de dados: 57

Programaçã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. 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 mais

Java para Desenvolvimento Web

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 mais

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim Introdução Servlet Ciclo Vida Exemplos Servlet Prof. Enzo Seraphim Visão Geral São objetos de uma subclasse de javax.servlet (javax.servlet.httpservlet). Possuem um ciclo de vida. Incluem em seu código,

Leia mais

Web 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: 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 mais

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Programaçã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 mais

Sessões. Cookies HTTP Sessões Atributos de sessão

Sessõ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 mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java 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 mais

Programaçã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. Í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 mais

Programação II Programação para a Web. Christopher Burrows

Programaçã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 mais

Java na WEB Servlet. Sumário

Java 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 mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento 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 mais

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2 Java Server Pages Arquitectura de uma aplicação distribuída em Internet Figura 1 Modelo 2 A implementação desta arquitectura, com um controlador que direcciona a execução de s, de Servlets e de JavaBeans,

Leia mais

Universidade da Beira Interior

Universidade 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 mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform

Leia mais

J550. Helder da Rocha (helder@acm.org) www.argonavis.com.br

J550. Helder da Rocha (helder@acm.org) www.argonavis.com.br J550 Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 O que são Filtros Um filtro éum componente Web que reside no servidor Intercepta as requisições e respostas no seu caminho até o servlet e de

Leia mais

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel Introdução a Servlets e JSP samuellunamartins at gmail dot com Conteúdo da aula Introdução a HTML Introdução a Servlets Preparando o ambiente de programação Exemplo de Servlets 2 Websites na década de

Leia mais

Prof. Roberto Desenvolvimento Web Avançado

Prof. Roberto Desenvolvimento Web Avançado Resposta exercício 1: Configuração arquivo web.xml helloservlet br.com.exercicios.helloservlet

Leia mais

Java para WEB. Servlets

Java 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 mais

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Curso 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 mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento 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 mais

Desenvolvimento de aplicações Web. Java Server Pages

Desenvolvimento 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 mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃ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 mais

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Padrã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 mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)

Leia mais

Laboratórios 5, 6, 7 - Servlets

Laboratórios 5, 6, 7 - Servlets Laboratórios 5, 6, 7 - Servlets Introdução Como já deverão ter noção, uma Servlet é uma classe Java utilizada para estender as capacidades dos servidores web, utilizando para tal um modelo de pedido-resposta.

Leia mais

Java Servlets. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Java 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 mais

Arquiteturas 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 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 mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Extensão de servidor escrita em Java Podem ser usados para estender qualquer tipo de aplicação do modelo requisição- resposta Todo servlet implementa a

Leia mais

JSP - JavaServer Pages

JSP - JavaServer Pages JSP - JavaServer Pages 1 Sumário O que é o JSP? Comparação com ASP, Servlets, e Javascript Disponibilidade Um exemplo simples Mais sobre Sintaxe Um pouco de JavaBeans Um exemplo mais complexo 2 O que são

Leia mais

UNIDADE III JAVA SERVER PAGES

UNIDADE III JAVA SERVER PAGES UNIDADE III JAVA SERVER PAGES MODELO JSP Um dos principais objetivos da tecnologia J2EE é fazer com que as tarefas sejam realizadas de forma separada. Eliminando as dependências, componentes J2EE tornam-se

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

Executando comandos do Sistema Operacional em uma aplicação WEB Java

Executando comandos do Sistema Operacional em uma aplicação WEB Java Executando comandos do Sistema Operacional em uma aplicação WEB Java Criei uma aplicação muito simples que demonstra como um Servlet pode invocar uma classe que efetua um comando qualquer no sistema operacional.

Leia mais

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL Sistemas Distribuídos na Web Pedro Ferreira DI - FCUL Arquitetura da Web Criada por Tim Berners-Lee no CERN de Geneva Propósito: partilha de documentos Desde 1994 mantida pelo World Wide Web Consortium

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1) GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1) MICROSOFT OUTLOOK 2003 - OBJECTIVOS OBJECTIVOS: Enumerar as principais funcionalidades do Outlook; Demonstrar a utilização das ferramentas do correio electrónico;

Leia mais

REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2011 / 2012

REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2011 / 2012 Departamento de Engenharia Electrotécnica REDES INTEGRADAS DE TELECOMUNICAÇÕES II 2011 / 2012 4º ano 8º semestre 2º Trabalho prático: Serviço de distribuição de vídeo com CORBA e JMF http://tele1.dee.fct.unl.pt

Leia mais

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web Introdução a JavaServer Pages Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web JavaServer Pages Problemas com Servlets: É improdutivo para gerar todo o conteúdo

Leia mais

Criação de uma aplicação usando Servlets

Criação de uma aplicação usando Servlets Robson Soares Silva (robsonsoares.silva@gmail.com) - graduado em Ciência da Computação pela UFMS, com pós-graduação em Análise de Sistemas pela UFMS e Mestrado em Sistemas Distribuídos pela UFRGS. Professor

Leia mais

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Desenvolvimento 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 mais

Licenciatura em Eng.ª Informática Redes de Computadores - 2º Ano - 2º Semestre. Trabalho Nº 1 - Ethereal

Licenciatura em Eng.ª Informática Redes de Computadores - 2º Ano - 2º Semestre. Trabalho Nº 1 - Ethereal 1. Objectivos do Trabalho Trabalho Nº 1 - Ethereal Tomar conhecimento com um analisador de pacotes o Ethereal Realizar capturas de pacotes e analisá-los o TCP / UDP o IP o Ethernet o HTTP / DNS 2. Ambiente

Leia mais

Aula 4. Objetivos. Conteúdo dinâmico na internet.

Aula 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 mais

Tecnologias Web. Java Servlets

Tecnologias Web. Java Servlets Tecnologias Web Java Servlets Cristiano Lehrer, M.Sc. O que são Servlets Extensões do servidor escritas em Java: Podem ser usados para estender qualquer tipo de aplicação do modelo requisição/resposta.

Leia mais

Programação em Rede. Servlets. Manipulação de dados de input em Servlets

Programação em Rede. Servlets. Manipulação de dados de input em Servlets Servlets Manipulação de dados de input em Servlets Os dados de um formulário podem ser utilizados para pedidos GET ou POST. Com servlets JAVA esta operação é efectuada pelo método getparameter de HttpServletRequest,

Leia mais

O Manual do ssc. Peter H. Grasch

O Manual do ssc. Peter H. Grasch Peter H. Grasch 2 Conteúdo 1 Introdução 6 2 Usar o ssc 7 2.1 Gerir os utilizadores.................................... 7 2.1.1 Adicionar um utilizador.............................. 8 2.1.1.1 Associar-se

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Fundamentos de Servlets. Conceitos e ciclo de vida Classes e Interfaces da API Exemplos de Servlets

Fundamentos de Servlets. Conceitos e ciclo de vida Classes e Interfaces da API Exemplos de Servlets Fundamentos de Servlets Conceitos e ciclo de vida Classes e Interfaces da API Exemplos de Servlets Common Gateway Interface Aplicações Geração de documentos com conteúdo dinâmico Produzir resultados em

Leia mais

Autenticação e Autorização

Autenticação e Autorização Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa

Leia mais

Java Beans e Servlets

Java 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 mais

Programação Web Aula 12 - Java Web Software

Programação Web Aula 12 - Java Web Software Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código

Leia mais

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1 Java NET: Interaja com a Internet Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1 CV Nome: Ricardo Terra Email: rterrabh [at]

Leia mais

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux gustavo@4linux.com.br

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux gustavo@4linux.com.br Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces Gustavo Lira Consultor 4Linux gustavo@4linux.com.br Especificação para os Portlets Os padrões para Portlets Java EE são definidos por duas JSRs: 168,

Leia mais

Servlets e Applets, funcionamento e comparativo.

Servlets 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 mais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

Gestão de projectos na Web

Gestão de projectos na Web Gestão de projectos na Web Relatório de desenho de alto nível Versão 1.0, 5 de Maio de 2003 Telmo Pedro Gomes Amaral (mee02013@fe.up.pt) (Grupo 15) Aplicações na Web Mestrado em Engenharia Electrotécnica

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB Enterprise Java

Leia mais

Catálogo Nacional de Compras Públicas. Manual de Fornecedores

Catálogo Nacional de Compras Públicas. Manual de Fornecedores 10 de Julho de 2009 Índice 1. Introdução... 3 1.1. Objectivo... 3 2. Fornecedor... 4 2.1. AQs/CPAs... 4 2.2. Contratos... 4 2.3. Grupos AQ/CPA... 5 3. Carregamento e Actualização do Catálogo... 7 3.1.

Leia mais

Aula 03 - Projeto Java Web

Aula 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 mais

Prática Sobre Servlets e JSP

Prática Sobre Servlets e JSP Prática Sobre Servlets e JSP 1. Localize a pasta do Tomcat (TOMCAT_HOME); 2. Acesse a pasta bin e execute tomcat5w.exe; 3. Abra o Navegador e acesse http://localhost:8080 (A apresentação de uma página

Leia mais

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010. Relatório do GPES Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010. Compreender a programação JSP. Os Servlets assim como JSP são tecnologias

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

Inserindo e Listando registros

Inserindo e Listando registros Inserindo e Listando registros Dando prosseguimento à aula anterior, agora precisaremos construir uma rotina que faça a inserção no banco de dados Escola. A ação agora é inserir o aluno na tabela alunos

Leia mais

programação de páginas de conteúdo dinâmico

programação de páginas de conteúdo dinâmico Programação para a Internet II 1. Conceitos base de programação de páginas de conteúdo dinâmico Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt A internet tal como a vimos até este momento As nossas

Leia mais

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo Iniciar o Data Adapter Configuration Wizard Toolbox Data Duplo clique em OleDbDataAdapter Botão next na caixa de diálogo Se carregar em Cancel, o wizard é cancelado e podemos depois definir as propriedades

Leia mais

Manual de Utilizador Plataforma de Estágios TIC. www.estagiostic.gov.pt

Manual de Utilizador Plataforma de Estágios TIC. www.estagiostic.gov.pt Manual de Utilizador Plataforma de Estágios TIC www.estagiostic.gov.pt 1 Índice 1 Introdução 3 1.1 Programa de Estágios TIC 3 1.2 Objectivo da plataforma 3 1.3 Perfis 4 1.3.1 Escola 4 1.3.2 Empresa 4 1.3.3

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 01 e 02 Prof. Fernando Freitas Costa http://professor.fimes.edu.br/fernando nando@fimes.edu.br Prof. Fernando 1 Ementa Instalação e configuração básica do NetBeans e

Leia mais

Web. Professor: Rodrigo Alves Sarmento rsarmento@catolica-es.edu.br rasarmento@gmail.com

Web. Professor: Rodrigo Alves Sarmento rsarmento@catolica-es.edu.br rasarmento@gmail.com Web Professor: Rodrigo Alves Sarmento rsarmento@catolica-es.edu.br rasarmento@gmail.com Objetivos O que é uma aplicação Web? Web x Stand-Alone Web x Cliente Servidor Tradicional Tipos de Aplicação Dois

Leia mais

Programação na Web. Servlets Leitura dos Parâmetros e Cabeçahos

Programação na Web. Servlets Leitura dos Parâmetros e Cabeçahos Programação na Web Servlets Leitura dos Parâmetros e Cabeçahos 1 Criar um Formulário HTML Fórmulário: GetForm.html A Sample

Leia mais

Orientada a serviços: JAX-WS SOAP API

Orientada a serviços: JAX-WS SOAP API Orientadaa apresentação: uma aplicação webde apresentação orientada gera páginas webinterativascom vários tipos de linguagem de marcação (HTML, XML, e assim por diante) e conteúdo dinâmico em resposta

Leia mais

Java 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. 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 mais

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012. 1 Tecnologia WEB II Prof. Erwin Alexander Uhlmann Introdução ao PHP UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012. 2 Agradecimentos Agradeço à minha esposa Kátia por entender

Leia mais

Javascript Exemplos Objetos

Javascript Exemplos Objetos Javascript Exemplos Objetos //defines a person constructor function person(fname,lname,ecolor){ this.firstname=fname; this.lastname=lname; this.eyecolor=ecolor;

Leia mais

Facturação Guia do Utilizador

Facturação Guia do Utilizador Facturação Guia do Utilizador Facturação Como se utiliza 2 1 Como se utiliza Todas as opções do sistema estão acessíveis através do menu: ou do menu: O Menu caracteriza-se pelas seguintes funcionalidades:

Leia mais

Capítulo II Modelos de Programação Distribuída

Capítulo II Modelos de Programação Distribuída Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent

Leia mais

Objetos Implícitos. Conceito. Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP.

Objetos 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 mais

O que esperar do SVE KIT INFORMATIVO PARTE 1 O QUE ESPERAR DO SVE. Programa Juventude em Acção

O que esperar do SVE KIT INFORMATIVO PARTE 1 O QUE ESPERAR DO SVE. Programa Juventude em Acção O QUE ESPERAR DO SVE Programa Juventude em Acção KIT INFORMATIVO Parte 1 Maio de 2011 Introdução Este documento destina-se a voluntários e promotores envolvidos no SVE. Fornece informações claras a voluntários

Leia mais

2 Ferramentas Utilizadas

2 Ferramentas Utilizadas 2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]

Leia mais

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Engenharia de Software e Sistemas Distribuídos 2 o Semestre 2013/2014 Enunciado Geral do Projecto O objectivo do projecto é criar uma solução informática que facilite

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java 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 mais

Scriptlets e Formulários

Scriptlets 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 mais

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE A época de 2012/2013 terá um novo recurso para a Filiação e Inscrições em Provas para os Clubes, Equipas e Agentes Desportivos, tendo sido criada para o efeito uma nova Plataforma de Inscrições Online.

Leia mais

20/08/14 JAVA SERVLETS CONCEITOS CONTEÚDO ARQUITETURA DE UMA APLICAÇÃO WEB ARQUITETURA DA APLICAÇÃO WEB

20/08/14 JAVA SERVLETS CONCEITOS CONTEÚDO ARQUITETURA DE UMA APLICAÇÃO WEB ARQUITETURA DA APLICAÇÃO WEB CONTEÚDO TECNOLOGIA EM INFORMÁTICA PARA NEGÓCIOS JAVA CONCEITOS Prof. Dr. Henrique Dezani dezani@fatecriopreto.edu.br Arquitetura de uma aplicação Web HTTP (HyperText Transfer Protocol) Métodos HTTP GET

Leia mais

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza Formulários Em PHP Métodos GET e POST progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net Objetivos Entender o funcionamento

Leia mais

Manual técnico. v2.2 2015/10

Manual técnico. v2.2 2015/10 Manual técnico v2.2 2015/10 Índice 1. INTRODUÇÃO... 3 2. DESCRIÇÃO... 3 3. INTEGRAÇÃO DO SISTEMA... 4 3.1 DESCRIÇÃO... 4 3.2 INTEGRAÇÃO... 5 3.2.1. Geração de referências... 5 getreferencemb...5 getreferencemb2...7

Leia mais

Respondendo a eventos

Respondendo a eventos Respondendo a eventos Até agora, a maioria dos scripts que você escreveu foi executado de uma forma tranqüila e ordenada, movendo-se da primeira instrução para a última. Agora aprenderemos a utilizar a

Leia mais

MANUAL DE UTILIZAÇÃO

MANUAL DE UTILIZAÇÃO NOVO SITE DO CETAC.MEDIA (CENTRO DE ESTUDOS DAS TECNOLOGIAS E CIÊNCIAS DA COMUNICAÇÃO) http:// blogs.ua.pt/cetacmedia (URL temporário) MANUAL DE UTILIZAÇÃO ÍNDICE Apresentação geral do site 3 Menus 3 Post:

Leia mais

www. t PAGINANAHORA Guia de gestão de conteúdos

www. t PAGINANAHORA Guia de gestão de conteúdos www. t PAGINANAHORA Guia de gestão de conteúdos PAGINANAHORA www.paginanahora.pt Bem-vindo ao Sistema e Gestão de Conteúdos! A partir deste sistema de backoffice poderá editar e personalizar o conteúdo

Leia mais

4.1. UML Diagramas de casos de uso

4.1. UML Diagramas de casos de uso Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema

Leia mais

Manual do Gestor da Informação do Sistema

Manual do Gestor da Informação do Sistema Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga

Leia mais

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação Gestão de Conteúdos DotNetNuke Módulos - II Inserção de conteúdos nos módulos Módulo de Text/HTML Módulo de Sre-Notícias Módulo de Sre-Formação Conteúdos dos módulos Na lição: Módulos-I já foi dito que

Leia mais

Aula 8: Servlets (III)

Aula 8: Servlets (III) 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 Última Aula Respostas de requisições.

Leia mais

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ Janeiro 2010 Sumário de Informações do Documento Tipo do Documento: Referência Título do Documento: Padrão para Monitoramento

Leia mais

Especificação Operacional.

Especificação Operacional. Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite

Leia mais