Introdução ao framework web Apache Struts 2

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Introdução ao framework web Apache Struts 2"

Transcrição

1 Introdução ao framework web Apache Struts 2

2 Agenda Histórico Características Arquitetura Elementos Configurações Actions Resultados Exceções Internacionalização Interceptors Taglibs Validação

3 Histórico Projeto Apache Struts foi lançado em Maio de 2000 Criador: Craig R. McClanahan Versão 1.0 veio em Julho de 2001 Framework web Model 2 (baseado no Smalltalk MVC) Revolução no desenvolvimento Java para Web Controle de fluxo da aplicação [C] Separação entre o modelo e a apresentação [M e V] Configuração (XML), validação, conversão, i18n Problemas arquiteturais e desenho Componentes acoplados, dependentes de herança Muita configuração XML, flexibilidade limitada, etc

4 Histórico Web Work projeto paralelo ao Struts Ótima arquitetura e desenho, além de mais flexível Não tão utilizado pelo mercado quanto o Struts Struts 2 foi criado após junção das duas comunidades Força de mercado do Struts + qualidade do Web Work

5 Características Framework web baseado em Actions Actions são POJOs (desacoplamento) facilita testes Anotações ou configurações em XML Convenção (convention over configuration) Uso de interceptadores Diferentes tipos de Result (JSP, Velocity, etc) Tags baseadas em temas e tags com Ajax Trabalha com JSTL, Expression Language (OGNL) Integração natural com Spring, Tiles, SiteMesh Plugins para extender e modificar as funcionalidades

6 Arquitetura Principais componentes (core components) Actions Interceptors Value Stack / OGNL Result Types Results / View

7 Ciclo de vida de uma requisição no Struts 2: Filtros Action Mapper Action Proxy Configuration Manager Action Invocation Interceptor Action Result Template Arquitetura

8 Arquitetura Requisição chega ao Servlet Container, que executa a cadeia de filtros configurada Filter Dispatcher é chamado, que por sua vez consultará o Action Mapper para determinar se o pedido deve invocar uma ação configurada Se uma ação deve ser invocada, o Filter Dispatcher delega o controle ao Action Proxy Action Proxy consulta o Configuration Manager Action Proxy cria um Action Invocation, que é responsável pela execução do command pattern Action Proxy invoca Interceptors e a Action em si

9 Arquitetura Após retorno da Action, o Action Invocation analisa se há um Result mapeado associado ao retorno da Action O resultado é executado envolvendo um Template JSP, FreeMarker, etc, a ser renderizado (nem sempre, como é o caso de Action Chaining) Templates podem usar as Struts Tags Interceptors são executadas novamente (ordem inversa) A resposta retorna através dos filtros configurados (ordem inversa) Se o filtro ActionContextCleanUp está presente, o Filter Dispatcher não irá limpar o Action Context

10 ObjectFactory Arquitetura Todos os objetos desta arquitetura (Actions, Results, Interceptors, etc) são criados por um ObjectFactory ObjectFactory é plugável Outra implementação de ObjectFactory pode ser usada Spring Plugin tem implementação do ObjectFactory

11 Filter Dispatcher Elementos Filtro do Struts 2 que lida com todas as requisições feitas e é responsável por executar as Actions e o conteúdo estático (html, css, scripts, etc) Action É a unidade básica de trabalho, que pode ser associada a uma requisição HTTP. Em geral são simples POJOs, mas pode estender a classe ActionSupport para ter funcionalidades extras, por exemplo

12 Result Elementos É o resultado final do processamento de uma Action, ou seja, uma String que indica para onde o fluxo da aplicação deve seguir Result Type Tipo do resultado a ser gerado, que pode ser renderizar um JSP, um template Tiles, redirecionar (dispatch) para outra Action, devolver apenas o header HTTP, etc. Além de ser possível criar novos Result Types

13 Interceptors Elementos Interceptadores adicionam muitas funcionalidades extremamente úteis ao Struts 2. Eles são executados antes e depois da execução da Action e, similares ao filtros, podem ser configurados em determinada ordem Value Stack Uma pilha que serve como área de armazenagem de objetos da aplicação que são necessários durante o processamento da requisição. Os valores são lidos desta pilha quando o resultado é gerado (páginas)

14 Elementos OGNL (Object-Graph Navigation Language) É uma poderosa linguagem de expressão que é usada para referenciar e manipular valores da Value Stack

15 Struts 1 x Struts 2 Struts 1 Action ActionForm ActionForward struts-config.xml ActionServlet RequestProcessor validation.xml Struts 2 Action Action ou POJO Result struts.xml FilterDispatcher Interceptors Action-validation.xml

16 Configuração do Struts 2 na Aplicação Configurando o Struts 2 na aplicação web (web.xml): <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.filterdispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> Copiar os seguintes JARs para o WEB-INF/lib/ struts2-core jar; xwork jar; ognl jar; commons-logging jar; commons-fileupload jar; freemarker jar

