BCA 309T Full Stack Development using Java Notes from Unnati Educations cover all 4 units of this GGSIPU BCA Semester 5 elective in one 86-page printed book: 50 numbered programs, 25 diagrams, 57 solved two-mark answers and 40 ten-mark questions mapped to the sections that answer them. The syllabus applies to the batch admitted in 2024-25 onwards.
Written by Prateek Talwar, Founder, Unnati Educations · Reviewed by Ritik Rawat, B.Tech, Senior Full Stack Developer · Checked against BCA Programme Common Scheme and Syllabus (w.e.f. A.S. 2024-2025), uploaded 03 Sep 2026 · Updated 13 October 2026 · Editorial policy
Scheme: BCA Common Scheme and Syllabus, w.e.f. A.S. 2024-25 | Applies to: batch admitted in 2024-25 onwards | Verified against: BCA Programme Common Scheme and Syllabus (bcaaxV030926.pdf), 03 Sep 2026
On this page
BCA 309T Full Stack Development using Java at a glance: GGSIPU BCA Sem 5 credits, units and exam pattern
These BCA 309T Full Stack Development IPU notes run from HTML5 forms to Servlets, JDBC and Spring Boot. Prerequisites: basic Java, HTML and DBMS.
| Code and title | BCA 309T · Full Stack Development using Java |
|---|---|
| Course and semester | BCA, Semester 5 |
| Category and credits | Programme Core Elective (PCE), 4 credits, L-T-C 4-0-4 |
| Marks | 100: 40 internal + 60 end-term |
| Applies to | Batch admitted in 2024-25 onwards |
| End-term pattern | Q1 compulsory: 10 questions of 2 marks, at least 2 per unit. Then one of two 10-mark questions from each unit (20 + 40 = 60 marks) |
| Units | 4 (12, 12, 12 and 10 teaching hours); the official PDF numbers units only |
| Paired lab | BCA 309P: PCE, 4 practical hours a week, 2 credits, 40 + 60 = 100 marks |
| Pass and re-appear rules | GGSIPU Ordinance 11 |
BCA 309T is one of three electives, taken with its lab, among the GGSIPU BCA Semester 5 papers.
BCA 309T Full Stack Development using Java Notes unit-wise: 50 programs and 57 solved two-mark answers across 4 units
Each unit ends with important questions and a revision table. Other papers: GGSIPU BCA notes.
BCA 309T Unit 1: Full Stack Basics, HTML5, CSS3 and JavaScript
Pages 4 to 28, 28 sections. Client-server and 3-tier architecture, SQL versus NoSQL, semantic HTML5, a registration form with required and pattern checks, CSS specificity, positioning, the Bootstrap 12-column grid, DOM manipulation and a JavaScript form validator. 19 programs, 8 diagrams, 14 two-mark answers, 11 ten-mark questions.
Quick look: CSS box width (from page 17)
| Layer | CSS | Adds |
|---|---|---|
| Content | width: 300px | 300 px |
| Padding | padding: 20px | 40 px |
| Border | border: 5px | 10 px |
| Margin | margin: 10px | 20 px |
Quick look: box model width for a 300px card (from page 17)
- Layer
- Content
- CSS
width: 300px- Adds
- 300 px
- Layer
- Padding
- CSS
padding: 20px- Adds
- 40 px
- Layer
- Border
- CSS
border: 5px- Adds
- 10 px
- Layer
- Margin
- CSS
margin: 10px- Adds
- 20 px
Total: 370 px.
BCA 309T Unit 2: Java Web Development, Servlets and JSP
Pages 29 to 49, 15 sections. Jakarta EE, HTTP request and response format, the web container, forward() versus sendRedirect(), deployment with web.xml or @WebServlet, login and logout with cookies and HttpSession, the nine JSP implicit objects, EL, JSTL and MVC Model 2. 9 programs, 7 diagrams, 15 two-mark answers, 10 ten-mark questions.
Quick look: cookie or HttpSession? (from page 41)
| Basis | Cookie | HttpSession |
|---|---|---|
| Data | Text only | Any Java object |
| Size | About 4 KB | Server memory |
| Security | User can edit it | Only the ID reaches the client |
| Life | Expiry or browser close | invalidate() or timeout |
Quick look: cookie versus HttpSession (from page 41)
- Basis
- Data
- Cookie
- Text only
- HttpSession
- Any Java object
- Basis
- Size
- Cookie
- About 4 KB
- HttpSession
- Server memory
- Basis
- Security
- Cookie
- User can edit it
- HttpSession
- Only the ID reaches the client
- Basis
- Life
- Cookie
- Expiry or browser close
- HttpSession
invalidate()or timeout
BCA 309T Unit 3: JDBC, Database Connectivity and RESTful Web Services
Pages 50 to 67, 14 sections. JDBC architecture and the four driver types, the six steps of a JDBC program, PreparedStatement against SQL injection, CRUD on a student table, ResultSet navigation, transactions, SOAP versus REST, JSON, and a student API read by JavaScript fetch(). 10 programs, 4 diagrams, 14 two-mark answers, 10 ten-mark questions.
Quick look: CRUD mapped to HTTP methods (from page 61)
| Method | URI | Success status |
|---|---|---|
| GET (read) | /api/students/101 | 200 OK |
| POST (create) | /api/students | 201 Created |
| PUT (update) | /api/students/101 | 200 OK or 204 |
| DELETE | /api/students/101 | 204 No Content |
Quick look: REST methods on a student resource (from page 61)
- Method
- GET (read)
- URI
/api/students/101- Success status
- 200 OK
- Method
- POST (create)
- URI
/api/students- Success status
- 201 Created
- Method
- PUT (update)
- URI
/api/students/101- Success status
- 200 OK or 204
- Method
- DELETE
- URI
/api/students/101- Success status
- 204 No Content
BCA 309T Unit 4: Spring Boot, Hibernate/JPA and Full Stack Application
Pages 68 to 86, 12 sections. Spring Boot starters and layers, the three types of Dependency Injection, the DispatcherServlet flow, JDBC versus Hibernate, entity mapping, JpaRepository CRUD, then a Student Management System with one POST request traced through every layer. 12 programs, 6 diagrams, 14 two-mark answers, 9 ten-mark questions.
Quick look: screen action to back-end (from page 80)
| Action | REST call | Back-end |
|---|---|---|
| List | GET /api/students | repo.findAll() |
| Add | POST /api/students | repo.save(s) |
| Update | PUT /api/students/{id} | repo.save(s) |
| Delete | DELETE /api/students/{id} | repo.deleteById(id) |
Quick look: Student Management System operations (from page 80)
- Action
- List
- REST call
- GET
/api/students - Back-end
repo.findAll()
- Action
- Add
- REST call
- POST
/api/students - Back-end
repo.save(s)
- Action
- Update
- REST call
- PUT
/api/students/{id} - Back-end
repo.save(s)
- Action
- Delete
- REST call
- DELETE
/api/students/{id} - Back-end
repo.deleteById(id)
BCA 309T exam corner: 57 solved two-mark answers and 40 ten-mark questions by unit
2 Marks questions carry full answers; 10 Marks questions point to the sections and programs that answer them.
| Unit | 2 Marks (solved) | 10 Marks (mapped) | Programs |
|---|---|---|---|
| Unit 1 | 14 | 11 | 19 |
| Unit 2 | 15 | 10 | 9 |
| Unit 3 | 14 | 10 | 10 |
| Unit 4 | 14 | 9 | 12 |
BCA 309T questions and programs per unit
- Unit
- Unit 1
- 2 Marks (solved)
- 14
- 10 Marks (mapped)
- 11
- Programs
- 19
- Unit
- Unit 2
- 2 Marks (solved)
- 15
- 10 Marks (mapped)
- 10
- Programs
- 9
- Unit
- Unit 3
- 2 Marks (solved)
- 14
- 10 Marks (mapped)
- 10
- Programs
- 10
- Unit
- Unit 4
- 2 Marks (solved)
- 14
- 10 Marks (mapped)
- 9
- Programs
- 12
- Unit 1 (page 27):
==versus===? Pointer:5 == "5"is true after type conversion;5 === "5"is false. - Unit 2 (page 47):
forward()versussendRedirect()? Pointer: same request on the server, against a 302 and a new request. - Unit 3 (page 65):
executeQuery()versusexecuteUpdate()? Pointer: aResultSetfor SELECT, against a row count. - Unit 4 (page 84):
@Controllerversus@RestController? Pointer: a view name, against JSON through@ResponseBody.
The BCA 309T notes solve 57 two-mark questions across 4 units, map 40 ten-mark questions to their answers, and include 50 numbered programs.
No exam-year tags are printed, so these are exam-style questions. More practice sits in the BCA 309T important questions.
Who writes and checks the BCA 309T Full Stack Java notes?
- Prateek Talwar, author. Founder, Unnati Educations; Associate Company Secretary (ACS), ICSI, membership no. 58704, since 15 May 2019; B.Com, University of Delhi (SOL), 2012. Profile
- Ritik Rawat, subject reviewer: checks the Servlet, JDBC and Spring Boot code. Senior Full Stack Developer, Unnati Educations; B.Tech. Profile
The 2026-27 edition of the GGSIPU BCA Sem 5 Full Stack Java notes follows the BCA Common Scheme w.e.f. 2024-25, uses jakarta.servlet packages and Spring Boot 3.3.4, and was last updated on 13 October 2026 under our editorial policy.
The same team prepares GGSIPU important questions for every course it covers.
How to write BCA 309T answers: code-backed ten-mark answers on JDBC, JSTL and full stack apps
16 of the 40 ten-mark questions in the notes point to a program, so each long answer runs: definition, diagram or table, short program, key call explained. Two-mark answers are one definition plus one example, such as {"roll":101} for JSON.
- PreparedStatement (page 56): three reasons (pre-compiled, blocks SQL injection, cleaner setters), then the injection input
admin'--. - JSTL (page 45): write the
taglibdirective first. - IoC and DI (page 73): a without-DI and with-DI code pair, plus the three injection types.
- Full stack app (page 84): layered diagram, entity and repository, controller with four mappings, a
fetch()call, request flow.
PreparedStatement ps = con.prepareStatement(
"INSERT INTO student VALUES (?, ?, ?, ?)");
ps.setInt(1, 103); ps.setString(2, "Kabir");
ps.setString(3, "BCA"); ps.setInt(4, 77);
int rows = ps.executeUpdate(); // 1 row insertedNote that ? indexes start at 1. Page 55 slip: a missing Connector/J jar gives ClassNotFoundException; a stopped MySQL gives "Communications link failure".
Practise this format on GGSIPU BCA important questions.
BCA 309T and the BCA 309P Full Stack Java lab (4 practical hours a week), plus other GGSIPU BCA Sem 5 papers
BCA 309P Full Stack Java lab notes: 2 credits, 40 + 60 marks. The teacher notifies the practical list in week one.
- Unit 1 → registration form (Program 1.6) and JavaScript validation (1.19).
- Unit 2 → login servlet (2.2) and session login and logout (2.5).
- Unit 3 → JDBC CRUD (3.3), form-to-MySQL servlet (3.5), JSON API with
fetch()(3.8 to 3.10). - Unit 4 → the Spring Boot Student Management System, in seven steps.
The alternative electives are BCA 305T Natural Language Processing and BCA 307T Network Security. The core papers are BCA 301T Computer Networks and BCA 303T Artificial Intelligence, with labs 301P and 303P. Computer Networks supports the HTTP topics here. Semester 5 also has BCA 311 Summer Training and a GE-3 paper (BCA 313T Introduction to Management & Entrepreneurship Development or BCA 315T MOOC Course).
Servlet life cycle in Java web development: excerpt from page 34 of the BCA 309T notes
Excerpt from page 34
The life cycle of a servlet is the sequence of stages from its creation to its destruction. The web container controls it fully, through three methods of the Servlet interface: init(), service() and destroy().
The six stages
- Loading the class: the container loads the servlet
.classfile at the first request, or when the server starts ifload-on-startupis set. - Instantiation: the container creates ONE object using the no-argument constructor.
init(ServletConfig): called only once, for initialisation such as opening a database connection or reading configuration.service(request, response): called for every request, each in its own thread; it passes control todoGet()ordoPost().destroy(): called only once before removal, to close connections and release resources.- Garbage collection: the servlet object becomes eligible for garbage collection.
| Method | Called | Purpose |
|---|---|---|
public void init(ServletConfig config) | Once, after object creation | One-time setup |
public void service(ServletRequest req, ServletResponse res) | Once per request | Process the request, create the response |
public void destroy() | Once, at undeploy or server shutdown | Clean-up |
Servlet life-cycle methods (page 34)
- Method
public void init(ServletConfig config)- Called
- Once, after object creation
- Purpose
- One-time setup
- Method
public void service(ServletRequest req, ServletResponse res)- Called
- Once per request
- Purpose
- Process the request, create the response
- Method
public void destroy()- Called
- Once, at undeploy or server shutdown
- Purpose
- Clean-up
Program 2.1: demonstrating the servlet life cycle
@WebServlet("/life")
public class LifeCycleServlet extends HttpServlet {
public void init() throws ServletException {
System.out.println("init() called - servlet initialised");
}
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
System.out.println("service() -> doGet() called");
res.setContentType("text/html");
res.getWriter().println("<h2>Life cycle demo - check the server console</h2>");
}
public void destroy() {
System.out.println("destroy() called - servlet removed");
}
}The program imports java.io.*, jakarta.servlet.* and jakarta.servlet.http.*. Open /life in the browser three times and the server console prints the init() line once and the doGet() line three times. Stop the server and the destroy() line appears. So one short run of this servlet shows the whole life cycle in practice: one object, a new thread for each request, and one clean-up at the end.
Do the BCA 309T notes cover the full GGSIPU syllabus?
Yes. Every topic in the four official units has its own section in the notes; the unit check found no gap. Extras include JDBC driver types and SOAP versus REST.
| Unit | Official topics | In the notes | Status |
|---|---|---|---|
| I | Introduction to Full Stack Development; HTML5 | Parts A and B, pages 5 to 14 | Covered |
| I | CSS3, Bootstrap; JavaScript, DOM, client-side form validation | Parts C and D, pages 14 to 26 | Covered |
| II | Java EE, HTTP, web application architecture; Servlets, cookies, HttpSession | Parts A and B, pages 30 to 41 | Covered |
| II | JSP life cycle, directives, EL, JSTL, MVC | Part C, pages 41 to 47 | Covered |
| III | JDBC architecture, MySQL connectivity, CRUD, PreparedStatement, ResultSet | Part A, pages 51 to 59 | Covered |
| III | REST APIs, HTTP methods (GET, POST, PUT, DELETE), JSON | Part B, pages 59 to 65 | Covered |
| IV | Spring Boot, project structure, Dependency Injection, Spring MVC | Part A, pages 69 to 75 | Covered |
| IV | Hibernate/JPA: ORM, entity mapping, CRUD; full stack application | Parts B and C, pages 75 to 84 | Covered |
BCA 309T official syllabus mapped to the notes
- Unit
- I
- Official topics
- Introduction to Full Stack Development; HTML5
- In the notes
- Parts A and B, pages 5 to 14
- Status
- Covered
- Unit
- I
- Official topics
- CSS3, Bootstrap; JavaScript, DOM, client-side form validation
- In the notes
- Parts C and D, pages 14 to 26
- Status
- Covered
- Unit
- II
- Official topics
- Java EE, HTTP, web application architecture; Servlets, cookies, HttpSession
- In the notes
- Parts A and B, pages 30 to 41
- Status
- Covered
- Unit
- II
- Official topics
- JSP life cycle, directives, EL, JSTL, MVC
- In the notes
- Part C, pages 41 to 47
- Status
- Covered
- Unit
- III
- Official topics
- JDBC architecture, MySQL connectivity, CRUD, PreparedStatement, ResultSet
- In the notes
- Part A, pages 51 to 59
- Status
- Covered
- Unit
- III
- Official topics
- REST APIs, HTTP methods (GET, POST, PUT, DELETE), JSON
- In the notes
- Part B, pages 59 to 65
- Status
- Covered
- Unit
- IV
- Official topics
- Spring Boot, project structure, Dependency Injection, Spring MVC
- In the notes
- Part A, pages 69 to 75
- Status
- Covered
- Unit
- IV
- Official topics
- Hibernate/JPA: ORM, entity mapping, CRUD; full stack application
- In the notes
- Parts B and C, pages 75 to 84
- Status
- Covered
Official source: BCA Programme Common Scheme and Syllabus (w.e.f. A.S. 2024-2025), batch admitted 2024-25 onwards.
Every course in GGSIPU notes is checked against its official PDF the same way.
BCA 309T Full Stack Java notes FAQs
What is the passing mark for BCA 309T?
BCA 309T is marked out of 100: 40 internal and 60 end-term, as the BCA scheme of examination states. The scheme does not print a pass percentage for theory papers like BCA 309T, so we do not quote one. Minimum end-term marks and re-appear rules come from GGSIPU Ordinance 11, which is published on ipu.ac.in for every student.
Is BCA 309T compulsory in BCA Semester 5?
No. BCA 309T is a Programme Core Elective. In Semester 5 you choose one of three electives, BCA 305 Natural Language Processing, BCA 307 Network Security or BCA 309 Full Stack Development using Java, and take its theory and lab together. Choosing BCA 309 gives 4 credits from BCA 309T and 2 from the BCA 309P lab.
Which unit of the BCA 309T notes has the most programs?
Unit 1 has the most, with 19 numbered programs over 25 pages, because HTML5 forms, CSS layouts, Bootstrap and JavaScript validation each need working code. Unit 4 follows with 12, including the full Spring Boot Student Management System. Unit 3 has 10 programs on JDBC and REST, and Unit 2 has 9 on Servlets and JSP.
Do the BCA 309T notes use javax or jakarta packages?
The BCA 309T notes use the current jakarta.servlet and jakarta.servlet.http packages in every Servlet program and point out that older code uses javax.servlet. Unit 4 builds on Spring Boot 3.3.4, which also expects the jakarta names, so the code stays consistent from the first servlet in Unit 2 to the final full stack app.
Get the full BCA 309T Full Stack Development using Java Notes on WhatsApp
The book is the complete Full Stack Development using Java notes in English, printed on A4 with a revision table after every unit. It is not sold as a PDF.
| Part | Pages | Programs |
|---|---|---|
| Cover and index | 1 to 3 | - |
| Unit 1 | 4 to 28 (25) | 19 |
| Unit 2 | 29 to 49 (21) | 9 |
| Unit 3 | 50 to 67 (18) | 10 |
| Unit 4 | 68 to 86 (19) | 12 |
Pages per unit in the BCA 309T notes book
- Part
- Cover and index
- Pages
- 1 to 3
- Programs
- -
- Part
- Unit 1
- Pages
- 4 to 28 (25)
- Programs
- 19
- Part
- Unit 2
- Pages
- 29 to 49 (21)
- Programs
- 9
- Part
- Unit 3
- Pages
- 50 to 67 (18)
- Programs
- 10
- Part
- Unit 4
- Pages
- 68 to 86 (19)
- Programs
- 12
Order on WhatsApp; dispatch and delivery details are shared on the chat.
Unnati Educations is an independent education provider based in Vikaspuri, Delhi. We are not affiliated with, authorised by, or endorsed by Guru Gobind Singh Indraprastha University (GGSIPU). 'GGSIPU' and 'IPU' are used only to describe the syllabus our notes follow. For official information, visit ipu.ac.in.
Ready for the full notes?
Discuss coverage and delivery with our team.