# jacksonbuzzano/javaweb architecture

> Architecture diagram of the GitHub repository jacksonbuzzano/javaweb, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jacksonbuzzano/javaweb
- Repository: https://github.com/jacksonbuzzano/javaweb

## Overview

JavaWeb is a JSP-based CRUD application for products, suppliers, and employees. Users interact with JSP pages whose filenames indicate create, edit, and remove operations; JavaBeans represent the three record types, and DAOs provide the persistence layer. The README confirms CRUD, but sampled source contains only the beans and client-side validation, so connections from JSP actions to DAOs and the underlying database are not asserted.

Main entry points: [`WebContent/index.jsp`](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/index.jsp) (Home), [`WebContent/cadFornecedor.jsp`](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadFornecedor.jsp) (Supplier form), [`WebContent/alterarFornecedor.jsp`](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFornecedor.jsp) (Supplier edit form), [`WebContent/removerFor.jsp`](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/removerFor.jsp) (Supplier removal)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["JSP interface"]
  node_home["Home<br/>[index.jsp]"]
  node_supplier_form["Supplier form<br/>[cadFornecedor.jsp]"]
  node_supplier_create["Supplier create<br/>[cadastrarFor.jsp]"]
  node_supplier_edit_form["Supplier edit form"]
  node_supplier_edit["Supplier update<br/>[alterarFor.jsp]"]
  node_supplier_remove["Supplier removal<br/>[removerFor.jsp]"]
  node_employee_form["Employee form<br/>[cadFuncionário.jsp]"]
  node_employee_create["Employee create<br/>[cadastrarFun.jsp]"]
  node_employee_edit_form["Employee edit form"]
  node_employee_edit["Employee update<br/>[alterarFun.jsp]"]
  node_employee_remove["Employee removal<br/>[removerFun.jsp]"]
  node_product_form["Product form<br/>[cadProduto.jsp]"]
  node_product_create["Product create<br/>[cadastrarPro.jsp]"]
  node_product_edit_form["Product edit form<br/>[alterarProduto.jsp]"]
  node_product_edit["Product update<br/>[alterarPro.jsp]"]
  node_product_remove["Product removal<br/>[removerPro.jsp]"]
end

subgraph group_domain["Domain records"]
  node_supplier_record["Supplier record"]
  node_employee_record["Employee record"]
  node_product_record["Product record<br/>[ProdutoBeans.java]"]
end

subgraph group_data["Persistence access"]
  node_supplier_dao["Supplier DAO<br/>[FornecedorDao.java]"]
  node_employee_dao["Employee DAO"]
  node_product_dao["Product DAO<br/>[ProdutoDao.java]"]
  node_sales_dao["Sales DAO<br/>[VendasDao.java]"]
end

node_user(("User"))

node_user -->|"opens"| node_home
node_user -->|"uses"| node_supplier_form
node_user -->|"uses"| node_supplier_edit_form
node_user -->|"uses"| node_supplier_remove
node_user -->|"uses"| node_employee_form
node_user -->|"uses"| node_employee_edit_form
node_user -->|"uses"| node_employee_remove
node_user -->|"uses"| node_product_form
node_user -->|"uses"| node_product_edit_form
node_user -->|"uses"| node_product_remove