17 Configuração do Struts 2 É possível mudar o comportamento padrão do Struts 2 configurando o ambiente de execução de três formas: web.xml - tag <init-param /> struts.properties - propriedades (par chave/valor) struts.xml - tag <constants /> Valores alterados substituem os valores-padrão configurados no arquivo struts-default.properties que fica dentro do struts2-core.jar Arquivos devem ficar no classpath (WEB-INF/classes/) Mais informações:

18 Configuração do Struts 2 O arquivo struts.xml serve para configurar: Constantes do Struts 2 Interceptadores e pilhas de interceptadores Resultados globais (global results) Manipulação de exceções (exception handling) Pacotes (packages) e Actions <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" " <struts> <package name="default" namespace="/" extends="struts-default"> </package> </struts>

19 Configuração do Struts 2 O arquivo struts.xml pode ser segmentado em outros arquivos de configuração (iguais ao struts.xml) e incluídos com a tag <include /> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" " <struts> <include file="admin-config.xml" /> <package name="default" namespace="/" extends="struts-default"> </package> </struts> Dois arquivos são incluídos automaticamente: strutsdefault.xml e struts-plugin.xml (que já vem no Struts 2)

20 Struts 1 x Struts 2 A tag package serve para agrupar configurações comuns Actions, pilhas de interceptadores e namespace de URL Atributos da tag: Atribuição name extends namespace abstract Nome único do pacote. Descrição Nome do pacote o qual estende. Todas as configurações do pacote serão herdadas. Nome do mapeamento da URL para o pacote. Se true, serve apenas como configuração e suas Actions não podem ser acessadas.

21 Action Unidade básica de trabalho associada à requisição HTTP Classe comum com um método execute() Simples POJO Não precisa implementar interface ou estender classe Possui três funções: Executar a lógica de negócio Carregar os dados da requisão para a view Determinar qual resultado deve renderizar a view Pode estender classes e implementar interfaces especiais Adicionam funcionalidades do framework e plugins

