Resposta exercício 1: Configuração arquivo web.xml <?xml version="1.0" encoding="utf-8"?> <web-app> <servlet> <servlet-name>helloservlet</servlet-name> <servlet-class>br.com.exercicios.helloservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloservlet</servlet-name> <url-pattern>/aloservlet</url-pattern> </servlet-mapping> </web-app> Criação do Servlet (classe Java) package br.com.exercicios; import java.io.ioexception; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; public class HelloServlet extends HttpServlet { protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html;charset=utf-8"); PrintWriter out = response.getwriter(); try { out.println("<html>"); out.println("<body>"); out.println("<h1>bem vindo: " + request.getparameter("nome") + "</h1>"); out.println("</body>"); out.println("</html>"); finally { out.close();
Resposta exercício 2: <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>chamada a servlet</title> </head> <body> <form name="form1" method="post" action="aloservlet"> <input type="text" name="nome" value="" size="20"><br> <input type="submit" value="chamar aloservlet"> </form> </body> </html> Resposta exercício 3: Antes da primeira requisição o container web cria uma instância do servlet e chama seu método init(). Resposta exercício 4: A tag no arquivo web.xml que define qual a classe que implementa um servlet é a tag <servlet-class> Resposta exercício 5: 1. Se uma instância do servlet não existe, o web container: a) Carrega a classe do servlet. b) Cria uma instância da classe do servlet. c) Inicializa a instância do servlet chamando o método init. 2. Invoca o método service, passando os objetos request e response. Se o container necessitar remover o servlet, ele finaliza o servlet chamando o método destroy. Resposta exercício 6: A função dos parâmetros de inicialização de um servlet é de fornecem valores iniciais para um determinado servlet. Resposta exercício 7: A diferença entre parâmetros de inicialização e contexto é que enquanto os parâmetros de inicialização fornecem valores para um determinado servlet os de contexto fornecem valores que ficam disponíveis para todos os recursos de uma aplicação web.
Resposta exercício 8: <?xml version="1.0" encoding="utf-8"?> <web-app> <context-param> <param-name>pais</param-name> <param-value>brasil</param-value> </context-param> </web-app> Resposta exercício 9: O tempo de duração de um atributo atribuído ao escopo de contexto é: enquanto existir a aplicação. Resposta exercício 10: Os métodos para acesso/manipulação aos atributos são: getattribute(): setatribute(); removeattribute(); getattributenames(). Resposta exercício 11: public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { //coloca String com valor 123456 no escopo de sessão request.getsession().setattribute("numero", "123456"); Resposta exercício 12: public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { //recupera sequencia numérica que estão no escopo de sessão com chave numero String num = (String) request.getsession().getattribute("numero"); Resposta exercício 13: 1. Execução distribuída; 2. Interatividade eficiente; 3. Comunicação rápida entre pessoas e profissionais de todo o planeta.
Resposta exercício 14: Web 2.0 é um termo criado em 2004 pela empresa O'Reilly Media, dos EUA, para designar uma segunda geração de comunidades e serviços, tendo como conceito a "Web como plataforma", envolvendo wikis, aplicações baseadas em folksonomia, redes sociais e Tecnologia da Informação. Resposta exercício 15: O Struts implementa o Design Pattern MVC (Model View Controller). Resposta exercício 16: Design patterns são mais abstratos do que frameworks; Um framework inclui código, um design pattern não (só um exemplo do uso de um pattern); Devido à presença de código, um framework pode ser estudado em nível de código, executado, e reusado diretamente; Design patterns são elementos arquiteturais menores do que frameworks; Um framework típico contém vários design patterns, mas o contrário nunca ocorre. Exemplo: Design patterns são freqüentemente usados para documentar frameworks; Design patterns são menos especializados do que frameworks; Frameworks sempre têm um domínio de aplicação particular enquanto design patterns não ditam uma arquitetura de aplicação particular. Resposta exercício 17: O protocolo usado para transferir arquivos é o FTP. Resposta exercício 18: 1. XMLHttpRequest; 2. XML; 3. JavaScript. Resposta exercício 19: No Struts o ActionServlet implementa qual camada Controller. Resposta exercício 20: O arquivo de configuração do Struts chama-se struts-config.xml. Resposta exercício 21: O método de manipulação de atributos responsável por retornar uma enumeração de Strings representando os nomes dos atributos armazenados em um determinado escopo é o getattributenames().
Resposta exercício 22: <struts-config> <form-beans> <form-bean name="loginform" type="br.com.uniban.actionforms.loginform"> <form-property name="login" type="java.lang.string" /> <form-property name="senha" type="java.lang.string" /> </form-bean> </form-beans> <action path="/login" type="br.com.uniban.actions.loginaction" name="loginform"> </action> <forward name="sucesso" path="/bemvindo.jsp" redirect="true" /> </action-mappings> </struts-config> Resposta exercício 23: A linha representa o corpo de entidade é a linha que possue a seguinte informação: LastName=Ribeiro&FirstName=João Resposta exercício 24: A vantagem do uso modelo I é a sua facilidade de desenvolvimento. Resposta exercício 25: Uma desvantagem do uso do modelo I é que é difícil alcançar a divisão de trabalho entre o designer de página e o desenvolvedor web. Resposta exercício 26: Essa arquitetura separa a geração e apresentação do conteúdo. É indicada pela presença de um servlet controlador entre o browser cliente e as páginas JSP (ou os servlet que apresentam o conteúdo). O servlet controlador despacha solicitações HTTP para as correspondentes páginas JSP de apresentação com base na solicitação de URL, parâmetros de entrada e posição de aplicativo. Nesse modelo, as partes de apresentação (páginas JSP ou servlets) são isoladas umas das outras.
Resposta exercício 27: No Struts as páginas JSP implementam qual camada View.