Arquitetura MVC para Aplicações Web
Arquitetura MVC para Aplicações Web
Arquitetura MVC para Aplicações Web
Engenharia da Web
Desenvolvimento de Software na Web - Arquitetura de Software - Padro Arquitetural MVC - Aplicao web com JSP e Servlet
Prticas em NetBeans
Prof. Cludio Martins claudiomartins2000@gmail.com
1
Objetivos da Aula
Apresentar e empregar as tecnologias JSP e Servlet para desenvolvimento de aplicaes web com MVC, usando a IDE Netbeans.
Processamento de formulrio, para exibio de dados em todas as pginas Considere uma pgina de um formulrio de login.
Aps a identificao do nome do usurio, todas as pginas seguintes devem exibir esse nome.
pag1 Homepage pag2
Mapa de Navegao
4
<< usa o bean >> homepage.jsp
3
usuario.bean
5
5
Para realizar o cdigo usando o IDE Netbeans, foi utilizado as seguintes verses:
Netbeans: 7.1 Tomcat: 7.x OBS: ao usar verses anteriores a essas, voc ter que observar alguns detalhes de configurao.
Abra o Netbeans e escolha no menu: Arquivo Novo Projeto Em seguida, escolha o tipo do projeto: Java Web Aplicao Web
10
Escolha o servidor web. Caso ele no esteja na lista, clique em Adicionar (deve estar instalado na sua mquina). Neste exemplo usaremo o Tomcat.
11
12
Ao finalizar o projeto construdo (ver figura) e uma pgina inicial criada (index.jsp).
13
Por padro criado no projeto web a pgina index.jsp. Ao executar o arquivo index.jsp a pgina exibida no browser que est definido como default do sistema.
Ou clique em RUN
14
15
Definio do formulrio
Crie um novo arquivo JSP ou aproveite o arquivo index.jsp para criar um formulrio como na figura a seguir.
<form action="Controlador" method="get"> Informe seu nome: <input name="nome" size="30" type="text" > <br> <input type="submit" value="ENVIAR"> </form>
16
17
18
Caso voc esteja usando uma especificao de servidor Tomcat 5, marque a opo Adicionar informao ao descritor...
19
20
Para o nosso exemplo, delete o corpo do cdigo do mtodo processRequest e insira o cdigo (em azul):
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nomeUsuario = request.getParameter("nome"); request.getSession() .setAttribute("USUARIO_NOME", nomeUsuario); request.getRequestDispatcher("homepage.jsp") .forward(request, response); } // fim do mtodo
21
22
23
Atividades Prticas
24
Atividade Prtica 2
1. Elaborar uma aplicao web, usando a arquitetura MVC (Modelo-Viso-Controle) para realizar um simulador financeiro, seguindo o cenrio:
1. Um cliente de um banco virtual escolhe o tipo da aplicao (poupana ou renda fixa), informa o valor a investir e o tempo (em meses) de investimento. 2. A aplicao calcula e retorna ao cliente o resultado ms a ms dos rendimentos acumulados, considerando o tempo investido, o valor e a taxa mensal (fixar em 0.5% ao ms para a poupana e 0.8% ao ms para renda fixa).
25
Navegao
26
Arquitetura da aplicao
1
<<submit>> Simulador (servlet) {tipo_aplicacao, meses, valor}
simula.jsp
4
<< usa o bean >>
3
rendimento.bean
result.jsp
5
27
28
Classe Rendimento...
Crie a classe Rendimento com os seguintes atributos (ver abaixo). Em seguida, gere os mtodos Get e Sets...
29
Codificando simula.jsp
30
Continuao
Complete o cdigo da classe Servlet para tratar o recebimento dos dados (vindos do formlrio). Crie um objeto do tipo (classe) Rendimento, setando os valores vindos do formulrio Crie um mtodo na classe Rendimento para calcular os rendimentos mensais conforme o tipo de aplicao. No mtodo service (ou processRequest do Servlet), salve o objeto Rendimento como bean e chame a pgina de resultado (deve ser criada) A pgina de resultado deve exibir os dados calculados, obtidos a partir do bean anterior.
31
32
HttpServletRequest classe interface que fornece informaes da solicitao oriunda via HTTP, para o servlet tratar. req o nome dado ao objeto (instanciado) no cdigo. Normalmente, d-se o nome req, request, solicitacao, ou qualquer outro nome que lembre o objeto no mtodo da classe Servlet.
33
Retorna um objeto RequestDispatcher que age como um wrapper para a localizao de um recurso definido na pginaURL. forward(ServletRequest request, ServletResponse response) Repassa uma solicitao de um servlet para outro recurso (servlet, JSP, ou pgina HTML) de um servidor.
34
** fim da aula **
37