22 Action Action simples: package company.hr.action; public class LoginAction { private String username; private String password; // métodos GET e SET } public String execute() { System.out.println("user: " + username); return "success"; } Configuração (struts.xml): <package name="default" namespace="/" extends="struts-default"> <action name="login" class="company.hr.action.loginaction"> <result>/login.jsp</result> </action> </package> URL:

23 Action Invocando um método diferente de execute(): package company.hr.action; public class LoginAction { //... código pré-existente aqui } public String logoff() { System.out.println("LOGOFF"); return "success"; } Configuração (struts.xml): <action name="logoff" class="company.hr.action.loginaction" method="logoff"> <result>/login.jsp</result> </action> URL:

24 Página de login (login.jsp): Action page contenttype="text/html; charset=iso " %> taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>company - HR</title> </head> <body> <h4>human Resources</h4> <s:form action="login"> <s:textfield name="username" label="username"/> <s:password name="password" label="password"/> <s:submit/> </s:form> </body> </html>

25 Action Action de redirecionamento (pass-through): <action name="auth"> <result>/login.jsp</result> </action> URL:

26 Action Action com resultados múltiplos: package company.hr.action; public class LoginAction { private String username; private String password; } // métodos GET e SET public String execute() { if( "admin".equals(username) && "admin".equals(password) ) return "success"; else return "fail"; } Modificando a configuração (struts.xml): <action name="login" class="company.hr.action.loginaction"> <result>/home.jsp</result> <result name="fail">/login.jsp</result> </action> URL:

27 Action Struts 2 suporta mapeamento com coringas (wildcards) Útil quando existe um padrão de mapeamentos Ajuda a reduzir o número de configurações no struts.xml <action name="dept_*" class="company.hr.action.deptaction" method="{1}"> <result>/dept.jsp</result> <result name="{1}">/dept_{1}.jsp</result> </action> package company.hr.action; import java.util.*; import company.hr.entity.dept; public class DeptAction { private List<Dept> depts; // métodos GET e SET } public String list() { // busca a lista de Departamentos return "list"; } URL:

28 Exibindo a lista no JSP: Action page contenttype="text/html; charset=iso " %> taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>company - HR</title> </head> <body> <h4>human Resources</h4> <s:iterator value="depts"> <s:property value="id" /> - <s:property value="name" /> <br /> </s:iterator> </body> </html>

29 Action Pattern Matching muito útil para CRUDs <action name="/*/*" class="company.hr.action.{1}action" method="{2}"> <result>/{1}.jsp</result> <result name="{1}">/{1}_{2}.jsp</result> </action> Habilitar a configuração do Struts 2 para usar barras: <constant name="struts.enable.slashesinactionnames" value="true" /> URL:

30 Action Support ActionSupport é uma implementação da interface Action Oferece acesso a recursos do ambiente e framework Validação, localização (i18n) e mensagens package company.hr.action; import com.opensymphony.xwork2.actionsupport; public class LoginAction extends ActionSupport { public String execute() { if ( "admin".equals(username) && "admin".equals(password) ) { return "success"; } else { addactionmessage("login incorreto"); return "fail"; } } } // código pré-existente <s:actionmessage />

31 Interfaces Aware Actions podem ter acesso a recursos do ambiente web Request, Sessão, Contexto e os seus atributos Actions devem implementar interfaces correspondentes RequestAware - Atributos do request SessionAware - Atributos da sessão ApplicationAware - Atributos da aplicação ServletRequestAware - HttpServletRequest ServletResponseAware - HttpServletResponse ServletContextAware - ServletContext

32 Interfaces Aware package company.hr.action; import java.util.map; import javax.servlet.servletcontext; import javax.servlet.http.*; import org.apache.struts2.interceptor.* import org.apache.struts2.util.servletcontextaware; import com.opensymphony.xwork2.actionsupport; public class GenericAction extends ActionSupport implements SessionAware, RequestAware, ApplicationAware, ServletRequestAware, ServletResponseAware, ServletContextAware { private Map<String, Object> session; private Map<String, Object> request; private Map<String, Object> application; private HttpServletRequest servletrequest; private HttpServletResponse servletresponse; private ServletContext servletcontext; public Map<String, Object> getsession() { return this.session; } public Map<String, Object> setrequest() { return this.request; } public Map<String, Object> getapplication() { return this.application; } public HttpServletRequest getservletrequest() { return this.servletrequest; } //...

33 Interfaces Aware } public HttpServletResponse getservletresponse() { return servletresponse; } public ServletContext setservletcontext() { return this.servletcontext; } public void setsession(map<string, Object> session) { this.session = session; } public void setrequest(map<string, Object> request) { this.request = request; } public void setapplication(map<string, Object> application) { this.application = application; } public void setservletrequest(httpservletrequest servletrequest) { this.servletrequest = servletrequest; } public void setservletresponse(httpservletresponse servletresponse) { this.servletresponse = servletresponse; } public void setservletcontext(servletcontext servletcontext) { this.servletcontext = servletcontext; }

34 Result Types Struts 2 suporta diferentes tipos de resultados (JSP, etc) Definido na tag <result type= /> da Action Tipo padrão é dispatcher, que despacha para um JSP Um Result Type próprio pode ser criado e configurado Na tag <result-types /> dentro de <package /> O tipo padrão pode ser alterado (struts.xml) Na tag <result-type /> dentro de < result-types /> <result-types> <result-type name="dispatcher" class="org.apache.struts2.dispatcher.servletdispatcherresult" /> <result-type name="meuresultado" class="company.results.meuresultado" default="true"/> </result-types>

35 Result Types O framework oferece outros tipos de resultado: Chain - encadeamento de Action Freemarker - uso do framework Freemarker HTTP Header - retorno de cabeçalho HTTP Redirect - redirecionamento para um JSP Redirect Action - redirecionamento para um Action Velocity - uso do framework Velocity Definindo o tipo do resultado: <action name="login" class="company.hr.action.loginaction"> <result type="dispatcher">/home.jsp</result> <result name="fail" type="chain">auth</result> </action>

36 Global Result Resultados globais podem ser configurados no pacote São visíveis dentre todas as Actions do pacote <package > <global-results> <result name="logon">/logon.jsp</result> <result name="error">/error.jsp</result> <global-results> </package>

37 Exception Handling Struts 2 suporta manipulação declarativa de exceções Exceções que podem ser lançadas pelas Actions Declaração pode ser global ao pacote ou local à Action <global-exception-mappings> <exception-mapping result="sqlerror" exception="java.sql.sqlxception"/> <exception-mapping result="error" exception="java.lang.exception"/> </global-exception-mappings> <action name="my" class="example.myaction" > <result>view.jsp</result> <exception-mapping result="myerror" exception="java.lang.exception" /> </action>

38 Internacionalização Suporte a internacionalização via Resource Bundles Pode estar contida em um ou vários arquivos (resources) <constant name="struts.custom.i18n.resources" value="applicationresources" /> Os arquivos properties podem estar divididos: Por classe Action (NomeDaAction.properties) Por classe base na hierarquia da Action Por interface ou sub-interface Por classe de modelo (se Action for ModelDriven) Por pacote de classes (package.properties) Geral (configurado no struts.xml)

39 Internacionalização Meios de acessar as mensagens configuradas: Na Action (deve estender ActionSupport): String msg = gettext("chave.da.mensagem"); No JSP (via taglib): <s:text name="label.saudacao"/> <s:text name="label.saudacao.nome"> <s:param>ronaldo</s:param> </s:text> <s:property value="gettext( label.saudacao.nome )"/> <s:textfield label="%{gettext( label.saudacao )}"/> <s:textfield key="label.saudacao" name="textfieldname"/> Arquivo de properties: label.saudacao=olá, Mundo! label.saudacao.nome=olá, {0}!

40 Interceptors Interceptadores tem um papel vital no Struts 2 Proporcionam funcionalidades ao framework São responsáveis pela maior parte do processamento Promovem separação de responsabilidades (concerns) Fazem pré e pós-processamento das Actions São similares aos filtros da API de Servlets Struts 2 fornece vários interceptadores prontos Pilhas de interceptadores são agrupamentos ordenados Desenvolvedor pode criar novos interceptadores e novas pilhas de interceptadores Pacotes e Actions podem usar pilhas/interceptadores configuradas especificamente para cada um

41 Interceptors Alguns interceptadores do Struts 2: chain - repassa os atributos de Action pra Action execandwait - executa a Action em background exception - mapeia exceções para um resultado i18n - trata da localidade do usuário params - atribui os parâmetros do request na Action static-params - atribui parâmetros do struts.xml na Action validation - faz a validação definida no xml workflow - chama o validate() e direciona se há erro roles - verifica autorização (role) do usuário prepare - chama prepare() se Action é Preparable Mais informações:

42 Interceptors Algumas pilhas de interceptadores do Struts 2: basicstack - pilha mais básica do Struts 2 chainstack - adiciona chaining à basicstack i18nstack - adiciona i18n à basicstack defaultstack - pilha padrão com quase todos interceptors completestack - pilha completa (compatível com WebWork) execandwaitstack - execução assíncrona à defaultstack paramsprepareparamsstack - pilha mais complexa aplica os parâmetros na Action, executa o método prepare() e depois reaplica os parâmetros na Action Pacotes que estendem struts-default usam pilha default

43 Interceptors São definidos na tag <interceptors /> da tag <package />: <package...> <interceptors> <interceptor name="meuinterceptor" class="exemplo.intercept.meuinterceptor" /> <interceptor name="outrointerc" class="exemplo.intercept.outrointerceptor" /> </interceptors> </package> Actions devem fazer referência para usá-los: <action...> <interceptor-ref name="meuinterceptor" /> <interceptor-ref name="outrointerc" /> <result>/pagina.jsp</result> </action> Pacote pode definir interceptador padrão para as Actions: <default-interceptor-ref name="meuinterceptor" />

44 Interceptors Em geral as Actions precisam de vários interceptadores Pilhas de interceptadores servem para agrupá-los Configuração é bem similar aos interceptadores <package...> <interceptors> <interceptor name="meuinterceptor" class="exemplo.intercept.meuinterceptor" /> <interceptor name="outrointerc" class="exemplo.intercept.outrointerceptor" /> <interceptor-stack name="minhastack"> <interceptor-ref name="meuinterceptor" /> <interceptor-ref name="outrointerc" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="minhastack" /> <action...> <interceptor-ref name="minhastack" /> <result>/pagina.jsp</result> </action> </package>

45 Interceptors Criando seu próprio interceptador: package company.hr.intercept; import com.opensymphony.xwork2.actioninvocation;; public class SecurityInterceptor implements Interceptor { } public String intercept(actioninvocation inv) throws Exception { System.out.println("pré-processamento"); String result = inv.invoke(); System.out.println("pós-processamento"); return result; } public void init() {} public void destroy() {} ActionInvocation dá acesso a objetos do ciclo do request Action, ActionContext, ActionProxy, Result, ValueStack

46 Taglibs Struts 2 fornece tags JSP, Velocity e Freemarker Tipos de tags: Dados, Controle, Úteis, Visuais

47 Tags de Dados Acessam ou colocam valores contidos na Value Stack Property tag escreve uma propriedade no HTML <s:property value="user.username"/> Set tag atribui uma propriedade para outro nome <s:set name="username" value="user.username"/> Push tag cria referências a valores na Value Stack <s:push value="user"> Nome: <s:property value= username"/> </s:push> Bean tag Misto de Set e Push, mas criando o objeto <s:bean name="org.apache.struts2.util.counter" var="counter"> <s:param name="last" value="7"/> </s:bean> <s:iterator value="#counter"> <li><s:property/></li> </s:iterator> Action tag execute uma Action e grava o resultado <s:action name="targetaction" executeresult="true"/>

48 Tags de Controle Iterator tag itera sobre coleções de objetos <s:iterator value="users" status="st"> <s:property value="#st.count" />: <s:property value="portfolioname"/><br> </s:iterator> If e Else tags controle de IF e ELSE <s:if test="user.age < 18">Menor de idade.</s:if> <s:elseif test="user.age > 65">Terceira idade.</s:elseif> <s:else>idade adulta.</s:else>

49 Tags de Úteis Include tag include a saída de outro recurso web <s:include value="/algumaaction.action" /> URL tag trabalha com a criação de URLs <s:url action="algumaaction" var="myurl"> <s:param name="id" value="2"/> </s:url> <a href='<s:property value="#myurl" />'> Clique Aqui </a> i18n tag especifica um resource bundle a ser usado <s:i18n name="myresourcebundle_jp"> Text tag escreve um texto associado a i18n <s:text name="label.descricao"/> Param tag serve para passar valores de parâmetros a outras tags que a utilizam

50 Tags Visuais Head tag gera informação necessária no cabeçalho <head> <s:head /> </head> Form tag representa o form html <s:form action="myaction" method="post" >... </s:form> Textfield tag representa um campo de texto no form <s:textfield key="username" /> Password tag representa um campo de senha no form <s:password name="username" label="username" /> Textarea tag representa um textarea no form <s:textarea name="corpotexto" cols="30" rows="10" /> Checkbox tag representa um checkbox no form <s:checkbox name="ativado" label="ativado" fieldvalue="true" />

51 Tags Visuais Select tag represente um select box no form <s:select name="estado"> <option value="sp">sp</option> </s:select> <s:select name="pais" list="paises" listvalue="id" listkey="nome" /> Hidden tag representa um campo hidden no form <s:hidden name="codigo" /> Radio tag representa um campo radio no form <s:radio name="sexo" list="generos" value="nome" listkey="id" listvalue="nome" label="sexo" /> Label tag representa um label no form <s:label name="username" label="username" />

52 Temas Temas são usados como templates das tags visuais Struts 2 vem com alguns temas para utilizar simple - renderiza o html básico do componente xhtml - usa table para gerar o layout (padrão) css_xhtml - usa puro css para gerar o layout ajax - estende xhtml e provê ajax (beta) Para alterar a configuração default (struts.xml): <constant name="struts.ui.theme" value="simple" />

53 Validação Validação pode ser feita de algumas formas Básica No cliente (javascript) Via Ajax Via anotações Outras Validação programática - Action deve ter o método validate() e estender ActionSupport Validação via XML arquivo Action-validation.xml no pacote da Action e incluir interceptador de validação

54 Validação Arquivo de validação de exemplo: <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" " <validators> <field name="nome"> <field-validator type="requiredstring"> <message>você deve colocar um nome</message> </field-validator> </field> <field name="age"> <field-validator type="int"> <param name="min">13</param> <param name="max">19</param> <message>formulário para pessoas entre 13 e 19 anos</message> </field-validator> </field> </validators>

Desenvolvimento WEB II

Desenvolvimento WEB II Desenvolvimento WEB II Struts 2 Sérgio Cerqueira sergioruivace@les.inf.puc-rio.br Agenda Introdução Struts e a Web Contextualização Arquitetura Configuração Action Result Type Interceptor Value Stack /

Leia mais

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

Leia mais

Minicurso de MVC web com Struts. EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br

Minicurso de MVC web com Struts. EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br Minicurso de MVC web com Struts EclipseDay@Serpro Felipe F Nascimento felipenasc@inf.puc-rio.br Agenda MVC Web e Command Visão Geral, Conceitos e terminologia Exemplo Conceitos Avançados Referências Laboratório

Leia mais

Guia para Iniciantes do WebWork

Guia para Iniciantes do WebWork Guia para Iniciantes do WebWork Marcelo Martins Este guia descreve os primeiros passos na utilização do WebWork Introdução Desenvolver sistemas para Web requer mais do que simplesmente um amontoado 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

Curso de Introdução ao

Curso de Introdução ao Curso de Introdução ao Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br O que é? Struts Struts é um framework gratuito para construção de aplicações web implementadas em Java.

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

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

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior Desenvolvimento WEB em JAVA Palestrante: Lourival F. de Almeida Júnior Agenda Introdução Servlet Arquitetura de Software Velocity Struts Conclusão Referências Introdução (antes) Programador Produto Introdução

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

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Nível: Intermediário Este tutorial tem como objetivo criar um simples componente que renderiza uma tag label utilizando recursos

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

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

J550. Apache Struts. Helder da Rocha (helder@acm.org) www.argonavis.com.br J550 Apache Struts Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Este é um módulo opcional. Apresenta uma visão geral do framework Struts, usado para desenvolver aplicações

Leia mais

Prova Específica Cargo Desenvolvimento

Prova Específica Cargo Desenvolvimento UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br

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

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

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

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

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

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

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

Aprenda a usar um framework MVC desenvolvendo o login de um sistema com o Webwork utilizando seus principais recursos.

Aprenda a usar um framework MVC desenvolvendo o login de um sistema com o Webwork utilizando seus principais recursos. Introdução ao Webwork Samuel Mota Aprenda a usar um framework MVC desenvolvendo o login de um sistema com o Webwork utilizando seus principais recursos. Introdução Objetivo O objetivo deste tutorial é

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

Java Web. Ricardo Terra rterrabh [at] gmail.com

Java Web. Ricardo Terra rterrabh [at] gmail.com Java Web Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Java Web Outubro, 2008 1 CV Nome: Ricardo Terra Email: rterrabh [at] gmail.com www: ricardoterra.com.br Twitter: rterrabh

Leia mais

Struts 2. Versão 1.0. Apostila destinada ao curso com carga horária de 20 (vinte) horas

Struts 2. Versão 1.0. Apostila destinada ao curso com carga horária de 20 (vinte) horas Struts 2 O framework Apache Struts 2 é uma estrutura elegante e extensível para a criação de aplicações Web em Java. A estrutura foi projetada visando otimizar o ciclo completo de desenvolvimento, desde

Leia mais

PROJETO FRAMEWORK - CELEPAR PAGINAÇÃO DE DADOS EM APLICAÇÕES JAVA PARA INTERNET

PROJETO FRAMEWORK - CELEPAR PAGINAÇÃO DE DADOS EM APLICAÇÕES JAVA PARA INTERNET PROJETO FRAMEWORK - CELEPAR PAGINAÇÃO DE DADOS EM APLICAÇÕES JAVA PARA INTERNET Janeiro 2005 Sumário de Informações do Documento Tipo do Documento: Definição Título do Documento: Controle de Exceções em

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

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

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

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

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

Parte I. Demoiselle Vaadin

Parte I. Demoiselle Vaadin Parte I. Demoiselle Vaadin O Vaadin é um framework para construção de interfaces web que aplica ideias inovadoras. Apesar de usar o GWT como mecanismo para a exibição de seus componentes, eles tem características

Leia mais

JSP (Java Server Pages)

JSP (Java Server Pages) JSP (Java Server Pages) André Tavares da Silva andre.silva@udesc.br JSP A linguagem surgiu por volta de 1995. JSP foi inicialmente inventado por Anselm Baird-Smith durante um final de semana e depois Satish

Leia mais

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com http://luizleao.com

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com http://luizleao.com Luiz Leão luizleao@gmail.com http://luizleao.com CONTEÚDO PROGRAMÁTICO DESTA UNIDADE HTML TAG S HTML LINGUAGEM HTML Hypertext Markup Language Interpretada pelo navegador Não linearidade da informação Formatação

Leia mais

Relatório do GPES. Conhecendo o Framework Struts

Relatório do GPES. Conhecendo o Framework Struts Relatório do GPES Relatório referente à criação da camada de regra de negócio com a utilização do Framework Struts para o desenvolvimento de um exemplo de Cadastro de Clientes. Conhecendo o Framework Struts

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

Gerador de código JSP baseado em projeto de banco de dados MySQL

Gerador de código JSP baseado em projeto de banco de dados MySQL Gerador de código JSP baseado em projeto de banco de dados MySQL Juliane Menin Orientanda Prof. Alexander Roberto Valdameri Orientador Roteiro Introdução e Objetivos Fundamentação Teórica Especificação

Leia mais

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

Programação para Internet Flávio de Oliveira Silva, M.Sc.

Programação para Internet Flávio de Oliveira Silva, M.Sc. Struts Framework para o desenvolvimento de aplicações WEB Como framework oferece funcionalidades comuns a aplicações WEB a fim de facilitar o processo de criação da aplicação Mantido pela Fundação Apache

Leia mais

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br 26/11/2005 JSTL 1 Agenda Histórico e motivação; Servlets e JSP; Introdução e conceituação

Leia mais

HTML Básico Formulários. Matheus Meira

HTML Básico Formulários. Matheus Meira HTML Básico Formulários Matheus Meira 1 Objetivos Neste apresentação conheceremos os fundamentos básicos de HTML para a manipulação com servlets e jsp. Serão vistos Formulários Links Elementos de disparo

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

Web Design Aula 11: XHTML

Web Design Aula 11: XHTML Web Design Aula 11: XHTML Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação HTML 1.0-2.0: Havia hipertextos, não havia preocupação com a apresentação HTML 3: Guerra dos Browser (Microsoft

Leia mais

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Introdução Desenvolvimento Web Java Server Faces Exercício 2 Introdução Ao longo dos anos diversas linguagens de programação foram

Leia mais

Programação para Internet Flávio de Oliveira Silva, M.Sc.

Programação para Internet Flávio de Oliveira Silva, M.Sc. Struts Framework para o desenvolvimento de aplicações WEB Como framework oferece funcionalidades comuns a aplicações WEB a fim de facilitar o processo de criação da aplicação Mantido pela Fundação Apache

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

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

Tutorial Financeiro WEB. Spring Security

Tutorial Financeiro WEB. Spring Security Faculdade de Tecnologia SENAC Goiás Projeto Integrador Programação com Frameworks Tutorial Financeiro WEB Spring Security Fernando Norberto Juliana Carvalho Thiago Junior Ester Xavier GTI V Matutino 2014

Leia mais

Introdução. Entendendo os Controles. Definindo um controle. Introdução MOCKDOMAIN() Testando uma classe de domínio mockdomain

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

Começando com Zend Framework

Começando com Zend Framework Começando com Zend Framework Versão brasileira da apresentação disponível em http://www.slideshare.net/baohx2000/zend-framework-19-setup-using-zendtool Ou: Como eu aprendi a parar de me preocupar e amei

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

Padrões de Interação com o Usuário

Padrões de Interação com o Usuário Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis

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

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

JavaServer Faces. Parte 2

JavaServer Faces. Parte 2 JavaServer Faces Parte 2 Recapitulando Aplicações web são aplicações que executam em um servidor Recebem requisições de usuários Retornam respostas ao usuário Browsers só entendem e exibem html O servidor

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

Configurando uma aplicação Struts

Configurando uma aplicação Struts Configurando uma aplicação Struts Instalando os Softwares 1. NetBeans IDE 5.0 2. Java Standard Development Kit (JDK ) version 1.4.2 or 5.0 Criando uma nova aplicação Struts 1. Click File > New Project.

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

Linguagem de. Aula 06. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagem de. Aula 06. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagem de Programação IV -PHP Aula 06 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Criação de Formulários o Um formulário consiste em uma série de campos que são preenchidos pelo usuário

Leia mais

JSP (Java Server Pages)

JSP (Java Server Pages) JSP (Java Server Pages) Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior 1 Introdução Tecnologia para desenvolvimento de aplicações WEB fundamentada na

Leia mais

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr J2EE Exemplo completo Utilização Servlet Instrutor HEngholmJr Page 1 of 9 AT09 Exemplo complete Utilização Servlet Version 1.1 December 5, 2014 Indice 1. BASEADO NOS EXEMPLOS DE CÓDIGO DESTA APOSTILA,

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

J550. Model View Controller

J550. Model View Controller J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras

Leia mais

Desenvolvimento Web com JSP/Servlets

Desenvolvimento Web com JSP/Servlets Desenvolvimento Web com JSP/Servlets Requisitos Linguagem Java; Linguagem SQL; Noções de HTML; Noções de CSS; Noções de Javascript; Configuração do ambiente JDK APACHE TOMCAT MySQL Instalando o JDK Instalando

Leia mais

!" # # # $ %!" " & ' ( 2

! # # # $ %!  & ' ( 2 !"# # #$ %!" "& ' ( 2 ) *+, - 3 . / 4 !" 0( # "!#. %! $""! # " #.- $ 111.&( ( 5 # # 0. " % * $(, 2 % $.& " 6 # #$ %% Modelo (Encapsula o estado da aplicação) Implementado como JavaBeans Responde a consulta

Leia mais

UNIDADE II JAVA SERVLETS

UNIDADE II JAVA SERVLETS UNIDADE II JAVA SERVLETS INTERNET É uma rede de redes, reunindo computadores do Governo, de universidades e empresas fornecendo infra-estrutura para uso de bancos de dados, correio eletrônico, servidores

Leia mais

LINGUAGEM DE PROGRAMAÇÃO WEB

LINGUAGEM DE PROGRAMAÇÃO WEB LINGUAGEM DE PROGRAMAÇÃO WEB GABRIELA TREVISAN Formulários e Aula 3 Relembrando HTML 5 Tag Form o Utilizada para marcar a região do formulário. o Os atributos mais importantes são o method e o action.

Leia mais

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML O Desenvolvimento Web O desenvolvimento web é o termo utilizado para descrever atividade relacionada

Leia mais

Evolução guiada por APIs. com REST para modernizar seu legado

Evolução guiada por APIs. com REST para modernizar seu legado Evolução guiada por APIs Option #2 híbrida Criando uma arquitetura com REST para modernizar seu legado Rodrigo Engenheiro de Software na CI&T. Atuou na criação da FIFA World Cup 2014 Happiness Flag da

Leia mais

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Estrutura Básica do Documento HTML

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Estrutura Básica do Documento HTML IntroduçãoàTecnologiaWeb HTML HyperTextMarkupLanguage XHTML extensiblehypertextmarkuplanguage EstruturaBásicadoDocumentoHTML ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger

Leia mais

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

J550. Contextos. Helder da Rocha (helder@acm.org) www.argonavis.com.br J550 Contextos Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Neste módulo serão apresentadas aplicações Web configuráveis através de um deployment descriptor Aplicações Web

Leia mais

Minha primeira aplicação utilizando Java Server Faces + Glassfish

Minha primeira aplicação utilizando Java Server Faces + Glassfish Minha primeira aplicação utilizando Java Server Faces + Glassfish Este tutorial apresenta de forma simples, como iniciar no desenvolvimento com o framework Java Server faces 1.2, utilizando-se o servidor

Leia mais

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Listando, gravando, alterando e excluindo registro do banco de dados com JSP SISTEMAS DE INFORMAÇÃO 3º ANO PROGRAMAÇÃO II PROF. RONALDO FERREIRA DA SILVA JavaServer Pages JavaServer Pages (JSP) é uma tecnologia que ajuda os desenvolvedores de software a criarem páginas web geradas

Leia mais

Java Server Faces 2.0 Rich Faces 4.0

Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA - DI Java Server Faces 2.0 Rich Faces 4.0 Quais as novidades e alterações nas novas versões das tecnologias? Pablo Bruno de Moura Nóbrega Analista de Sistemas pablo.nobrega@uece.br

Leia mais

FRAMEWORKS PARA O DESENVOLVIMENTO WEB

FRAMEWORKS PARA O DESENVOLVIMENTO WEB Guilherme Augusto Peron Borges 0402028-8 Semestre FRAMEWORKS PARA O DESENVOLVIMENTO WEB Jaguariúna 2007 Guilherme Augusto Peron Borges 0402028-8 Semestre FRAMEWORKS PARA O DESENVOLVIMENTO WEB Monografia

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

Tecnologias Web. Java Enterprise Edition

Tecnologias Web. Java Enterprise Edition Tecnologias Web Java Enterprise Edition Cristiano Lehrer, M.Sc. Introdução Java Enterprise Edition (JEE): Plataforma de tecnologias para o desenvolvimento de aplicações corporativas distribuídas. É uma

Leia mais

Universidade Católica de Brasília Pró-Reitoria de Graduação Sistemas de Informação. na Prática. Por: Fernando Goulart

Universidade Católica de Brasília Pró-Reitoria de Graduação Sistemas de Informação. na Prática. Por: Fernando Goulart Universidade Católica de Brasília Pró-Reitoria de Graduação Sistemas de Informação Struts na Prática Por: Fernando Goulart 1 Leituras recomendadas Husted, Ted. Struts em Ação. Ciência Moderna, 2004. Spielman,

Leia mais

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Formulários e JavaScript Como visto anteriormente, JavaScript pode ser usada para

Leia mais

Jsp, Servlets e J2EE

Jsp, Servlets e J2EE Jsp, Servlets e J2EE André Temple CPqD Telecom & IT Solutions. Rodrigo Fernandes de Mello Departamento de Ciências da Computação Instituto de Ciências Matemáticas e de Computação. Universidade de São Paulo

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

Aula 2: Listas e Links

Aula 2: Listas e Links Aula 2: Listas e Links Nesta segunda aula, você aprenderá a utilizar listas numeradas ou não, a entender o que são listas de definições e como fazer referências a outros documentos. Vamos entender a diferença

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

Desenvolvimento em Ambiente Web. HTML - Introdução

Desenvolvimento em Ambiente Web. HTML - Introdução Desenvolvimento em Ambiente Web HTML - Introdução O que é HTML? HTML é uma linguagem para descrever a estrutura de uma página WEB. Ela permite: Publicar documentos online com cabeçalhos, texto, tabelas,

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

4. A Linguagem JavaScript

4. A Linguagem JavaScript 4. A Linguagem JavaScript! A linguagem XHTML, por não ser uma linguagem de programação e sim uma linguagem de marcação, não permite interação entre o usuário e a página, além de clicar em um link, fazendo

Leia mais

Apache Wicket. Apache Wicket

Apache Wicket. Apache Wicket wicket_ Apache Wicket Apache Wicket Um framework simplificado para construir páginas Web dinâmicas Qual desenvolvedor não gostaria de utilizar orientação a objetos na Web? Utilizar componentes reutilizáveis

Leia mais

Incorporando JavaScript em HTML

Incorporando JavaScript em HTML Incorporando JavaScript em HTML Existem quatro maneiras de incorporar JavaScript em HTML. Vamos abordar as três primeiras, por ser mais comum: Entre as tags dentro do código HTML. A partir

Leia mais

JSP: JAVA SERVER PAGES

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

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma

Leia mais

JSF - Controle de Acesso FERNANDO FREITAS COSTA

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

TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges

TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges Versão 1.0 TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges Data: 01/12/2014 SUMÁRIO 1. INTRODUÇÃO... 2 2. O QUE É SPRING SECURITY?...

Leia mais

J550 Testes em Aplicações Web com Cactus

J550 Testes em Aplicações Web com Cactus J550 Testes em Aplicações Web com Cactus Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Este módulo descreve um framework - o Jakarta Cactus - que pode ser utilizado para testar

Leia mais

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

Curso - Padrões de Projeto Módulo 5: Model-View- Controller Curso - Padrões de Projeto Módulo 5: Model-View- Controller Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java:

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

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010 Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

3 Um Modelo de Operações para a web semântica 3.1. Modelo de Operações

3 Um Modelo de Operações para a web semântica 3.1. Modelo de Operações 34 3 Um Modelo de Operações para a web semântica 3.1. Modelo de Operações As classes do Modelo de Operações representam a definição de como deve ser uma operação em uma aplicação, ou seja, quais os valores

Leia mais

JSP: JAVA SERVER PAGES

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

DESENVOLVIMENTO WEB I - 7122

DESENVOLVIMENTO WEB I - 7122 6.2 - Formulários: Um dos recursos mais fascinantes da linguagem HTML é a possibilidade de criar formulários eletrônicos. Usando um formulário o usuário pode interagir com o servidor, enviando dados que

Leia mais