BOS Computer Science
Class [Link].C. S.
Semester III
Course Name Advanced Java
Course Code PUSCS301
Type of course Major I
Level of the Course Moderate
Course Credit 3 Theory + 1 Practical
Course Objectives:
1. Explore advanced topics of Java programming for solving problems.
2. Enable students to develop web-based applications and enterprise applications
Unit No. Name of Unit Topic Contents Hours
No.
I Multithreading 1.1 Threads and Multithreading , Thread vs Process, 15
And Servlet Advantages of multithreading ,The Lifecycle of a thread,
Creating and running threads, Thread Class and it’s
Methods
1.2 Introduction to Java Servlets: Interfaces & Classes in
[Link] package and [Link] package. Servlet
Types and Lifecycle: Servlet Interface, Types of Servlet:
GenericServlet & HttpServlet, The Servlet Life Cycle,
Reading HTML Form Data in Servlet
1.3 Working With Servlets: Use of [Link] & Using
@WebServlet, RequestDispatcher Interface & its
methods,Purpose of sendRedirect(), Session Tracking in
Servlet
II Introduction to 2.1 Introduction : Introduction to Java Server Pages 15
JSP (JSP),Advantages and Disadvantages of JSP, JSP vs
Servlets, Life Cycle of JSP,JSP Implicit Objects
2.2 JSP Directives,Scripting elements in JSP,Exception
Handling in JSP,JSP Action Tags
2.3 Expression Language: Introduction of Expression Language,
Implicit objects of EL, Precedence of operators in EL,
Reserved words in EL,MVC in JSP
III Introduction to 3.1 Introduction to JDBC: Use of JDBC ,Advantages , 15
JDBC Architecture,DriverManager class, Connection interface ,
types of Statements: Statement, Prepared Statement, Callable
Statement
3.2 JDBC - Exception Handling,Working with Metadata:
ResultSet Metadata,Database Metadata
11
3.3 Storage Images (BLOB) & Store Files(CLOB), Transaction
Management , Batch Processing
TOTAL HOURS 45
Course Outcomes:
1. Enumerate the concept of request-response architecture.
2. Analyze the JSP architecture.
3. Demonstrate the Database connectivity with GUI applications.
4. Develop the JSP applications to solve real life problems.
5. Evaluate the concept of Expression Language with examples.
6. Create various Servlet applications to solve real life problems.
References:
1. Joe Wigglesworth and Paula McMillan, Java Programming: Advanced Topics, Thomson Course
Technology (SPD
2. Cay S. Horstmann, Gary Cornell, Core Java™ 2: Volume II–Advanced Features Prentice Hall
PTR
3. Herbert Schildt, Java2: The Complete Reference, Tata McGraw-Hill Additional Reference
4. The Java Tutorials of Sun Microsystems Inc.
5. [Link]
6. “Java I/O” by Elliotte Rusty Harold
CASE STUDY
1 A university's computer science department wants to develop an Online Bookstore Management
System to facilitate the ordering and management of books for students and faculty. The
university already has a database containing information about books, authors, and publishers.
Your task is to design a JDBC-based system to interact with the database and implement the
necessary functionalities for the Online Bookstore Management System.
2 A university has decided to implement an Online Learning Management System to enhance its
educational offerings. The system aims to provide a platform for instructors to create and
manage online courses, students to enroll and participate in these courses, and administrators to
oversee the entire learning process.
PRACTICALS
Sr. No. List Of Practicals
Understand multithreading and thread:
1
2. Demonstrate how to create and run multiple threads concurrently.
3. Compare the creation and execution of threads and processes.
4. Demonstrate the benefits of using multiple threads to improve performance and
efficiency in an application.
12
5. Demonstrate the different states in a thread's life cycle (New, Runnable, Blocked,
Terminated).
6. Demonstrate creation and execution of threads :
• By using Thread class
• By using Runnable interface
Basic servlets with HTML content :
2
1. To develop Java Servlets that generate dynamic HTML web pages including:
a. Basic text output
b. Timetable display
c. Structured HTML page
d. Homepage layout
e. SYCS syllabus display
3 Handling user input in servlets :
1. Develop Java Servlets that accept user input through an HTML form and perform
various numerical operations such as:
a. Factorial calculation
b. Positive/Negative/Zero check
c. Prime number check
d. Even/Odd check
2. Build a student registration form that submits data to a servlet and displays output on
the web page.
4 Implement session tracking and request dispatching.
1. Implement RequestDispatcher forward() for login validation (correct password →
welcome, else error).
2. Use Cookies to count and display a user's visit frequency.
3. Create a servlet demonstrating the use of session creation and destruction.
Use JSP implicit objects for data handling and validations.
5
1. Develop a simple JSP application to display values obtained from the use of
intrinsic objects [Implicit Objects] of various types.
2. Develop a simple JSP application to pass values from one page to another with
validations. (Name-txt, age-txt, hobbies-checkbox, email-txt,gender-radio
button)
6 Use of JSP Actions:
1. JSP program that takes a number as input from the user and checks whether the
number is even or odd using scriptlets.
2. Create a JSP application to demonstrate the Page Directive with a focus on automatic
error redirection and exception handling. The application must consist of two pages:
one to perform a calculation and another to catch and display errors.
3. Write a JSP program to include a footer page ([Link]) in a home page using the
<jsp:include> action.
Demonstrate Expression Language in JSP.
7
1. Write a JSP program to demonstrate accessing page, request, session, and application
scopes using Expression Language (EL).
2. Write a JSP program to demonstrate form data handling using EL implicit object
param.
3. Write a JSP program to demonstrate arithmetic operators using Expression Language.
4. Write a JSP program to demonstrate relational operators using Expression Language.
13
CRUD operations using JSP/Servlet with database integration on Student table:
8.
● Insert into student table using Prepared Statement in JSP/Servlet
● Select a specific student(entered by user) using Statement Interface in JSP/Servlet
● Update the name of Student by using PreparedStatement in JSP/Servlet
● Delete the Student(entered by user) by using Statement Interface in JSP/Servlet
● Select the data of all students using Prepared Statement Interface in JSP/Servlet
9 Understand and demonstrate JDBC Metadata usage.
1. Develop a web application using HTML,JSP/Servlet, and JDBC to retrieve and
display student records from a MySQL database in tabular format, with proper
exception handling using SQLException.
2. Develop a web application using HTML,JSP/Servlet and JDBC to demonstrate the
use of the DatabaseMetaData interface.
3. Develop a web application using HTML, JSP/Servlet and JDBC to demonstrate the
use of the ResultSetMetaData interface.
10 Work with BLOB & CLOB data types in JSP/Servlet.
1. Create a web application using HTML, JSP/Servlet and JDBC to store and retrieve
image files in a MySQL database using the BLOB data type.
2. Create a web application using HTML,JSP/Servlet and JDBC to store and retrieve
large text data using the CLOB data type.
14