0% found this document useful (0 votes)
6 views5 pages

Web-Based Java Programming Guidelines

The document outlines teaching guidelines for a web-based Java programming course at ACTS, Pune, aimed at advanced Java concepts and web programming. It includes prerequisites, a textbook, references, and a detailed session plan covering topics such as JDBC, Servlets, JSP, Hibernate, Spring Framework, Spring Boot, REST services, testing, and microservices. Each session consists of lectures and labs to reinforce learning through practical application.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views5 pages

Web-Based Java Programming Guidelines

The document outlines teaching guidelines for a web-based Java programming course at ACTS, Pune, aimed at advanced Java concepts and web programming. It includes prerequisites, a textbook, references, and a detailed session plan covering topics such as JDBC, Servlets, JSP, Hibernate, Spring Framework, Spring Boot, REST services, testing, and microservices. Each session consists of lectures and labs to reinforce learning through practical application.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ACTS, Pune

Teaching Guidelines for


Web-based Java Programming
PG-DAC August 2025

Objective: To learn advanced concepts in java programming and perform web Programming using Java.

Prerequisites: Knowledge of core Java programming

Text Book:
• Core and Advanced Java Black Book / Dreamtech Press

References:
• Servlet and JSP: A Tutorial by Budi Kurniawan / Brainy Software
• Spring in Action by Craig Walls / Manning Publications
• Advanced Java programming by Uttam K Roy / Oxford University press
• Sun Certified Enterprise Architect for Java EE Study Guide by Mark Cade & Humphrey Sheil / Pearson
• Professional Java EE Design Patterns by Murat Yener, Alex Theedom &Reza Rahman / Wrox

Sessions 1 & 2:
Lecture:
JDBC & Transaction Management
• Introduction to JDBC API
• JDBC Architecture
• JDBC Drivers
• JDBC Classes& Interfaces: Driver, Connection, Statement, PreparedStatement, ResultSet and
their relationship to provider implementations
• Stored procedures and functions Invocation
• SQL Injection overview and prevention
• Design Pattern: Data Access Object Pattern
Lab:
• Add Database CRUD operations to above MVC web application using JDBC Classes

Session 3:
Lecture:
J2EE Overview
• J2EE Container
• Packaging Web applications
• J2EE compliant web application

PG-DAC Page 1 of 5
ACTS, Pune

• Deployment tools.
• Web application life cycle
• Deploying web applications.
• Web Services Support
No Lab

Sessions 4, 5, 6 & 7:
Lecture:
• Servlets: Dynamic Content Generation
• Advantages of Servlets over CGI
• Servlet Life cycle
• Servlet API & Deployment
• Servlet Annotations
• The Servlet interface
• The HttpServlet, HttpServletRequest, HttpServletResponse
• Exception Handling
• Servlet, DAO, POJO DB Layers
• Session
• Session Management
• Session Tracking with
o Cookies
o HttpSession
• Request Dispatcher
• Page Navigation
• Complete Case study Servlet Based
Lab:
• Installing a servlet container (Tomcat)
• Adding Server to IDE
• Develop a structured dynamic web application(e.g. Library Management System) using servlets,
deploy it in Tomcat
• Use HTTP Session in the Air Ticket Reservation System

Reading: Know more about the HTTP protocol at [Link]


Tutorial: Compare which way of session tracking is better Cookies or HttpSession.

Sessions 8 & 9:
Lecture
• JSP: Separating UI from Content generation code
• MVC architecture
• Design Pattern: MVC Pattern
• Life cycle of a JSP page
• Directives, Implicit and Explicit Objects, Scriptlets, Expressions, Expression Language
• Scope
• JSP Error Page handling
• JSTL

PG-DAC Page 2 of 5
ACTS, Pune

Lab:
• Separate UI code from the controller code in your Library Management System by incorporating
JSP and Servlets.
• Complete the implementation of Air Ticket Reservation System.
• Implement MVC based web application using Servlet, JSP

Sessions 10, 11, 12 & 13:


Lecture:
• Hibernate Framework
o Introduction to Hibernate Framework
o Architecture
• Hibernate in IDE
o Creating web application using Hibernate API
o Lifecycle of Hibernate Entities
• HB with annotation example
• Hibernate Mappings and Relationships
• Collection and Component Mapping
• HQL, Named Queries, Criteria Queries
Lab:
• Demonstrate Hibernate as standalone library in Java application
• Develop a web application (Online Bookshop) using Hibernate Persistence

Reading: Study Hibernate architecture [Link]/docs

Sessions 14, 15, 16 & 17:


Lecture:
• Introduction to Spring Framework
• Overview of Spring Architecture
• Spring MVC architecture
• Spring Modules Overview
• Understanding Spring 4 annotations (Basic Introduction)
• IoC (Inversion of Control)
• IOC container
• Dependency Injection
• Spring Beans
• Autowiring Beans
• Bean Scopes
• Spring MVC
• Model, Model & View, HandlerMapping, ViewResolver
• Design Pattern: Front Controller Pattern
• Spring MVC Web application with JSP views (without Spring Boot)
• Using Thymeleaf as alternate View Technology (only introduction)
• Spring Validations
• Spring i18n, Localization, Properties
• File Upload example

PG-DAC Page 3 of 5
ACTS, Pune

Lab:
• Design and deploy Library Management System using Spring Web

Sessions 18, 19 & 20:


