Java Web Components

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Java Web Components - Presentation Transcript

    1. Lato Sensu em Sistemas Orientados a Objetos Módulo 1 Desenvolvimento de Componentes Java Web (revisão) Saturday, August 15, 2009
    2. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Saturday, August 15, 2009
    3. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 (re)Visão Geral Saturday, August 15, 2009
    4. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 WWW • É uma rede de redes de computadores. • Baseada numa arquitetura Cliente-Servidor. • Comunicação via HTTP. Saturday, August 15, 2009
    5. Saturday, August 15, 2009
    6. Saturday, August 15, 2009
    7. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 HTTP Saturday, August 15, 2009
    8. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 HTTP • Clientes: - Fazem as requisições GET, POST, HEAD e outras. - Processam as respostas. • Servidores: - Interpretam as requisições e - Enviam as respostas ao cliente. Saturday, August 15, 2009
    9. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Web Site conteúdo estático http://www.servidor.com.br/relatorio/relatoriodiario.html Saturday, August 15, 2009
    10. http://asp3wiki.wrox.com/wiki/1-1-1-static-pages-vs-dynamic-pages Saturday, August 15, 2009
    11. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Aplicações Web conteúdo dinâmico - CGI (Common Gateway Interface). - ASP (Active Server Pages). - Servlets. - JSP (Java Server Pages). Saturday, August 15, 2009
    12. http://asp3wiki.wrox.com/wiki/1-1-1-static-pages-vs-dynamic-pages Saturday, August 15, 2009
    13. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 CGI Saturday, August 15, 2009
    14. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 CGI 1 requisição, 1 processo Saturday, August 15, 2009
    15. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 CGI N requisições, N processos Saturday, August 15, 2009
    16. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 CGI • Vantagens: - Podem ser escritos em várias linguagens. Mais populares são C e Perl. • Desvantagens: - Cada shell é um processo. - Não é escalável. - A linguaguem utilizada: Nem sempre é robusta ou orientada a objetos. Nem sempre é independente de plataforma. Saturday, August 15, 2009
    17. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Servlets Saturday, August 15, 2009
    18. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Servets Saturday, August 15, 2009
    19. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Servets Saturday, August 15, 2009
    20. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Servlets • Vantagens: - Performance Threads são mais rápidas que processos. - Escalabilidade - Linguagem Java é robusta e orientada a objetos. - Indenpendente de plataforma. • Desvantagens: - O processamento da lógica de negócio é realizado em conjunto com a geração HTML. Saturday, August 15, 2009
    21. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Servlets e CGI problemas • Para a geração de páginas dinâmicas, é preciso embutir o HTML ou XML dentro de instruções de uma linguagem de programação. Em Java Servlets seria o seguinte: out.print(“<html>”); out.print(“<head>”); ... out.print(“</head>”); out.print(“<table border='1' cellspacing='0' cellpadding='5'>”); out.print(“<tr><th>Número</th><th>Número^2</th></tr>”); for (int i=0; i<10; i++)‫{ ‏‬ out.print(“<tr><td>” + i + “</td><td>” + (i*i) + “</td></tr>”); } out.print(“</table>”); out.print(“</html>”); Saturday, August 15, 2009
    22. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Servlets e CGI problemas • Maior parte da informação da página é estática, no entanto, precisa ser embutida no código. • Afasta o Web designer do processo de criação de aplicações Web. • O programador fica sendo o responsável pela parte do HTML. Saturday, August 15, 2009
    23. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Saturday, August 15, 2009
    24. a Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Java <html> <html/> Java Java </html> Servlets JSP Saturday, August 15, 2009
    25. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 JSP • Coloca código de programação em páginas HTML <html> <head> ... </head> <table border='1' cellspacing='0' cellpadding='5'> <tr><th>Número</th><th>Número^2</th></tr> <% for (int i=0; i<10; i++)‫‏‬ { %> <tr><td> <%= i %> </td><td> <%= i*i %> </td></tr> <% } %> </table> </html> Saturday, August 15, 2009
    26. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 JSP • Vantagens: - Todas as vantagens do uso de Servlets; - Uso de linguagem Java como a “linguagem de script”. • Desvantagens: - Se usada só, o código de script terá de realizar lógica de controle e de negócio, tornando as páginas JSP muito complexas de se manter. Saturday, August 15, 2009
    27. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 WebApp estrutura Saturday, August 15, 2009
    28. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Web Application Archive WAR Saturday, August 15, 2009
    29. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Tomcat • Servidor de aplicações Web. • Gratuito. • Código Livre. - http://jakarta.apache.org/tomcat/index.html • Muito simples de se utilizar. Saturday, August 15, 2009
    30. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Diretórios do Tomcat • bin - Arquivos para a iniciar e parar o Tomcat. • conf - Arquivos de configuração. • logs - Arquivos de logs do Tomcat. • webapps - Onde as aplicações Web devem ser implantadas. Saturday, August 15, 2009
    31. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Deploy Implantando uma aplicação Web no Tomcat Saturday, August 15, 2009
    32. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 ? Saturday, August 15, 2009
    33. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Servlets Saturday, August 15, 2009
    34. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Servlet É um componente que fica do lado do servidor, capaz de processar dinamicamente requisições e gerar respostas. Saturday, August 15, 2009
    35. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Classes Saturday, August 15, 2009
    36. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Ciclo de vida Saturday, August 15, 2009
    37. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 package capitulo02; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.*; public class MyServlet extends GenericServlet { public void init(ServletConfig config) throws ServletException { super.init(config); Date thisDate = new Date(); log("MyServlet inicializada em:" + thisDate); } ... Saturday, August 15, 2009
    38. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 public void service(ServletRequest request, ServletResponse response)‫‏‬ throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println(" <head>"); out.println(" <title>Servlet Simples</title>"); out.println(" </head>"); out.println(" <body>"); out.println(" <h2>" + getServletName() + "</h2>"); out.println("Este é um exemplo de Servlet Simples.<br>"); out.println("<hr>"); out.println(" </body>"); out.println("</html>"); out.close(); } public void destroy() { Date thisDate = new Date(); log("MyServlet destruida em:" + thisDate); } } Saturday, August 15, 2009
    39. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Web.xml <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4"> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>capitulo02.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-pattern> </servlet-mapping> </web-app> Saturday, August 15, 2009
    40. package capitulo02; ... public class HttpServletHeaders extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)‫‏‬ throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body bgcolor="white">"); out.println("<head>"); out.println("<title>Here are the headers</title>"); out.println("</head>"); out.println("<body>"); out.println("<h3>Headers</h3>"); out.println("<table border=0>"); Enumeration e = request.getHeaderNames(); while (e.hasMoreElements())‫{ ‏‬ String headerName = (String) e.nextElement(); String headerValue = request.getHeader(headerName); out.println("<tr><td>"); out.println(headerName); out.println("</td><td>"); out.println(headerValue); out.println("</td></tr>"); } out.println("</table>"); } Saturday, August 15, 2009
    41. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 ? Saturday, August 15, 2009
    42. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 JSP Saturday, August 15, 2009
    43. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 JSP – Java Server Pages • É outra forma de desenvolver aplicações Web com Java. • É uma extensão de Servlets. • Tudo que funciona para Servlets funciona para JSP. - Na verdade, JSP é uma Servlet quando está executando. • Trabalha com HTTP requests e responses. Saturday, August 15, 2009
    44. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 O que há de errado com Servlets? public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<HTML>"); out.println("<HEAD><TITLE>Usando Servlets</TITLE></HEAD>"); out.println("<BODY BGCOLOR=#123123>"); //Obtém os nomes dos parâmetros Enumeration parameters = request.getParameterNames(); String param = null; while (parameters.hasMoreElements())‫‏‬ { param = (String) parameters.nextElement(); out.println(param + ": " + request.getParameter(param) + "<BR>"); } out.println("</BODY>"); out.println("</HTML>"); out.close(); } Saturday, August 15, 2009
    45. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 JSP vantagens <%@ page import="java.util.Enumeration" %> <HTML> <HEAD><TITLE>Usando JSP</TITLE></HEAD> <BODY BGCOLOR=#DADADA> <% //Obtém os nomes dos parâmetros Enumeration parameters = request.getParameterNames(); String param = null; while (parameters.hasMoreElements())‫‏‬ { param = (String) parameters.nextElement(); out.println(param + ":" + request.getParameter(param) + "<BR>"); } out.close(); %> </BODY> </HTML> Saturday, August 15, 2009
    46. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 <%@ page import="capitulo04.NumberGuessBean" %> diretivas <jsp:useBean id="numguess" class="capitulo04.NumberGuessBean" scope="session"/> <jsp:setProperty name="numguess" property="*"/> beans <html> <head><title>Acerte o Número</title></head> <body bgcolor="white"> <font size=4> <% if (numguess.getSuccess()) { scriptlets numguess.reset(); %> Parabéns!Você acertou depois de <%= numguess.getNumGuesses() %> tentativas.<p> <a href="acerteNumero.jsp">Tentar novamente?</a> <% } else if (numguess.getNumGuesses() == 0) { %> Bem Vindo ao jogo para acertar o número.<p> ações <jsp:include page="input.html" flush="true"/> <% } else { %> Tente <b><%= numguess.getHint() %></b>.<br> Já foram feitas <%= numguess.getNumGuesses() %> tentativas.<p> expressões <jsp:include page="input.html" flush="true"/> <% } %> </font> </body> </html> Saturday, August 15, 2009
    47. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Elementos de uma página JSP <html> <body> Acerte o número de 1 a 100.<p> <form method=get> Qual o seu palpite? <input type=text name=guess> <input type=submit value="Submit"> </form> </body> </html> input.html Saturday, August 15, 2009
    48. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Sintaxe dos elementos de uma JSP • Sempre interpretados no servidor. • Nunca chegam ao clinte. - Cliente só vê HTML! • Scriptlets: <% ... %> • Expressões: <%= ... %> • Declarações: <%! ... %> • Comentários: <%-- ... --%> • Diretivas: <%@ ... %> • Ações: <jsp:ação ... /> • Custom tags: <prefixo:elemento ... /> Saturday, August 15, 2009
    49. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 2°/2009 Objetos implícitos Saturday, August 15, 2009
    50. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 Ciclo de vida de uma JSP Saturday, August 15, 2009
    51. Lato Sensu em Sistemas Orientados a Objetos Desenvolvimento de Aplicaões Web Avançado - 1°/2009 ? Saturday, August 15, 2009
    52. Lato Sensu em Sistemas Orientados a Objetos Q&A MSc. Alexandre Gomes alegomes@gmail.com Saturday, August 15, 2009

    custom

    214 views, 0 favs, 0 embeds more stats

    Módulo 1 - Revisão dos conceitos básicos do dese more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 214
      • 214 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories