Java.Servlets.What is the structure of a web project?

The structure of a web project depends on the tech stack you’re using (Java/Spring, Node.js, React, etc.), but in general, most web projects follow a modular structure with separation of concerns.

Here’s a common structure for a full-stack Java-based web project using Servlets or Spring Boot:


🏗️ General Web Project Structure

/my-web-app
│
├── src/                    # Source code
│   ├── main/
│   │   ├── java/           # Java source files
│   │   │   └── com/myapp/  # Your package
│   │   │       ├── controller/
│   │   │       ├── service/
│   │   │       ├── repository/
│   │   │       └── model/
│   │   └── resources/
│   │       ├── application.properties
│   │       ├── static/     # Static files (CSS, JS, images)
│   │       └── templates/  # HTML, JSP, Thymeleaf, etc.
│   └── test/               # Unit and integration tests
│
├── pom.xml or build.gradle # Project build configuration
├── README.md               # Project documentation
└── .gitignore              # Git ignore rules

🧩 Breakdown by Role

controller/

  • Contains servlets or controllers (e.g., Spring @RestController)
  • Handles HTTP requests and sends responses

service/

  • Business logic layer
  • Communicates between controller and repository

repository/

  • Data access layer
  • Talks to database using JDBC, JPA, etc.

model/

  • POJOs (Plain Old Java Objects)
  • Represents data (like User, Product, etc.)

static/

  • Frontend assets like CSS, JavaScript, images

templates/

  • View templates (JSP, Thymeleaf, Freemarker)

application.properties

  • Configuration (e.g., port, DB connection)

🌐 Frontend Structure (React, Angular, etc.)

If you’re building the frontend separately, it may look like:

/frontend
├── public/
├── src/
│   ├── components/
│   ├── pages/
│   ├── App.tsx or App.js
│   └── index.tsx or index.js
├── package.json
└── tsconfig.json / babel.config.js

🧪 Test Directories

  • src/test/java → Unit & integration tests
  • Often mirrors your main Java package structure
This entry was posted in Без рубрики. Bookmark the permalink.