Lecture:
• Spring Boot essentials
• Need of Spring boot
• Spring Boot Overview
• Basic Introduction of MAVEN
• Building Spring Web application with Boot
• Spring Boot in detail (Use Spring Boot for all demo & assignments here onwards)
• Running a web application using Spring Boot with CRUD (with Static Data not DB)
Lab:
• Create Hello World Spring Boot Web application
• Check Libraries imported by Spring Boot
• Create Spring Boot CRUD application with Thymeleaf as View technology

Sessions 21 & 22:


Lecture:
Spring Data Module
• Spring Data JPA (Repository support for JPA)
• CrudRepository & JPARepository
• Query methods
• Using custom query (@Query)
Lab:
• Add CRUD operations with Spring JPA etc. to earlier Spring Web application.

Session 23:
Lecture:
Spring AOP
• AOP Overview
• Spring AOP
• AOP Terminology and annotations: Advice, Join Points, Pointcuts, Aspects
Lab
• Modify earlier Spring MVC application to Log all the requests using AOP

Sessions 24 & 25:


Lecture:
Building REST services with Spring
• Introduction to web services
• SOAP Vs RESTful web services
• RESTful web service introduction
• Create RESTful web service in java using Spring Boot
• RESTful web service JSON example
• RESTful web service CRUD example
• Using POSTMAN client to invoke REST API’s
• REST service invocation using REST Template

PG-DAC Page 4 of 5
ACTS, Pune

Lab:
• Create REST API for Employee Management using Spring Boot
• Invoke it from POSTMAN app
• Invoke it from another Spring Boot Web application using REST Template

Session 26 & 27:


Lecture:
Testing in Spring
• Testing in Spring
• Unit Testing of Spring MVC Controllers
• Unit Testing of Spring Service Layer
• Integration Testing of Spring MVC Applications: REST API
• Unit Testing Spring MVC Controllers with REST
Securing Web Application with Spring Security
• What is Spring Security
• Spring Security with Spring Boot
• Basic Authentication
• Authentication with User credentials from Database and Authorization
• JWT Authorization
Lab:
• Design & Test Spring Application
• Secure the Spring Web application created in earlier exercise.

Sessions 28 & 29:


Lecture:
Microservices
• Introduction to Microservices
• Microservices Architecture
• Fragmentation of business requirement
• Deployment pattern
• API gateway
• Service Discovery
• Database Management for Microservices
Lab (2 hours):
Demonstration of Spring Boot Microservices

PG-DAC Page 5 of 5

Common questions

Powered by AI

HttpSession and Cookies are both used for session tracking, but they differ significantly. HttpSession objects are server-side mechanisms, which means session data is stored on the server. Cookies, on the other hand, store data on the client's machine, making them more vulnerable to security risks such as modification by clients. Generally, HttpSession is considered more secure as it reduces exposure of session data to the client .

Dependency Injection (DI) in the Spring Framework allows object dependencies to be injected at runtime, promoting loose coupling between components. This enhances flexibility by enabling components to be easily replaced without changing dependent code. It also aids maintainability by reducing direct dependency creation within code, allowing configurations to be easily changed through XML or annotations .

Spring Boot simplifies Spring-based development by offering defaults for many configurations and integrating with dependency management tools like Maven. Unlike traditional Spring MVC, which requires detailed manual configuration, Spring Boot reduces setup time with its embedded servers and automated configuration, facilitating rapid development and deployment of standalone applications. This enhances developer productivity and reduces deployment complexity .

Hibernate simplifies ORM by mapping Java classes to database tables and automatically handling SQL operations. Unlike traditional JDBC which requires extensive SQL code and manual error handling, Hibernate provides HQL for database access and manages complex data relationships with minimal explicit SQL. This abstraction reduces development time and enhances maintainability, scalability, and portability of applications .

Spring Security enhances web application reliability by providing comprehensive security features such as authentication, authorization, and protection against common attacks like CSRF and session fixation. It supports integration with authentication protocols and employs secure communication standards, allowing for the configuration of user roles and secure data handling, thereby mitigating vulnerabilities and ensuring data integrity .

The Data Access Object (DAO) pattern enhances manageability by separating the database access logic from business logic, thus promoting a clear separation of concerns. This modular approach allows changes to be made to the data access mechanisms without impacting other parts of the application, thus improving scalability. It also enables the reusability of database access code, as the same DAO can be utilized across different parts of an application or even different applications .

The MVC architecture improves modularity by separating application concerns into three components: Model handles data logic, View manages UI representation, and Controller directs interactions, leading to a separable, extensible, and testable codebase. In JSP and Servlet applications, this separation allows developers to update UI design without altering data logic and vice versa. The resulting modular design simplifies debugging and enhances scalability .

Microservices architecture breaks down applications into smaller, independent services that communicate via APIs, offering greater flexibility and scalability than monolithic architectures. Each microservice can be developed, deployed, and scaled independently, allowing teams to use different technologies for different services based on specific needs. This results in faster development cycles and easier fault isolation .

Aspect-Oriented Programming (AOP) in Spring focuses on cross-cutting concerns like logging and transaction management by separating them from business logic. AOP abstracts these concerns into aspects, allowing them to be applied across multiple parts of an application non-invasively. This improves code modularity by reducing code duplication and enhancing separation of concerns, leading to a cleaner and more maintainable codebase .

RESTful web services are based on stateless communication and leverage HTTP methods like GET and POST, whereas SOAP follows a formal protocol with more overhead. REST is typically preferred for its simplicity, scalability, and the ability to work with various data formats like JSON, which aligns well with web standards. REST's lightweight nature makes it more suitable for modern web applications that demand quick interactions and flexible integration .

You might also like