← All selected work

PROJECT 03 / Web & relational data

Follow the request.
Understand the data.

Four Java web applications for inventory, certification, IT asset, and network device management. A practical foundation in server-side web development and relational persistence.

  • Java
  • Servlets
  • JDBC
  • MySQL
REQUEST / RESPONSEHTTP
BrowserServletMySQL
// Connect the interface to the datarequest → application logicJDBC → relational recordsresponse → rendered HTML
JAVA · SERVLETS · JDBC · MYSQL
PROJECT
Java Web Applications
FOCUS
Web & relational data
STATUS
Learning projects · source available

Make the whole request path understandable.

These learning projects connect a browser interface to application logic and a relational database. They explore how a request becomes a Java operation, how data is stored, and how the result returns to the user.

  1. 01

    Browser

    Forms collect input and initiate requests.

  2. 02

    Java servlet

    Handle the request and application logic.

  3. 03

    JDBC + MySQL

    Persist and query relational records.

  4. 04

    HTML response

    Present the result back in the browser.

Two entry points into the code.

INVENTORY

Widget Inventory Manager

A servlet application that creates and stores widgets. A factory assembles the objects, while JDBC connects them to a MySQL schema and query results.

Explore inventory source (opens in a new tab)
IT OPERATIONS

IT Asset Console

A servlet console that validates technician credentials with a prepared statement and looks up users, technicians, and workstation assignments in MySQL.

Explore IT asset source (opens in a new tab)

The fundamentals behind a data-driven interface.

  • Request handling: passing user input from HTML forms into Java servlet logic.
  • Object modeling: using classes and a factory to represent and construct inventory components.
  • Relational persistence: storing related records and querying them through JDBC.
  • Interface feedback: returning the result as HTML the user can read.

Learning applications with visible limits.

Authentication varies across the applications. The public inventory example uses a username greeting rather than enforced password or session authentication. It is a learning project, not a production security reference.

Stronger session handling, parameterized queries throughout, and automated integration tests are useful next steps for that example. I keep those improvements distinct from what the current code demonstrates.