click node_home "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/index.jsp"
click node_supplier_form "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadFornecedor.jsp"
click node_supplier_create "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadastrarFor.jsp"
click node_supplier_edit_form "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFornecedor.jsp"
click node_supplier_edit "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFor.jsp"
click node_supplier_remove "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/removerFor.jsp"
click node_employee_form "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadFuncion%C3%A1rio.jsp"
click node_employee_create "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadastrarFun.jsp"
click node_employee_edit_form "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFuncion%C3%A1rio.jsp"
click node_employee_edit "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFun.jsp"
click node_employee_remove "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/removerFun.jsp"
click node_product_form "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadProduto.jsp"
click node_product_create "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadastrarPro.jsp"
click node_product_edit_form "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarProduto.jsp"
click node_product_edit "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarPro.jsp"
click node_product_remove "https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/removerPro.jsp"
click node_supplier_record "https://github.com/jacksonbuzzano/javaweb/blob/master/beans/FornecedorBeans.java"
click node_employee_record "https://github.com/jacksonbuzzano/javaweb/blob/master/beans/FuncionarioBeans.java"
click node_product_record "https://github.com/jacksonbuzzano/javaweb/blob/master/beans/ProdutoBeans.java"
click node_supplier_dao "https://github.com/jacksonbuzzano/javaweb/blob/master/dao/FornecedorDao.java"
click node_employee_dao "https://github.com/jacksonbuzzano/javaweb/blob/master/dao/FuncionarioDao.java"
click node_product_dao "https://github.com/jacksonbuzzano/javaweb/blob/master/dao/ProdutoDao.java"
click node_sales_dao "https://github.com/jacksonbuzzano/javaweb/blob/master/dao/VendasDao.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_home,node_supplier_form,node_supplier_create,node_supplier_edit_form,node_supplier_edit,node_supplier_remove,node_employee_form,node_employee_create,node_employee_edit_form,node_employee_edit,node_employee_remove,node_product_form,node_product_create,node_product_edit_form,node_product_edit,node_product_remove,node_user toneBlue
class node_supplier_record,node_employee_record,node_product_record toneAmber
class node_supplier_dao,node_employee_dao,node_product_dao,node_sales_dao toneMint
```

## Components

### JSP interface

- [Home](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/index.jsp): `WebContent/index.jsp`
- [Supplier form](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadFornecedor.jsp): `WebContent/cadFornecedor.jsp`
- [Supplier create](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadastrarFor.jsp): `WebContent/cadastrarFor.jsp`
- [Supplier edit form](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFornecedor.jsp): `WebContent/alterarFornecedor.jsp`
- [Supplier update](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFor.jsp): `WebContent/alterarFor.jsp`
- [Supplier removal](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/removerFor.jsp): `WebContent/removerFor.jsp`
- [Employee form](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadFuncion%C3%A1rio.jsp): `WebContent/cadFuncionário.jsp`
- [Employee create](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadastrarFun.jsp): `WebContent/cadastrarFun.jsp`
- [Employee edit form](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFuncion%C3%A1rio.jsp): `WebContent/alterarFuncionário.jsp`
- [Employee update](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarFun.jsp): `WebContent/alterarFun.jsp`
- [Employee removal](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/removerFun.jsp): `WebContent/removerFun.jsp`
- [Product form](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadProduto.jsp): `WebContent/cadProduto.jsp`
- [Product create](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/cadastrarPro.jsp): `WebContent/cadastrarPro.jsp`
- [Product edit form](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarProduto.jsp): `WebContent/alterarProduto.jsp`
- [Product update](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/alterarPro.jsp): `WebContent/alterarPro.jsp`
- [Product removal](https://github.com/jacksonbuzzano/javaweb/blob/master/WebContent/removerPro.jsp): `WebContent/removerPro.jsp`

### Domain records

- [Supplier record](https://github.com/jacksonbuzzano/javaweb/blob/master/beans/FornecedorBeans.java): `beans/FornecedorBeans.java`
- [Employee record](https://github.com/jacksonbuzzano/javaweb/blob/master/beans/FuncionarioBeans.java): `beans/FuncionarioBeans.java`
- [Product record](https://github.com/jacksonbuzzano/javaweb/blob/master/beans/ProdutoBeans.java): `beans/ProdutoBeans.java`

### Persistence access

- [Supplier DAO](https://github.com/jacksonbuzzano/javaweb/blob/master/dao/FornecedorDao.java): `dao/FornecedorDao.java`
- [Employee DAO](https://github.com/jacksonbuzzano/javaweb/blob/master/dao/FuncionarioDao.java): `dao/FuncionarioDao.java`
- [Product DAO](https://github.com/jacksonbuzzano/javaweb/blob/master/dao/ProdutoDao.java): `dao/ProdutoDao.java`
- [Sales DAO](https://github.com/jacksonbuzzano/javaweb/blob/master/dao/VendasDao.java): `dao/VendasDao.java`

### Other components

- **User**

## Connections

- User → Home: opens
- User → Supplier form: uses
- User → Supplier edit form: uses
- User → Supplier removal: uses
- User → Employee form: uses
- User → Employee edit form: uses
- User → Employee removal: uses
- User → Product form: uses
- User → Product edit form: uses
- User → Product removal: uses
