Java Lab Projects — All 5 Experiments
Exp
Project Name
Topics Covered
DB
1
Simple Multithreaded Chat
Sockets, Thread per client
No
2
Concurrent Chat System
ExecutorService, Broadcast, CopyOnWriteList
No
3
Mini Banking App (JDBC)
JDBC, CRUD, PreparedStatement
MySQL
4
Banking with Deposit/Withdraw/Transfer
JDBC Transactions, commit/rollback
MySQL
5
Shopping Cart (JSP + Servlets)
Servlets, JSP, HttpSession, WAR deploy
No
JavaLabProjects/
├── Exp1-MultithreadedChat/
│ ├── src/ ChatServer.java ChatClient.java
│ ├── docs/ README Requirements How-to-Run
│ └── pom.xml
│
├── Exp2-ConcurrentChat/
│ ├── src/ ConcurrentChatServer.java ConcurrentChatClient.java
│ ├── docs/ README Requirements How-to-Run
│ └── pom.xml
│
├── Exp3-MiniBankingJDBC/
│ ├── src/ MiniBankingApp.java
│ ├── database/ minibank.sql
│ ├── docs/ README Requirements How-to-Run
│ └── pom.xml
│
├── Exp4-BankingOperations/
│ ├── src/ BankingApp.java
│ ├── database/ bankapp.sql
│ ├── docs/ README Requirements How-to-Run
│ └── pom.xml
│
└── Exp5-ShoppingCart/
├── src/main/java/com/shop/
│ ├── Product.java CartItem.java
│ ├── ProductServlet.java CartServlet.java
├── src/main/webapp/
│ ├── index.jsp cart.jsp
│ └── WEB-INF/web.xml
├── docs/ README Requirements How-to-Run
└── pom.xml
Exp 1 & 2 (Chat Apps — No DB needed)
cd Exp1-MultithreadedChat/src
javac ChatServer.java && javac ChatClient.java
# Terminal 1:
java ChatServer
# Terminal 2:
java ChatClient
Exp 3 & 4 (Banking Apps — MySQL required)
# 1. Import SQL first:
mysql -u root -p < Exp3-MiniBankingJDBC/database/minibank.sql
# 2. Update DB_PASS in the Java file
# 3. Run:
cd Exp3-MiniBankingJDBC && mvn compile && mvn exec:java
Exp 5 (Shopping Cart — Tomcat required)
cd Exp5-ShoppingCart
mvn clean package
# Copy target/shopping-cart.war to Tomcat webapps/
# Start Tomcat, open: http://localhost:8080/shopping-cart/products
🛠️ Software Requirements Summary
Software
Version
Used In
Java JDK
17+
All
Maven
3.8+
All
MySQL Server
8.0
Exp 3, 4
Apache Tomcat
10.x
Exp 5
Web Browser
Any
Exp 5
Generated for college lab submissions — Java 17 compliant, beginner-friendly.