Cursos / Informática para Internet / Desenvolvimento Web II / Aula

arrow_back Aula 04 - Desenvolvendo um Sistema de Informação Web com JSF

Desenvolvimento do Modelo

Como citado anteriormente, nossa aplicação tem o objetivo de cadastrar empresas de transportes urbanos, suas linhas, horários e funcionários (motorista e cobrador). Então, nessa aplicação JSF existem os seguintes conceitos:

  • Empresa: empresas de ônibus com razão social e CNPJ;
  • Ônibus: veículo com marca, modelo e ano;
  • Linha: rota com número, origem, destino, descrição, horário de saída e chegada;
  • Cobrador: com nome, matrícula, CPF e endereço;
  • Motorista: com mesmos dados do cobrador e informações da carteira de habilitação.

Vamos implementar essas classes? Primeiro, crie um projeto dinâmico web com o nome SITURB. Após a criação desse projeto, realize os passos para que possamos fazer com que esse projeto web seja JSF: adicione a biblioteca do JSF na pasta lib do projeto e defina a Servlet do Faces no web.xml. Lembre-se que esses são os mesmos descritos na primeira aula sobre JSF. A Listagem 1 apresenta a definição dessa servlet.

x
1
<?xml version="1.0" encoding="UTF-8"?>
2
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
3
xmlns="http://java.sun.com/xml/ns/javaee" 
4
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
5
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
6
7
    <display-name>AulaValidacoesJSF</display-name>
8
        <welcome-file-list>
9
        <welcome-file>index.jsf</welcome-file>
10
    </welcome-file-list>
11
12
    <servlet> 
13
    <servlet-name>Faces Servlet</servlet-name>
14
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
15
    <load-on-startup>1</load-on-startup>
16
    </servlet>
17
18
    <servlet-mapping>
19
    <servlet-name>Faces Servlet</servlet-name>
20
    <url-pattern>*.jsf</url-pattern>
21
    </servlet-mapping>
22
23
</web-app>
Listagem 1 - Definição da servlet do JSF no web.xml.

Com esses passos, nosso projeto dinâmico web já é JSF. Agora vamos criar um pacote denominado br.ufrn.imd.model que conterá as classes de domínio da nossa aplicação. A começar pela classe Empresa, cujo código é apresentado na Listagem 2.

35
1
package br.ufrn.imd.model; 
2
  
3
/**
4
    * Classe que representa uma empresa de ônibus.
5
    * @author itamir.filho
6
    *
7
*/
8
public class Empresa {
9
  
10
    private String razaoSocial;
11
      
12
    private String cnpj;
13
      
14
    public String getRazaoSocial() { 
15
        return razaoSocial; 
16
    } 
17
      
18
    public void setRazaoSocial(String razaoSocial) { 
19
        this.razaoSocial = razaoSocial; 
20
    } 
21
      
22
    public String getCnpj() { 
23
        return cnpj; 
24
    } 
25
      
26
    public void setCnpj(String cnpj) { 
27
        this.cnpj = cnpj; 
28
    } 
29
      
30
    @Override 
31
    public String toString() { 
32
        return razaoSocial; 
33
    } 
34
35
} 
Listagem 2 - Código da classe Empresa.

Sabemos que uma empresa de transportes urbanos possui vários ônibus, que são dirigidos por motoristas e têm suas passagens coletadas por cobradores. Com isso, vejamos as próximas entidades: Cobrador e Motorista. A classe Cobrador é apresentada na Listagem 3.

56
1
package br.ufrn.imd.model; 
2
3
/**
4
    * Classe que representa a entidade cobrador.
5
    * @author itamir.filho
6
    *
7
*/
8
9
public class Cobrador {
10
 
11
    private String nome;
12
     
13
    private String cpf;
14
     
15
    private String matricula;
16
     
17
    private String endereco;
18
     
19
    public String getNome() {
20
        return nome;
21
    }
22
     
23
    public void setNome(String nome) {
24
        this.nome = nome;
25
    }
26
     
27
    public String getCpf() {
28
        return cpf;
29
    }
30
     
31
    public void setCpf(String cpf) {
32
        this.cpf = cpf;
33
    }
34
     
35
    public String getMatricula() {
36
        return matricula;
37
    }
38
     
39
    public void setMatricula(String matricula) {
40
        this.matricula = matricula;
41
    }
42
     
43
    public String getEndereco() {
44
        return endereco;
45
    }
46
     
47
    public void setEndereco(String endereco) {
48
        this.endereco = endereco;
49
    }
50
     
51
    @Override
52
    public String toString() {
53
        return nome;
54
    }
55
56
}
Listagem 3 - Código da classe Cobrador.

Versão 5.3 - Todos os Direitos reservados