0% found this document useful (0 votes)
287 views164 pages

Advanced Java Programming (1) 04-05-2019 Mail 6-5-19 PDF

This document is a certificate certifying that Mr./Ms. [name] with roll number [number] of the fifth semester of the Diploma in [program] from [institute name] has satisfactorily completed the term work in the course Advanced Java Programming (22517) for the academic years [years] as prescribed in the curriculum. The certificate contains the signatures of the subject teacher, head of department, and principal along with the enrollment number, exam seat number, and seal of the institution.

Uploaded by

Rupesh Patil
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)
287 views164 pages

Advanced Java Programming (1) 04-05-2019 Mail 6-5-19 PDF

This document is a certificate certifying that Mr./Ms. [name] with roll number [number] of the fifth semester of the Diploma in [program] from [institute name] has satisfactorily completed the term work in the course Advanced Java Programming (22517) for the academic years [years] as prescribed in the curriculum. The certificate contains the signatures of the subject teacher, head of department, and principal along with the enrollment number, exam seat number, and seal of the institution.

Uploaded by

Rupesh Patil
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
You are on page 1/ 164

MAHARASHTRA STATE

BOARD OF TECHNICAL EDUCATION


Certificate

This is to certify that Mr. / Ms. …………………………………….………


Roll No. ……………….…., of Fifth Semester of Diploma in
…………………..…………………………………………… of Institute,
……………..……………….…………………………………………..…
(Code: …………...) has completed the term work satisfactorily in course
Advanced Java Programming (22517) for the academic year 20…….. to
20…….. as prescribed in the curriculum.

Place: …………… Enrollment No:.……………


Date: …………… Exam. Seat No: ……………

Subject Teacher Head of the Department Principal

Seal of
Institution
.
Advanced Java Programming (22517)

Preface
The primary focus of any engineering laboratory/field work in the technical education
system is to develop the much-needed industry relevant competencies and skills. With this in
view, MSBTE embarked on this innovative ‘I’ Scheme curricula for engineering Diploma
programmes with outcome-based education as the focus and accordingly, relatively large
amount of time is allotted for the practical work. This displays the great importance of
laboratory work making each teacher, instructor and student to realize that every minute of
the laboratory time need to be effectively utilized to develop these outcomes, rather than
doing other mundane activities. Therefore, for the successful implementation of this
outcome-based curriculum, every practical has been designed to serve as a ‘vehicle’ to
develop this industry identified competency in every student. The practical skills are difficult
to develop through ‘chalk and duster’ activity in the classroom situation. Accordingly, the ‘I’
scheme laboratory manual development team designed the practicals to focus on outcomes,
rather than the traditional age-old practice of conducting practical’s to ‘verify the theory’
(which may become a byproduct along the way).

This laboratory manual is designed to help all stakeholders, especially the students,
teachers and instructors to develop in the student the pre-determined outcomes. It is expected
from each student that at least a day in advance, they have to thoroughly read the concerned
practical procedure that they will do the next day and understand minimum theoretical
background associated with the practical. Every practical in this manual begins by identifying
the competency, industry relevant skills, course outcomes and practical outcomes which
serve as a key focal point for doing the practical. Students will then become aware about the
skills they will achieve through procedure shown there and necessary precautions to be taken,
which will help them to apply in solving real-world problems in their professional life.

This manual also provides guidelines to teachers and instructors to effectively facilitate
student-centered lab activities through each practical exercise by arranging and managing
necessary resources in order that the students follow the procedures and precautions
systematically ensuring the achievement of outcomes in the students.

Advanced Java Programming is used as mainstream programming language in


application development. This course aims to design and develop Java based applications.
Using Advanced Java programming, students will be able to develop web applications, GUI,
applications as well as network-based applications. Students will be able to write the
programs like applet, Servlets, connections to Databases using JDBC and socket
programming.

Although all care has been taken to check for mistakes in this laboratory manual, yet it is
impossible to claim perfection especially as this is the first edition. Any such errors and
suggestions for improvement can be brought to our notice and are highly welcome.

Maharashtra State Board of Technical Education i


Advanced Java Programming (22517)

Programme Outcomes (POs) to be achieved through Practical’s of this


Course:

Following programme outcomes are expected to be achieved significantly out of the ten
programme outcomes and Information Technology programme specific outcomes through the
practical’s of the course on Advanced Java Programming.

PO 1. Basic knowledge: Apply knowledge of basic mathematics, science and basic


engineering to solve the problems related to application of computers and communication
services in storing, manipulating and transmitting data, often in the context of a business or
other enterprise.

PO 2. Discipline knowledge: Apply Computer Engineering knowledge to solve broad-based


Computer Engineering related problems.

PO 3. Experiments and practice: Plan to perform experiments, practices and to use the
results to solve Computer Engineering related problems.

PO 4. Engineering tools: Apply appropriate Computer Engineering related techniques/ tools


with an understanding of the limitations.

PO 5. The engineer and society: Assess societal, health, safety and legal issues and the
consequent responsibilities relevant to practice in the field of Computer Engineering.

PO 6. Environment and sustainability: Apply Computer related engineering solutions for


sustainable development practices in environmental contexts.

PO 7. Ethics: Apply ethical principles for commitment to professional ethics, responsibilities


and norms of practice in the field of Information Technology.

PO 8. Individual and team work: Function effectively as a leader and team member in
diverse/ multidisciplinary teams.

PO 9. Communication: Communicate effectively in oral and written form.

PO 10. Life-long learning: Engage in independent and life-long learning along with the
technological changes in the IT and allied industry.

Maharashtra State Board of Technical Education ii


Advanced Java Programming (22517)

Practical - Course Outcome Matrix


Course Outcome:
a. Develop program using GUI framework (AWT and Swing)
b. Handle events of AWT and Swing Components.
c. Develop programs to handle events in Java Programming.
d. Develop Java Programs using Networking Concepts.
e. Develop programs using Database.
f. Develop programs using Servlets.
CO CO CO CO CO CO
S. No. Title of the Practical
a. b. c. d. e. f
Write a program to demonstrate the use
of AWT components like Label,

* 1 Textfield, TextArea, Button, Checkbox,
- - - - -
RadioButton etc.
Write a program to design a form using

* 2 the components List and Choice.
- - - - -
Write a program to design simple
* 3 √ - - - - -
calculator with the use of GridLayout
Write a program to create a two-level
* 4 card deck that allows the user to select √ - - - - -
component of Panel using CardLayout
Write a program using AWT to create a
menubar where menubar
5 contains menu items such as File, Edit, √ - - - - -
* View and create a submenu
under the File menu: New and Open.
Write a program using swing to display
a ScrollPane and JcomboBox in an
* 6 √ √ - - - -
Japplet with the items – English,
Marathi, Hindi, Sanskrit.

* 7 Write a program to create a Jtree. - - - - -
8 Write a program to create a JTable. - √ - - - -
Write a program to launch a
9 - √ - - - -
JProgressBar
Write a program to demonstrate status
of key on Applet window such as
10 √ √ √ - - -
* KeyPressed, KeyReleased, KeyUp,
KeyDown
Write a program to demonstrate various
11 mouse events using MouseListener and √ √ √ - - -
* MouseMotionListener interface
Write a program to demonstrate the use
* 12 of JTextField and JPasswordField using √ √ √ - - -
Listener Interface

Maharashtra State Board of Technical Education iii


Advanced Java Programming (22517)

Write a program to demonstrate the use


13 √ √ √ - - -
of WindowAdapter class.
Write a program to demonstrate the use
* 14 of InetAddress class and its factory - - - √ - -
methods.
Write a program to demonstrate the use
* 15 of URL and URLConnection class and - - - √ - -
its methods
Write a program to implement chat
16 Server using Server Socket and Socket - - - √ - -
class.
Write a program to demonstrate use of
17 - - - √ - -
DataGram Socket and DataGram Packet
Write a program to insert and retrieve
* 18 - - - - √ -
the data from database using JDBC
Write a program to demonstrate the use
19 of PreparedStatement and ResultSet - - - - √ -
interface
Write a program to update and delete a
20 - - - - √ -
record from a database table.
Write a program to demonstrate the use
21 √ - - - - √
of HttpServlet as a parameterized servlet
Write a Servlet program to send
* 22 username and password using HTML √ - - - - √
forms and authenticate the user
Write a program to create Session using
23 √ - - - - √
HttpSession class
Write a program to implement Session
24 √ - - - - √
tracking using Cookies.

Maharashtra State Board of Technical Education iv


Advanced Java Programming (22517)

List of Industry Relevant Skills

The following industry relevant skills of the competency “Apply advanced Java
Programming Concepts” are expected to be developed in you by performing practical’s of
this laboratory manual.
1. Create GUI Applications.
2. Handle events using event delegation model.
3. Write and execute programs for web based as well as window-based applications.
4. Write and execute programs for networking.
5. Write and execute programs to store the data in database to perform CRUD
operations.
6. Write and execute programs for client server using Servlets.

Maharashtra State Board of Technical Education v


Advanced Java Programming (22517)

Brief Guidelines to Teachers

Hints regarding strategies to be used


1. Teacher shall explain prior concepts to the students before starting each experiment.
2. For practical’s requiring tools to be used, teacher should provide the demonstration of
the practical emphasizing the skills, which the student should achieve.
3. Involve students in the activities during the conduct of each experiment.
4. Teachers should give opportunity to students for hands-on after the demonstration.
5. Assess the skill achievement of the students and COs of each unit.
6. Teacher is expected to share the skills and competencies to be developed in the
students.
7. Teacher should ensure that the respective skills and competencies are developed in the
students after the completion of the practical exercise.
8. Teacher may provide additional knowledge and skills to the students even though that
may not be covered in the manual but are expected from the students by the
industries.
9. Teacher may suggest the students to refer additional related literature of the reference
books/websites/seminar proceedings etc.
10. During assessment teacher is expected to ask questions to the students to tap their
knowledge and skill related to that practical.

Maharashtra State Board of Technical Education vi


Advanced Java Programming (22517)

Instructions for Students

Student shall read the points given below for understanding the theoretical concepts and
practical applications.
1. Students shall listen carefully the lecture given by teacher about importance of
subject, learning structure, course outcomes.
2. Students shall organize the work in the group of two or three members and make a
record of all observations.
3. Students shall understand the purpose of experiment and its practical implementation.
4. Students shall write the answers of the questions during practical.
5. Student should feel free to discuss any difficulty faced during the conduct of practical.
6. Students shall develop web based and window-based applications as expected by the
industries.
7. Student shall attempt to develop related hands on skills and gain confidence.
8. Students shall refer technical magazines; websites related to the scope of the subjects
and update their knowledge and skills.
9. Students shall develop self-learning techniques.
10. Students should develop habit to submit the write-ups on the scheduled dates and
time.

Maharashtra State Board of Technical Education vii


Advanced Java Programming (22517)

Content Page
List of Practical’s and Progressive Assessment Sheet

Date of Dated
Sr. Page Date of Assessment Remarks
Title of the practical submissi sign. of
No. No. performance Marks (50) (if any)
on teacher
Write a program to
demonstrate the use of
AWT components like
1. Label, Textfield, 1
TextArea, Button,
Checkbox, RadioButton
etc.
Write a program to design
a form using the
2. 6
components List and
Choice.
Write a program to design
3. simple calculator with the 12
use of GridLayout
Write a program to create
a two-level card deck that
4. allows the user to select 19
component of Panel using
CardLayout
Write a program using
AWT to create a menu bar
where menu bar contains
5. menu items such as File, 25
Edit, View and create a
submenu under the File
menu: New and Open.
Write a program using
swing to display a
ScrollPane and
6. 31
JcomboBox in an Japplet
with the items – English,
Marathi, Hindi, Sanskrit.
Write a program to create
7. 37
a Jtree.
Write a program to create
8. 42
a JTable.

Maharashtra State Board of Technical Education viii


Advanced Java Programming (22517)

Write a program to launch


9. 48
a JProgressBar
Write a program to
demonstrate status of key
on Applet window such as
10. 53
KeyPressed,
KeyReleased, KeyUp,
KeyDown
Write a program to
demonstrate various
mouse events using
11. 58
MouseListener and
MouseMotionListener
interface
Write a program to
demonstrate the use of
12. JTextField and 63
JPasswordField using
Listener Interface
Write a program to
13. demonstrate the use of 69
WindowAdapter class.
Write a program to
demonstrate the use of
14. 75
InetAddress class and its
factory methods.
Write a program to
demonstrate the use of
15. 80
URL and URLConnection
class and its methods
Write a program to
implement chat Server
16. 85
using Server Socket and
Socket class.
Write a program to
demonstrate use of
17. 90
DatagramSocket and
DataGram Packet
Write a program to insert
18. and retrieve the data from 95
database using JDBC

Maharashtra State Board of Technical Education ix


Advanced Java Programming (22517)

Write a program to
demonstrate the use of
19. 102
PreparedStatement and
ResultSet interface.
Write a program to update
20. and delete a record from a 110
database table.
Write a program to
demonstrate the use of
21. 116
HttpServlet as a
parameterized servlet
Write a Servlet program
to send username and
22. password using HTML 123
forms and authenticate the
user
Write a program to create
23. Session using HttpSession 130
class.
Write a program to
24. implement Session 137
tracking using Cookies.
Total Marks

 To be transferred to Proforma of CIAAN-2017.

Maharashtra State Board of Technical Education x


Advanced Java Programming (22517)

Practical No. 1: Write a program to demonstrate the use of


AWT components.
I. Practical Significance:
Text Field, Text Area, Button, Checkbox, Radio Buttons(Check Box Group) are the
AWT components. Used to design the GUI in java. A component is object having
representation that can be displayed on the screen to interact with the user.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications
The practical is expected to develop the following skills:
1. Able to design form using required AWT components
2. Able to understand the different Components available in AWT

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework AWT.

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of AWT components.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


AWT is a java programming language class library. Components are visible objects
that can interact with the user. Containers (Frame, Panel, Applet) are used to hold
components using in a specific layout.

Using applet window, design following AWT components using add() method of
components class. Following are some AWT components

1. Label: Creates a label that displays a string.


2. TextField Creates and accepts a single-line text from user.
3. TextArea Creates and accepts multiple line text from user.

Maharashtra state Board of Technical Education 1


Advanced Java Programming (22517)

4. Button creates a push button.


5. Checkbox Creates a check box which is used to select multiple options.
6. CheckboxGroup creates a group of checkbox to act as radio button.

To Create TextArea
TextArea ta=new TextArea(String str,int nooflines)

To create RadioButton(CheckBoxGroup):
CheckBox cb1, cb2;
CheckBoxGroup cbg;
Cb1=new CheckBox(“Male”,cbg,true);
Cb2=new CheckBox(“Female”,cbg,false);

VIII. Resources required

Sr. Remarks
Name of Resource Broad Specification Quantity
No. (If any)
Computer (i3-i5
1 Computer System
preferable RAM > 2GB
As per
For All
2 Operating System Windows/Linux Batch
Experiments
Size
Development
3 JDK 1.5 Onwards
Software

IX. Resources used (Additional)

Sr. Remarks (If


Name of Resource Broad Specification Quantity
No. any)
1 Computer System
2 Operating System
Development
3
Software

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Design an applet/application to demonstrate the use of Radio Button and
Checkbox.
2. Design an applet/application to create form using Text Field, Text Area, Button
and Label.

XI. Result (Output of Code):


...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

Maharashtra state Board of Technical Education 2


Advanced Java Programming (22517)

XII. Practical Related Questions

Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. State the difference between CheckBox and RadioButton
2. Write the use of setEnabled() method.
3. Draw the life cycle of an Applet.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 3


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIII. Exercise:
1. Develop a program using Label to display message “Welcome to Java”
2. Develop a program to select multiple languages known to user. (e. g Marathi,
Hindi, English, Sanskrit).
3. Write a program to create three Buttons with Caption OK, RESET and CANCEL.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 4


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members


1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher

Process Product Total


Related (35) Related (15) (50)

Maharashtra state Board of Technical Education 5


Advanced Java Programming (22517)

Practical No. 2: Write a program to design a form using the


components List and Choice.
I. Practical Significance:
The List and Choice components lets the user choose one option from list of available
options A Choice is displayed in a compact form that requires you to pull it down to
see the list of available choices. Only one item may be selected from a Choice. A List
may be displayed in such a way that several List items are visible. A List supports the
selection of one or more List items.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications and web Application
The practical is expected to develop the following skills:
1. Able to develop an applet/application using Choice and List components.

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing).

V. Practical Outcome (PrOs)


Write a program to design a form using the components List and Choice.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background

List: Creates a list from which the user can choose list items.

Constructors:
List () // allows only one item to be selected
List (int numRows) // no of entries will always be visible
List (int numRows, Boolean multiple Select)// if it is true then user select
multiple items. If it is false then only one item may be selected

Maharashtra state Board of Technical Education 6


Advanced Java Programming (22517)

Choice
The Choice class is used to create a pop-up list of items from which the user
may choose. When the user clicks on it, the whole list of choices pops up and
new selection can be made. Choice defines the default constructor, which
creates an empty list. To add a selection to the list, call add ().

VIII. Resources required (Additional) –

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1
2

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write Java Program to show following output.

Figure 1

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

Maharashtra state Board of Technical Education 7


Advanced Java Programming (22517)

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the name of components used in following output

Figure 2

Maharashtra state Board of Technical Education 8


Advanced Java Programming (22517)

2. State the difference between List and Choice control


3. Write the use of getSelectedItem() and getSelectedIndex() for List.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 9
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise:
1. Develop an applet/ application using List components to add names of 10 different
cities.
2. Develop applet / application to select multiple names of news papers

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 10


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher

Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 11


Advanced Java Programming (22517)

Practical No. 3: Write a program to design simple calculator


with the use of Grid Layout.
I. Practical Significance:
A layout manager automatically arranges your controls within a window. While it is
possible to lay out Java controls by hand, too, you generally won’t. It is very tedious
to manually lay out a large number of components

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications
The practical is expected to develop the following skills:
1. Able to apply different layouts to Applet, Frame and Panel
2. Able to demonstrate the use of different types of Layout Manager

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing).

V. Practical Outcome (PrOs)


Write a program to design simple calculator with the use of GridLayout.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


Layout Manager is a facility that determines how components should be arranged
when they are added to the container. Layout Manager is an interface that is
implemented by all the classes of layout managers. There are following classes that
represent the layout managers.

Maharashtra state Board of Technical Education 12


Advanced Java Programming (22517)

Layout Types

FlowLayout GridLayout BorderLayout CardLayout GridbagLayout

Understand the default layout for different containers such as Applet, Frame, Panel.
Grid Layout is used to make a bunch of components equal in size and displays them in the
requested number of rows and columns. One component is displayed in each rectangle.
The list of Constructor for GridLayout are:
1. GridLayout(): creates a grid layout with one column per component in a row.
2. GridLayout(int rows, int columns): creates a grid layout with the given rows and
columns but no gaps between the components.
3. GridLayout(int rows, int columns, int hgap, int vgap): creates a grid layout with
the given rows and columns along with given horizontal and vertical gaps if we
give setLayout(null) the default layout is disabled.then we have to use setBounds
method to layout the components.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of Broad


Quantity Remarks (If any)
No. Resource Specification
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write java Program to Demonstrate Grid of 5* 5
2. Write a program to display The Number on Button from 0 to 9.

Maharashtra state Board of Technical Education 13


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Give name of default Layout for Different container
2. List the names of BorderLayout regions.
3. Write the default horizontal and vertical gap in FlowLayout
4. Write the use of Insets in border layout.

Maharashtra state Board of Technical Education 14


Advanced Java Programming (22517)

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 15


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIII. Exercise
1. Write a program to generate following output

Figure 3

2. Write a program to generate following output using Border Layout

Figure 4

Maharashtra state Board of Technical Education 16


Advanced Java Programming (22517)

(Space for Answer)


.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 17


Advanced Java Programming (22517)

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher

Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 18


Advanced Java Programming (22517)

Practical No. 4: Use of CardLayout to write a program to create a


two-level card deck that allows the user to select an
operating system.
I. Practical Significance:
The CardLayout class manages the components in such a manner that only one
component is visible at a time. It treats each component as a card hence known as
CardLayout.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications
The practical is expected to develop the following skills:
1. Able to apply different layouts to Applet, Frame and Panel
2. Able to demonstrate the use of different types of Layout Manager

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing).

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of Border layout showing four buttons at four
sides of an applet with captions “left”, “right”, “top” and “bottom”

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


Constructors of CardLayout class
1. CardLayout(): creates a card layout with zero horizontal and vertical gap.
2. CardLayout(int hgap, int vgap): creates a card layout with the given horizontal
and vertical gap.

Commonly used methods of CardLayout class


1. public void next (Container parent): is used to flip to the next card of the given
container.

Maharashtra state Board of Technical Education 19


Advanced Java Programming (22517)

2. public void previous (Container parent): is used to flip to the previous card of
the given container.
3. public void first (Container parent): is used to flip to the first card of the given
container.
4. public void last (Container parent): is used to flip to the last card of the given
container.
5. public void show (Container parent, String name): is used to flip to the
specified card with the given name.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
Execute the following Program and write the output.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CardLayoutExample extends JFrame implements ActionListener


{
CardLayout card;
JButton b1, b2, b3;
Container c;
CardLayoutExample()
{
c=getContentPane();
card=new CardLayout(40,30);
//create CardLayout object with 40 hor space and 30 ver space
c.setLayout(card);
b1=new JButton("Apple");
b2=new JButton("Boy");
b3=new JButton("Cat");
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
c.add("a",b1);c.add("b",b2);c.add("c",b3);
}

Maharashtra state Board of Technical Education 20


Advanced Java Programming (22517)

public void actionPerformed(ActionEvent e)


{
card.next(c);
}
public static void main(String[] args)
{
CardLayoutExample cl=new CardLayoutExample();
cl.setSize(400,400);
cl.setVisible(true);
cl.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. State difference between GridLayout and GridBagLayout.
2. Explain constructor of GridbagLayout.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 21


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................

XIII. Exercise
1. Write Java program to display following output.

Figure 5

2. Write Java Program to display following output.

Figure 6

Maharashtra state Board of Technical Education 22


Advanced Java Programming (22517)

(Space for Answer)


.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 23


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher

Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 24


Advanced Java Programming (22517)

Practical No. 5: Write a program using AWT to create a menu bar


where menu bar contains menu items such as File,
Edit, View and create a submenu under the File
menu: New and Open.
I. Practical Significance:
The Menu Bar lets the user to select different menu options from the list of available
menu items and perform operations on the selected menu item.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications
The practical is expected to develop the following skills:
1. Able to develop Menu, Menu Bar and Menu Items
2. Able to write a program using Menu Bar and assign shortcuts

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing)

V. Practical Outcome (PrOs)


Write a program using AWT to create a menu bar where menu bar contains menu items
such as File, Edit, View and create a submenu under the File menu: New and Open.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


A top-level window can have a menu bar associated with it. A menu bar displays a list
of top-level menu choices. Each choice is associated with a drop-down menu.
This concept is implemented in the AWT by the following classes: Menu Bar, Menu,
and Menu Item

Maharashtra state Board of Technical Education 25


Advanced Java Programming (22517)

To create a menu bar, first create an instance of Menu Bar. This class only defines the
default constructor. Next, create instances of Menu that will define the selections
displayed on the bar.
Menu( ) // creates an empty menu.
Menu(String optionName) // name of the menu selection
Menu(String optionName, boolean removable) // If removable is true, the
menu can be removed and allowed to float free. Otherwise, it will remain
attached to the menu bar.

Individual menu items are of type MenuItem. It defines these constructors:


1. MenuItem( )
2. MenuItem(String itemName) // the name shown in the menu
3. MenuItem(String itemName, MenuShortcut keyAccel) // keyAccel is the menu
shortcut for this item

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Write a program which creates Menu of different colors and disable menu item for
Black color.

Maharashtra state Board of Technical Education 26


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the use of setEnabled() method
2. Write the procedure to assign shortcut key to the Menu Item
3. Write a syntax and use of addSeparator() method

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 27


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIII. Exercise
1. Find errors in following program and display output as shown below.
import java.awt.*;
import java.awt.event.*;
public class MenuDemo1 extends Frame
{
MenuBar mb;
MenuItem m1,m2,m3,m4;
Menu mn;
MenuShortcut ms;
MenuDemo1()
{
setTitle("MenuBar Demo");
setSize(500,500);
setLayout(null);
ms=new MenuShortcut(KeyEvent.VK_X);
mn=new Menu("File");
mb=new MenuBar();
m1=new MenuItem("New...");
m2=new MenuItem("Open...");
m3=new MenuItem("Save As...");
m4=new MenuItem("Exit",ms);
Maharashtra state Board of Technical Education 28
Advanced Java Programming (22517)

mn.add(m1);
mn.add(m2);
mn.add(m3);
mn.addSeparator();
mn.add(m4);
mb.add(mn);
}
public static void main(String[] args)
{
MenuDemo1 md=new MenuDemo1();
md.setVisible(true);
}
}

Figure 7
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 29


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 30


Advanced Java Programming (22517)

Practical No. 6: Write a program using swing to display a


ScrollPane and JComboBox in an JApplet with
the items – English, Marathi, Hindi, Sanskrit.

I. Practical Significance:
The Swing Components are very useful to design interactive application and it
provide rich look and feel to the components. Swing components are light weight and
platform independent. Swing supplies additional controls such as TabbedPane,
ScrollPane, Trees and Tables. JFrame and JApplets are used to design windows and
web applications.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications using swing components
The practical is expected to develop the following skills:
1. Able to Implement the JComboBox and JScrollPane
2. Able to write the program using JApplet/JFrame

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing)

V. Practical Outcome (PrOs)


Write a program using swing to display a ScrollPane and JcomboBox in an Japplet
with the items – English, Marathi, Hindi, Sanskrit..

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


Fundamentals to swing is JApplet class which extends Applet. JApplet supports
various panes such as content pane, glass pane and the root pane. When adding a
component to an instance of JApplet, call add () method for the content pane of
JApplet object.

Maharashtra state Board of Technical Education 31


Advanced Java Programming (22517)

JComboBox is a combination of a TextField and a dropdown list. JComboBox


extends JComponent class. It normally displays single entry however it can also
display drop down list that allows the user to select option.

Constructors of JComboBox
1. JComboBox()
2. JComboBox(Vector v)

A JScrollPane is used to make a scrollable view of a component. A container that


provides horizontal and/or vertical scroll bars for another component.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Write a program code to generate the following output

Figure 8

Maharashtra state Board of Technical Education 32


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. State the difference between AWT and Swing
2. State the features of Swing
3. Name the method to obtain ContentPane in swing.

(Space for answer)


.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 33


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a program to develop a frame to select the different states of India using
JComboBox
2. Develop a program to demonstrate the use of ScrollPane in Swings
(Space for answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 34


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 35
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process
Product Related(15) Total(50)
Related(35)

Maharashtra state Board of Technical Education 36


Advanced Java Programming (22517)

Practical No.7: Write a program to create a JTree.

I. Practical Significance:
Tree is used to represent the hierarchical view of the data. The tree control shows the
data in tree like structure such as root and its leaves.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications using swing components
The practical is expected to develop the following skills:
1. Able to implement the JTree with its methods.
2. Able to write the program using JTree.

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing)

V. Practical Outcome (PrOs)


Write a program to create a Jtree

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


JTree is a complex component. It has a 'root node' at the top most which is a parent
for all nodes in the tree. It inherits JComponent class.

Constrtuctors of JTree class

JTree(Hashtable ht) : The first form creates a tree in which each element of the hash
table ht is a child node.

JTree(Object obj[]): Each element of the array obj is a child node.

JTree(TreeNode tn):The tree node tn is the root of the tree.

Maharashtra state Board of Technical Education 37


Advanced Java Programming (22517)

JTree(Vector v):It uses the elements of vector v as child nodes.

Various Methods of JTree class :


1. getPathForLocation(): It is used to translate a mouse click on a specific point of
the tree to a tree path.

Syntax : TreePath getPathForLocation(int x,int y) where (x,y) are the coordinates at


which the mouse is clicked. The return value is as TreePath object that encapsulates
information about the tree node that was selected by the user.

TreeNode interface :It declares methods that obtain information about a tree node.

MutableTreeNode interface : It extends TreeNode.It declares methods that can insert


and remove child nodes or change the parent node.

DefaultMutableTreeNode class implements the MutableTreeNode interface.

It represents a node in a tree.

DefaultMutableTreeNode(Object obj):Here,obj is the object to be enclosed in this tree


node. The new tree node doesn’t have a parent or children. To create hierarchy of tree
nodes the add() can be used as

void add(MutableTreeNode child) :added child to the current node.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Develop a program to demonstrate the use of tree component in swing.
2. Write a program code to generate the following output

Maharashtra state Board of Technical Education 38


Advanced Java Programming (22517)

Figure 9
XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. State the use of JTree in Swing.
2. State the use of getPathForLocation() method.
3. List different packages used to implement JTree programs.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 39


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIII. Exercise
Write a Jtree program to show root directory and its subFolders of your System.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 40
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related(35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 41


Advanced Java Programming (22517)

Practical No. 8: Write a program to create a JTable

I. Practical Significance:
A table is a component that displays rows and columns of data. Students will be able
to use JTable class in Java which extends JComponent. The cursor can be dragged on
column boundaries to resize column.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications using swing components
The practical is expected to develop the following skills:
1. Able to implement the JTable with respective rows and columns.
2. Able to write the program using JTable and perform various operations on it.

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing)

V. Practical Outcome (PrOs)


Write a program to create a JTable on applet window/Frame

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


Tables are implemented by the JTable class, which extends JComponent.
Constructors of JTable:
1. JTable() : Creates a table with empty cells
2. JTable(Object data[ ][ ], Object colHeads[ ])
Here, data is a two-dimensional array of the information to be presented, and
colHeads
is a one-dimensional array with the column headings.

Here are the steps for using a table in an applet:


1. Create a JTable object.

Maharashtra state Board of Technical Education 42


Advanced Java Programming (22517)

2. Create a JScrollPane object. (The arguments to the constructor specify the table
and the policies for vertical and horizontal scroll bars.)
3. Add the table to the scroll pane.
4. Add the scroll pane to the content pane of the applet.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Develop a program to demonstrate the use of JTable.
2. Write a program code to generate the following output

Figure 10

Maharashtra state Board of Technical Education 43


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Name the superclass of JTable component.
2. How rows are inserted in table.
3. How to add JTable to JPanel ?

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 44


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a Java program to create a table of Name of Student, Percentage and Grade
of 10 students using JTable.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 45
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 46
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related(35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 47


Advanced Java Programming (22517)

Practical No. 9: Write a program to launch a JProgressBar

I. Practical Significance:
The JProgressBar class is used to display the progress of the task. Students will be
able to use JProgressBar to see the progress of the any task.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop standalone applications using swing components
The practical is expected to develop the following skills:
1. Able to implement the JProgressBar with its orientation.
2. Able to write the program using JProgressBar.

IV. Relevant Course Outcome(s)


Develop programs using GUI Framework (AWT and Swing)

V. Practical Outcome (PrOs)


Write a program to launch a JProgressBar

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


The JProgressBar class is used to display the progress of the task. We usually see the
progress bar while installation of some software is going on. It inherits JComponent
class.

Commonly used Constructors:


JProgressBar (): It is used to create a horizontal progress bar without progress string.

JProgressBar (int min, int max): It is used to create a horizontal progress bar with the
specified minimum and maximum value.
JProgressBar(int orient) : It is used to create a progress bar with the specified
orientation, it can be either Vertical or Horizontal by using
SwingConstants.VERTICAL and SwingConstants.HORIZONTAL constants.

Maharashtra state Board of Technical Education 48


Advanced Java Programming (22517)

JProgressBar(int orient, int min, int max) : It is used to create a progress bar with the
specified orientation, minimum and maximum value.

Commonly Used Methods:


Void addChangeListener(ChangeListener) : Used to add changeListener to progress
bar.

int getMaximum() : Get the Maximum value of progress bar.

int getMinimum() : Get the Minimum value of progress bar.

void setStringPainted(boolean b) : It is used to determine whether string should be


displayed.

void setString(String s) : It is used to set value to the progress string.

void setOrientation(int orientation) : It is used to set the orientation, it may be either


vertical or horizontal by using SwingConstants.VERTICAL and
SwingConstants.HORIZONTAL constants.

void setValue(int value) : It is used to set the current value on the progress bar.

VIII. Resources required (Additional)–

Nil
IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write a program code to generate the following output

Figure 11

Maharashtra state Board of Technical Education 49


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Name different Orientation of Progress Bar.
2. Explain the Purpose of setValue().
3. What is the use of minimum and maximum value of progressbar.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 50


Advanced Java Programming (22517)

XIII. Exercise
1. Develop a program to demonstrate the use of JProgressBar.
2. Write a Program using JProgressBar to show the progress of Progressbar when
user clicks on JButton.
(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 51


Advanced Java Programming (22517)

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 52


Advanced Java Programming (22517)

Practical No. 10: Write a program to demonstrate status of key on


Applet window such as KeyPressed, KeyReleased,
KeyUp, KeyDown.

I. Practical Significance:
A KeyEvent is generated when keyboard input occurs. When key is pressed, released
or typed, key event is generated. Students will be able to understand the method to
register an object and handle various key of Keyboards.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


Using this Practical, students will be able to generate different events .Also, they are
able to implement various methods for appropriate listener class and write and
execute programs accordingly.

IV. Relevant Course Outcome(s)


 Handle Events of AWT and Swing Components.
 Develop programs to handle events in Java Programming.

V. Practical Outcome (PrOs)


Write a program to demonstrate status of key on Applet window such as KeyPressed,
Key Released, KeyUp, and KeyDown

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


When keyboard input is occurred, a KeyEvent is generated. There are mainly three
types of key events that are recognized by integer constants as follows:

KEY_PRESSED, KEY_RELEASED, KEY_TYPED

When key is pressed or released, first two events are generated. When character is
pressed, the last event occurs. All Keys do not generate character. E.g. Shift Key

Maharashtra state Board of Technical Education 53


Advanced Java Programming (22517)

InputEvent is super class of KeyEvent.

The class which processes the KeyEvent should implement KeyListener interface.

The object of that class must be registered with a component. The object can be
registered using the addKeyListener () method.

Methods of KeyListener interface:

void keyPressed(KeyEvent e) : Invoked when a key is pressed

void keyReleased(KeyEvent e) : Invoked when a key has been released

void keyTyped(KeyEvent e) : Invoked when a key has been typed

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write a program to generate KeyEvent when a key is pressed and display “Key
Pressed” message.
2. Develop a program which will implement special keys such as function keys and
arrow keys.

Maharashtra state Board of Technical Education 54


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Name any four Event Listener interfaces.
2. State the situation when all three events of KeyListener interface are generated?

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 55


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Elaborate the terms Event, Source and Listener.
2. List various methods of ActionListener interface.
3. Develop a program to accept two numbers and display product of two numbers
when user pressed “Multiply” button.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 56


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 57


Advanced Java Programming (22517)

Practical No. 11: Write a program to demonstrate various mouse


events using MouseListener and MouseMotion
listener interface.

I. Practical Significance:
The MouseListener and MouseMotionListener interface are used to implement the
different types of events that are created when the mouse is clicked, dragged, dropped,
released, entered and exited in a component.
These two interfaces lets the user to handle the events and perform some action in that
event.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


Develop web and stand-alone applications using advanced concepts of Java.
The practical is expected to develop the following skills:
1. Able to implement the events of MouseListerner
2. Able to implement the events of MouseMotionListener.

IV. Relevant Course Outcome(s)


Develop Programs to handle events in java programming.

V. Practical Outcome (PrOs)


Write a program to demonstrate various mouse events using MouseListener and
MouseMotionListener interface

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


The java’s MouseListener interface allows the user to handle the events when the user
performs some events using mouse.The events are MouseClicked, MousePressed,
MouseEntered, MouseExited, and Mouse released.

The list of available methods are:


1. void mouseClicked(MouseEvent me)

Maharashtra state Board of Technical Education 58


Advanced Java Programming (22517)

2. void mouseEntered(MouseEvent me)


3. void mouseExited(MouseEvent me)
4. void mousePressed(MouseEvent me)
5. void mouseReleased(MouseEvent me)

In the similar way we can handle the events when mouse is moved or dragged. The
MouseMotion Interface defines the following methods.
1. void mouseDragged(MouseEvent me)
2. void mouseMoved(MouseEvent me)

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Debug the following Program code and write the output.

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

/* <APPLET CODE ="MouseDemo" WIDTH=300 HEIGHT=200> </APPLET> */


public class MouseDemo extends Applet implements MouseListener
{
Label l;
public void init()
{
setLayout(null);
l=new Label("Hello Mouse");
l.setBounds(50,150,200,100);
add(l);
}
public void mousePressed(MouseEvent e)
{
l.setText("Mouse Pressed no. of clicks:" + e.getClickCount() + "at
position" + e.getX() + ","+ e.getY());
}
public void mouseReleased(MouseEvent e)
{
l.setText("Mouse Released; # of clicks:"+e.getClickCount());
}

Maharashtra state Board of Technical Education 59


Advanced Java Programming (22517)

public void mouseEntered(MouseEvent e)


{
l.setText("Mouse Entered");
}
public void mouseExited(MouseEvent e)
{
l.setText("Mouse exited");
}
public void mouseClicked(MouseEvent e)
{
l.setText("mouse clicked(# of clicks:"+e.getClickCount());
}
}

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. List various methods of MouseListener and MouseMotionListener
2. Do all components generate the MouseEvent
3. Write the steps to obtain the coordinates of MouseClick
4. Write the steps to register for MosueEvents

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 60


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a program to change the background color of Applet when user performs
events using Mouse
2. Write a program to count the number of clicks performed by the user in a Frame
window
3. Write a program to demonstrate the use of mouseDragged and mouseMoved
method of MouseMotionListener
(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 61
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com/java-mouselistener
2. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students / Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 62


Advanced Java Programming (22517)

Practical No. 12: Write a program to demonstrate the use of


JTextField and JPasswordField using Listener Interface.

I. Practical Significance:
A password is used to authenticate the user to gain the access to website application
or device. The TextField control is used to accept the input from user. An interface is
used to implement the methods as per the users requirements and achieve the concept
of multiple inheritance in java.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


The practical is expected to develop the following skills:
1. Able to develop an application using JTextField
2. Able to develop an application using JPasswordField

IV. Relevant Course Outcome(s)


Handle events of AWT and Swing Components

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of JTextField and JPasswordField using
Listener Interface

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background

JPasswordField:
The JPasswordField allows the user to enter the input text in the form of password
characters. It inherits the JTextField class.

Maharashtra state Board of Technical Education 63


Advanced Java Programming (22517)

Constructors for JPasswordField:

JPasswordField() Constructs a new JPasswordField, with a default document, null


starting text string, and 0 column width.

JPasswordField Constructs a new empty JPasswordField with the specified


(int columns) number of columns.

JPasswordField Constructs a new JPasswordField initialized with the specified


(String text) text.

JPasswordField Construct a new JPasswordField initialized with the specified


(String text, text and columns.
int columns)

The JTextField: It allows the user to input the single line of text in JTextField component.
Only single line of text can be entered in the JTextField component of Swing control.

Constructors defined by the JTextField class are

Constructor Description

JTextField() Creates a new TextField

JTextField Creates a new TextField initialized with the specified text.


(String text)

JTextField Creates a new TextField initialized with the specified text and
(String text, columns.
int columns)

JTextField Creates a new empty TextField with the specified number of


(int columns) columns.

VIII. Resources required (Additional) –

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

Maharashtra state Board of Technical Education 64


Advanced Java Programming (22517)

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write a program using JPasswordField to set the password character as ‘#’ instead of ‘*’

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the use of setEchoChar() method with suitable example.
2. Write the advantages of using JPasswordField over JTextField
3. Which component can be used to accept the multiline input from user.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 65


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a program using JPasswordField and JTextField to demonstrate the use of user
authentication
2. Write a program using JTextField to perform the addition of two numbers.
3. Write a program using JPasswordField to accept password from user and if the length is
less than 6 characters then error message should be displayed “Password length must be
>6 characters”
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 66
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 67
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 68


Advanced Java Programming (22517)

Practical No. 13: Write a program to demonstrate the use of


WindowAdapter class

I. Practical Significance:
In listener interfaces implementation it is mandatory to implement all the methods
defined by the particular interface. To overcome this problem and to implement only
required methods java programming supports the concept of Adapter class. It lets the
user to implement only required methods.
This practical focuses on different types of Adapter classes and their practical
implementation.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


The practical is expected to develop the following skills:
1. Understand the concept and different types of adapter classes in java.
2. Develop an application using Adapter Class.

IV. Relevant Course Outcome(s)


Handle events of AWT and Swing Components

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of WindowAdapter class

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


An Adapter class is class which will allow the user to simplify the method
implementation. For example consider we are implementing the WindowListener
interface in this case we need to define all the methods of the WindowListener
interface such as listed below
1. void windowActivated(WindowEvent we)
2. void windowClosed(WindowEvent we)
3. void windowClosing(WindowEvent we)
4. void windowDeactivated(WindowEvent we)

Maharashtra state Board of Technical Education 69


Advanced Java Programming (22517)

5. void windowDeiconified(WindowEvent we)


6. void windowIconified(WindowEvent we)
7. void windowOpened(WindowEvent we)

Programmer need to give either empty implementation of the methods defined by the
WindowListener. To overcome this problem and to allow the user to implement only
required methods java provides a facility that is Adapter classes. Some of the Adapter
classes provided by the java language are listed below.
1. ComponentAdapter
2. ContainerAdapter
3. FocusAdapter
4. KeyAdapter
5. MouseAdapter
6. MouseMotionAdapter
7. WindowAdapter

These adapter classes allows the user to implement only required methods.

VIII. Resources required (Additional) –

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
Debug the following code and write the output of following code.

import java.awt.*;
import java.awt.event.*;
public class WindowDemo
{
Frame f;
WindowDemo()
{
f=new Frame("Window Adapter");
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
f.dispose();
}

Maharashtra state Board of Technical Education 70


Advanced Java Programming (22517)

};
f.setSize(400,400);
f.setLayout(null);
f.setVisible(false);
}
public static void main(String[] args)
{
new WindowDemo();
}
}

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the use of Adapter class
2. Write the differences between Adapter class and Listener Interface
3. Write the use of anonymous inner class.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 71


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a program to demonstrate the use of WindowAdapter class
2. Write a program to demonstrate the use of anonymous inner class
3. Write a program using MouseMotionAdapter class to implement only one method
mouseDragged().
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 72
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 73
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com/java-adapter-classes
2. The complete reference Java 2 by Herbert schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 74


Advanced Java Programming (22517)

Practical No. 14: Write a program to demonstrate the use of


InetAddress class and its factory methods.
I. Practical Significance:
Java provides support for communication between two or more computers by the way
of socket programming. It provides the classes for both the protocols that is UDP and
TCP. Socket lets the user to create a client server communication in the network and
share the data/information in it.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop a program using InetAddress class
The practical is expected to develop the following skills:
1. Able to use the factory methods of InetAddress class
2. Able to write program using different constructors of the InetAddress class.

IV. Relevant Course Outcome(s)


Develop java programs using networking components

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of InetAddress class and its factory methods

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


The java’s InetAddress encapsulates an IP address and used by the other networking
classes such as Socket, ServerSocket, URL, DatagramSocket, DatagramPacket. It is
used to represent both numerical and the domain name of the machine. InetAddress
can handle both IPV4 and IPV6.The InetAddress class has no visible constructors and
it uses the following factory methods.
1. static InetAddress getLocalHost( ) throws UnknownHostException
2. static InetAddress getByName(String hostName) throws UnknownHostException
3. static InetAddress[ ] getAllByName(String hostName) throws
unknownHostException

Maharashtra state Board of Technical Education 75


Advanced Java Programming (22517)

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Execute the following code and write the output

import java.io.*;
import java.net.*;
public class InetDemo
{
public static void main(String[] args)
{
try
{
InetAddress ip=InetAddress.getByName("localhost");
System.out.println("Host Name: "+ip.getHostName());
System.out.println("IP Address: "+ip.getHostAddress());
}
catch(Exception e){System.out.println(e);}
}
}

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write any four differences between IPV4 and IPV6
2. Write the use of getByName() and getAllByName() method.
3. Write the steps to assign IP address to your machine

Maharashtra state Board of Technical Education 76


Advanced Java Programming (22517)

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 77


Advanced Java Programming (22517)

XIII. Exercise
1. Develop a program using InetAddress class to retrieve IP address of computer
when hostname is entered by the user.
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 78


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com/InetAddress-class
2. https://www.onlyjavatech.com/inetaddress-class-in-java
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 79


Advanced Java Programming (22517)

Practical No. 15: Write a program to demonstrate the use of URL


and URLConnection class and its methods

I. Practical Significance:
The Uniform resource locator in java allows the user to access the particular file or
resource which might be stored on any local or remote machine. The URL specifies
the complete path by which user can access file. It contains protocol address, port
number and location of the particular resource.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop a program using URL and URLConnection class
The practical is expected to develop the following skills:
1. Able to identify different types of ports and protocols
2. Able to develop an application using URL and URLConnection class.

IV. Relevant Course Outcome(s)


Develop java programs using networking components

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of URL and URLConnection class and its
methods
VI. Relevant Affective domain related Outcome(s)
1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


The URL provides easy to understand format to uniquely identify or address
information on the internet. URLs are ample; every browser uses them to identify
information on the Web. URL class provides a simple, concise API to access
information across the Internet using URLs.
URLConnection is a class which is used to access the attributes of remote resource.
Once we made a connection to the remote resource, we are ready to use
URLConnection to check the properties of remote object before actually transporting
it locally.

Maharashtra state Board of Technical Education 80


Advanced Java Programming (22517)

The URL and URLConnection classes are good enough for simple programs that want
to connect to HTTP servers to fetch content.
List of URL Class Methods and Constructors:
1. public URL (String protocol, String host, int port, String file) throws
MalformedURLException
2. public URL (String protocol, String host, String file) throws
MalformedURLException
3. public URL(String url) throws MalformedURLException
4. public URL(URL context, String url) throws MalformedURLException
Methods:
1. public String getPath()
2. public String getAuthority()
3. public String getHost()
4. public String getFile()

List of URLConnection class Methods and Constructors:


The openConnection() method returns a java.net.URLConnection, an abstract class
whose subclasses represent the various types of URL connections.
Methods:
1. Object getContent()
2. String getContentEncoding()
3. int getContentLength()
4. String getContentType()
5. public URL getURL()

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Execute the following code and write the output
import java.net.*;
class URLDemo
{
public static void main(String args[]) throws MalformedURLException
{
URL hp = new URL("https://www.javatpoint.com/javafx-tutorial");
System.out.println("Protocol: " + hp.getProtocol());
System.out.println("Port: " + hp.getPort());

Maharashtra state Board of Technical Education 81


Advanced Java Programming (22517)

System.out.println("Host: " + hp.getHost());


System.out.println("File: " + hp.getFile());
System.out.println("Ext:" + hp.toExternalForm());
}
}

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the use of openConnection() method of URLConnection class.
2. Write the name of exception that can be thrown by URL class
3. Name the package in which URL class is defined.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 82


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a program using URL class to retrieve the host, protocol, port and file of
URL http://www.msbte.org.in
2. Write a program using URL and URLConnection class to retrieve the date,
content type, content length information of any entered URL
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 83
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt
4. https://tomcat.apache.org/download-80.cgi

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 84


Advanced Java Programming (22517)

Practical No. 16: Write a program to implement chat Server using


Server Socket and Socket Class.

I. Practical Significance:
Java provides the socket programming approach for communication between the
client and server. A user can write the code for both client and server as well for UDP
& TCP datagram packets. By using java’s network communication feature we can
create interactive application to communicate within a network.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


The practical is expected to develop the following skills:
1. Able to develop an application using Socket and ServerSocket class
2. Able to create a chat application in client server environment.

IV. Relevant Course Outcome(s)


Develop java programs using networking components

V. Practical Outcome (PrOs)


Write a program to implement chat server using ServerSocket and Socket class.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices

VII. Minimum Theoretical Background


The ServerSocket class is used to create servers that listen for either local port or
remote client programs to connect to them on published ports.

Constructors for ServerSocket class


1. public ServerSocket(int port) throws IOException
2. public ServerSocket(int port, int backlog) throws IOException
3. public ServerSocket(int port, int backlog, InetAddress address) throws
IOException
4. public ServerSocket() throws IOException

Maharashtra state Board of Technical Education 85


Advanced Java Programming (22517)

Methods for ServerSocket class


1. public int getLocalPort()
2. public Socket accept() throws IOException
3. public void setSoTimeout(int timeout)
4. public void bind(SocketAddress host, int backlog)

The java.net.Socket class is used to communicate between client and server.The client
can obtain object by creating its instance whereas the server obtains a Socket object
from the return value of the accept() method.

Constructors for Socket class:


1. public Socket(String host, int port) throws UnknownHostException, IOException.
2. public Socket(InetAddress host, int port) throws IOException
3. public Socket(String host, int port, InetAddress localAddress, int localPort) throws
IOException.
4. public Socket(InetAddress host, int port, InetAddress localAddress, int localPort)
throws IOException.
5. public Socket()

Methods for Socket class:


1. public void connect(SocketAddress host, int timeout) throws IOException
2. public InetAddress getInetAddress()
3. public int getPort()
4. public int getLocalPort()
5. public void close() throws IOException

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write a program to check credentials of users (Client will send user id and
password to server and server will authenticate the client using equals())

Maharashtra state Board of Technical Education 86


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the default port of used by various services such as FTP, SMTP, HTTP.
2. Write the constructor to allow the server for waiting queue
3. Write the function of Connect(), Bind()

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 87


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a program using Socket and ServerSocket to create Chat Application
2. Write a program to develop prime number Server (Client will send any number to
server, Sever will send the response the number is prime or not)
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 88


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

XIV. References/ Suggestions for Further Reading


1. https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html
2. https://www.tutorialspoint.com/java/java_networking.htm
3. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 89


Advanced Java Programming (22517)

Practical No. 17: Write a program to demonstrate use of


DatagramSocket and DataGramPacket

I. Practical Significance:
The User Datagram Protocol (UDP) is connectionless, and unreliable protocol by
which the user can send short messages called datagrams. The java provides
DatagramSocket and DatagramPacket class to implement the concept of user
datagram protocol. By using these classes we can transfer the data asynchronous
manner.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


Develop web and stand-alone applications using advanced concepts of Java.
The practical is expected to develop the following skills:
1. Able to create chat application using DatagramSocket and DatagramPacket
2. Able to understand the implementation details of UDP in java.

IV. Relevant Course Outcome(s)


Develop Java programs using networking concepts

V. Practical Outcome (PrOs)


Write a program to demonstrate use of DatagramSocket and DataGram Packet

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background

The Java DatagramSocket class is used to send and receive the datagrams it is
connection less socket. That is there is no guarantee of message delivery.
It has following constructors
1. DatagramSocket()
2. DatagramSocket(int port)
3. DatagramSocket(int port, InetAddress address)

Maharashtra state Board of Technical Education 90


Advanced Java Programming (22517)

The Java DatagramPacket is class that can be used to send the packets. If you send
multiple packet, it may arrive in any order. Additionally, packet delivery is not
guaranteed.
It has following constructors
1. DatagramPacket(byte[] barr, int length)
2. DatagramPacket(byte[] barr, int length, InetAddress address, int port)

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Execute the following Program and write the output.
import java.net.*;
public class DgramRec
{
public static void main(String[] args) throws Exception
{
DatagramSocket ds = new DatagramSocket(3000);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, 1024);
ds.receive(dp);
String str = new String(dp.getData(), 0, dp.getLength());
System.out.println(str);
ds.close();
}
}

import java.net.*;
public class DGramSender
{
public static void main(String[] args) throws Exception
{
DatagramSocket ds = new DatagramSocket();
String str = "Java is Easy!!!!!";
InetAddress ip = InetAddress.getByName("127.0.0.1");
DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(),
ip, 3000);
ds.send(dp);
ds.close();
}

Maharashtra state Board of Technical Education 91


Advanced Java Programming (22517)

Note: Run the two programs on separate command prompt.

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the difference between SeverSocket and DatagramPacket
2. Why UDP is unreliable protocol.
3. Write the steps to assign IP address to your machine

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 92


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Write a program using DatagramPacket and DatagramSocket to create chat
application
2. Write a program using DatagramPacket and DataGramSocket to copy the contents
of one file into other
3. Write a program using DatagramPacket and DatagramSocket to transfer the file
from one location to another.
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 93


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com/DatagramSocket-and-DatagramPacket
2. The complete reference Java 2 by Herbert Schildt

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process
Product Related(15) Total(50)
Related(35)

Maharashtra state Board of Technical Education 94


Advanced Java Programming (22517)

Practical No. 18: Write a program to insert and retrieve data from
database using JDBC.
I. Practical Significance:
ODBC isn't appropriate for direct use from the Java programming language because it
uses a C interface. The JDBC API was modeled after ODBC, but, because JDBC is a
Java API, it offers a natural Java interface for working with SQL. JDBC is needed to
provide a "pure Java" solution for application development.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop Dynamic web Application
The practical is expected to develop the following skills:
1. Able to apply the JDBC to create table , and insert data in a table.
2. Able to demonstrate the use of various JDBC driver and tier application.

IV. Relevant Course Outcome(s)


Develop programs using JDBC

V. Practical Outcome (PrOs)


Write a program to insert and retrieve data from database using JDBC

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


JDBC API enables the application to interact with the different types of databases.
It is possible to publish vital information from a remote database on a webpage using the Java
applet. JDBC is a low level API is used to invoke or call SQL command directly. The
required SQL statements are passed as a 'string' to java methods.

Maharashtra state Board of Technical Education 95


Advanced Java Programming (22517)

Figure 12

Some of the current JDK add more features to JDBC that is embedded SQL which
makes direct mapping of relational databases to java classes. Embedded SQL enables
mixing of java into a SQL statement These statements are translated into JDBC calls
using SQL processor. In this type of direct mapping, each row of the table becomes
an instance of class and each column value corresponds to an attribute of that
instance.

 JDBC DRIVERS:-
1. JDBC-ODBC Bridge: -.
2. Native-API: - partly java Driver: -
3. JDBC-Network pure java driver:
4. Native_protocol (100%) pure Java drivers: -

 STEPS FOR USING JDBC


There are seven steps for using JDBC to access a database.
1. Import the Package: -
2. Register Driver or If register then load driver using Class.forName()-
3. Connect to Database:-
4. Create a Statement:-
5. .Execute the Statement:-
6. Retrieve the Results: -

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1 MS-Access MS-Office 2010

2 My-Sql Server My-Sql Sever above 5.5

Maharashtra state Board of Technical Education 96


Advanced Java Programming (22517)

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Write a Program to create a Student Table in database and insert a record in a


Student table.
2. Write the output of following code
3.
// Create DSN Named as MSBTE using Administrative tool from control Panel.
// This program uses types I driver JDBC ODBC bridge.

import java.sql*;
class JdbcDemo
public static void main (String args[])
{
try
{
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
System.out. println(" Driver loaded");
String url= "jdbc:odbc:MSBTE";
Connection cn= DriverManager.getConnection(url);
System.out.println("Connection to the database created");
Statement st= cn.createStatement();
String str= "select* from student";
ResultSet rs=st.executeQuery(str);
String text=" ";
System.out.println("Roll Number \t Name");
while(rs.next())
{
text= text+rs.getInt(1)+"\t"+rs.getString(2)+"\n";
}
System.out.print(text);
St.close();
cn.close();
}
catch (SQLExccpt.ion s)
{System.out.println("sql error");}
}

Maharashtra state Board of Technical Education 97


Advanced Java Programming (22517)

XI. (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. List the advantages of JDBC over ODBC?
2. Write the Use of Class.forName()?
3. Write the steps to establish DSN oriented connection and DSNLess connection.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 98


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Develop a program to create employee table in database having two columns
“emp_id” and “emp_name”.
2. Develop a program to display the name and roll_no of students from “student
table” having percentage > 70.

Maharashtra state Board of Technical Education 99


Advanced Java Programming (22517)

(Space for Answer)


.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 100


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt
4. ftp://ftp.icm.edu.pl/packages/javasoft-docs/jdk1.1/jdbc.pdf

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process
Product Related(15) Total(50)
Related(35)

Maharashtra state Board of Technical Education 101


Advanced Java Programming (22517)

Practical No. 19: Write a program to demonstrate the use of


PreparedStatement and ResultSet interface.
I. Practical Significance:
A Java JDBC PreparedStatement is a special kind of Java JDBC Statement object
with some useful additional features. Remember, we need a Statement in order to
execute either a query or an update. We can use a Java
JDBC PreparedStatement instead of a Statement and benefit from the features of
the PreparedStatement.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop Dynamic web Application
The practical is expected to develop the following skills:
1. Able to apply JDBC to insert update modify and delete the data from Database.
2. Able to demonstrate the use of PreparedStatement and ResultSet Interface.

IV. Relevant Course Outcome(s)


Develop programs using JDBC

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of PreparedStatement and ResultSet interface.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


Prepared Statement Interface
PreparedStatement helps us in preventing SQL injection attacks because it
automatically escapes the special characters. PreparedStatement allows us to execute
dynamic queries with parameter inputs. PreparedStatement provides different types of
setter methods to set the input parameters for the query. PreparedStatement is faster
than Statement. It becomes more visible when we reuse the PreparedStatement or use
it’s batch processing methods for executing multiple queries. PreparedStatement helps
us in writing object Oriented code with setter methods whereas with Statement we

Maharashtra state Board of Technical Education 102


Advanced Java Programming (22517)

have to use String Concatenation to create the query. If there are multiple parameters
to set, writing Query using String concatenation looks very ugly and error prone.
PreparedStatement returns FORWARD_ONLY ResultSet, so we can only move in
forward direction. Unlike Java Arrays or List, the indexing of PreparedStatement
variables starts with 1.

One of the limitation of PreparedStatement is that we can’t use it for SQL queries
with IN clause because PreparedStatement doesn’t allow us to bind multiple values
for single placeholder (?).

Methods of Prepared Statements.


1. public void setInt(int paramIndex, int value):-sets the integer value to the given
parameter index.
2. public void setString(int paramIndex, String value) :-sets the String value to the
given parameter index.
3. public void setFloat(int paramIndex, float value):- sets the float value to the
given parameter index.
4. public void setDouble(int paramIndex, double value):-sets the double value to the
given parameter index.
5. public int executeUpdate() :-executes the query. It is used for create, drop, insert,
update, delete etc.
6. public ResultSet executeQuery() :-executes the select query. It returns an instance
of ResultSet.

ResultSet Interface
The SQL statements that read data from a database query, return the data in a result
set. The SELECT statement is the standard way to select rows from a database and
view them in a result set. The java.sql.ResultSet interface represents the result set of a
database query.

A ResultSet object maintains a cursor that points to the current row in the result set.
The term "result set" refers to the row and column data contained in a ResultSet
object.
The methods of the ResultSet interface can be broken down into three categories −
 Navigational methods: Used to move the cursor around.
 Get methods: Used to view the data in the columns of the current row being
pointed by the cursor.
 Update methods: Used to update the data in the columns of the current row. The
updates can then be updated in the underlying database as well.
is movable based on the properties of the ResultSet. These properties are designated
when the corresponding Statement The cursor that generates the ResultSet is created.
JDBC provides the following connection methods to create statements with desired
ResultSet −
 createStatement(int RSType, int RSConcurrency);
 prepareStatement(String SQL, int RSType, int RSConcurrency);
 prepareCall(String sql, int RSType, int RSConcurrency);

The methods of the ResultSet interface can be broken down into three categories −
 Navigational methods: Used to move the cursor around.

Maharashtra state Board of Technical Education 103


Advanced Java Programming (22517)

 Get methods: Used to view the data in the columns of the current row being
pointed by the cursor.
 Update methods: Used to update the data in the columns of the current row. The
updates can then be updated in the underlying database as well.
JDBC provides the following connection methods to create statements with desired
ResultSet −
 createStatement(int RSType, int RSConcurrency);
 prepareStatement(String SQL, int RSType, int RSConcurrency);
 prepareCall(String sql, int RSType, int RSConcurrency);

The first argument indicates the type of a ResultSet object and the second argument is
one of two ResultSet constants for specifying whether a result set is read-only or
updatable.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
1 MySql Server 5.5

2 JDK 1.6

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Write a Program to update row of student table from MSBTE database using
Mysql 5.5 a database server.
2. Write the output of following JDBC code. Use Mysql server 5.5 as database
server

import java.sql
public class PreparedStmtEx
{
public static void main(String args[])
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:33
06/YourDBname","DBuserna me","DBpassword");
//keep “” empty if not given during installation
PreparedStatement stmt=con.prepareStatement("insert into
student values(?,?,?)");

Maharashtra state Board of Technical Education 104


Advanced Java Programming (22517)

stmt.setInt(1,101);
//1 specifies the first parameter(1st ? symbol) in the query
stmt.setString(2,"Abhishek");
//2 specifies the second parameter(2nd ? symbol) in the query
stmt.setString(3,"Yadav");
//3 specifies the third parameter(3rd ? symbol) in the query
int i=stmt.executeUpdate();
System.out.println(i+" records inserted");
con.close();
}
catch(Exception e)
{
System.out.println(e);}
}
}

Maharashtra state Board of Technical Education 105


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Explain Advantages of Prepared Statement Interface.
2. Explain the methods of ResultSet Interface
3. Explain Types of ResultSet
4. Explain disadvantages of Prepared Statements

(Space for answer)


.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 106


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Develop JDBC program to retrieve data using ResultSet
2. Develop a program to update a record in database table
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 107


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
Maharashtra state Board of Technical Education 108
Advanced Java Programming (22517)

1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt
4. JDBC Developer's Resource by Art Taylor JDBC Developer's Resource by Art
Taylor

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 109


Advanced Java Programming (22517)

Practical No. 20: Write a program to update and delete a record


from a database table.
I. Practical Significance:
The UPDATE command is used to modify the records in the table. Upon executing
this command the record values are modified based on values passed in the query.
Along with WHERE clause you can update the specific records from the table.
The SQL DELETE command is used to delete rows that are no longer required from
the database tables. It deletes the whole row from the table. Delete command comes in
handy to delete temporary or obsolete data from your database.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop Dynamic web Application
The practical is expected to develop the following skills:
1. Able to Apply the JDBC to update and Delete a record
2. Able to Demonstrate the use of Update and Delete with where clause.

IV. Relevant Course Outcome(s)


Develop programs using JDBC

V. Practical Outcome (PrOs)


Write a program to update and delete a record from a database table

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


DML statements are SQL statements that manipulate data. DML stands for Data
Manipulation Language. The SQL statements that are in the DML class are INSERT,
UPDATE and DELETE. Some people also lump the SELECT statement in the DML
classification.

The SQL UPDATE Statement

Maharashtra state Board of Technical Education 110


Advanced Java Programming (22517)

The UPDATE statement is used to modify the existing records in a table.


UPDATE Syntax
UPDATE table_name
SET column1 = value1, column2 = value2,
WHERE condition;

SET statement is used to set new values to the particular column and
the WHERE clause is used to select the rows for which the columns are needed to be
updated. If we have not used the WHERE clause then

The SQL DELETE Statement

The DELETE statement is used to delete existing records in a table.

DELETE Syntax
DELETE FROM table_name WHERE condition;
the columns in all the rows will be updated.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
Mysql Database
1 5.5
server

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write a program to delete a record from a table.
2. Write the output of following JDBC code.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class UpdateQuery
{
public static void main(String [] args)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:33
06/Ddemodatabase","root","root");

Maharashtra state Board of Technical Education 111


Advanced Java Programming (22517)

PreparedStatement st = con
.prepareStatement("update student set roll_no=3 where
name='Abhishek'");
st.executeUpdate();
}
catch(Exception ex)
{
System.out.println(ex);
}
}
}

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write ACID properties of Transaction.
2. Write the use of DDL DML and DCL
3. Write the use of Delete Cascade.
4. Write the use of Update Cascade.

(Space for answer)

Maharashtra state Board of Technical Education 112


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 113
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Develop a program to update name of a student from Jack to John.
2. Develop a program to delete all record for a product whose "price is greater than
500" and Id is "P1234".
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 114


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt
4. https://tomcat.apache.org/download-80.cgi

XV. Assessment Scheme

Performance Indicators Weightage


Process related(35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process
Product Related(15) Total(50)
Related(35)

Maharashtra state Board of Technical Education 115


Advanced Java Programming (22517)

Practical No. 21: Write a program to demonstrate the use of Generic


Servlet as a parameterized servlet

I. Practical Significance:
Servlets are the Java programs that run on the Java-enabled web server or application
server. They are used to handle the request obtained from the web server, process the
request, produce the response, and then send response back to the web server.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop Dynamic web Application
The practical is expected to develop the following skills:
1. Able to apply the servlet for dynamic web application.
2. Able to demonstrate the use of servlet for parameter received from client.

IV. Relevant Course Outcome(s)


Develop programs using Servlet

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of HttpServlet as a parameterized servlet

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


Servlets are the Java programs that run on the Java-enabled web server or application
server. They are used to handle the request obtained from the web server, process the
request, produce the response, and then send response back to the web server.

The Servlet Container


Servlet container, also known as Servlet engine is an integrated set of objects that
provide run time environment for Java Servlet components.
In simple words, it is a system that manages Java Servlet components on top of the
Web server to handle the Web client requests.
The ServletRequest class includes methods that allow you to read the names and

Maharashtra state Board of Technical Education 116


Advanced Java Programming (22517)

values of parameters that are included in a client request.

Steps to Develop Servlet


Install Apache Tomcat 8.0

To develop servlet basic steps are

1. Create and compile the servlet source code.


D:\Sanjay_LabManual>javac HelloMSBTE.java -classpath "C:\Program
Files\Apache Software Foundation\Tomcat 8.0\lib\servlet-api.jar"

2. Copy created .class file HelloMSBTE.class in web Container i.e


C:\Program Files\Apache Software Foundation\Tomcat 8.0\ webapps\ examples\
WEB-INF\classes

3. Start Tomcat.
To start Tomcat, select Start Tomcat in the Start | Programs menu, or run
startup.bat
from the C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin

4. Start a Web browser and request the servlet.


http://localhost:8080/examples/servlets/servlet/HelloMSBTE

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
Web Server Apache Tomcat 8.0 with
1
Software JRE.

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Write a Program to display following output in browser Window.

Maharashtra state Board of Technical Education 117


Advanced Java Programming (22517)

Figure 12

2. Write the output of following code considering below HTML is front end and
servlet as back end

<html>
<body>
<center>
<form name="Form1" method="post"
action="http://localhost:8080/examples/servlet/PostParametersServlet">
<table>
<tr>
<td><B>Employee</td>
<td><input type=textbox name="e" size="25" value=""></td>
</tr>
<tr>
<td><B>Phone</td>
<td><input type=textbox name="p" size="25" value=""></td>
</tr>
</table>
<input type=submit value="Submit">
</body>
</html>

import java.io.*;
import java.util.*;
import javax.servlet.*;

public class PostParametersServlet extends GenericServlet


{
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException
{

Maharashtra state Board of Technical Education 118


Advanced Java Programming (22517)

PrintWriter pw = response.getWriter();
// Get enumeration of parameter names.
Enumeration e = request.getParameterNames();
// Display parameter names and values.
while(e.hasMoreElements())
{
String pname = (String)e.nextElement();
pw.print(pname + " = ");
String pvalue = request.getParameter(pname);
pw.println(pvalue);
}
pw.close();
}
}

(Space for Answer)

Maharashtra state Board of Technical Education 119


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. List the types and uses of Servlet
2. List the advantages of Servlet over CGI?
3. Draw the servlet life cycle?
4. What is servlet container?

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 120


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Develop servlet program to print Hello MSBTE in browser window.
2. Develop a program to receive the parameter through HTML forms and send back
received parameter to browser.
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 121


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert Schildt
4. https://tomcat.apache.org/download-80.cgi

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process
Product Related(15) Total(50)
Related(35)

Maharashtra state Board of Technical Education 122


Advanced Java Programming (22517)

Practical No. 22: Write a Servlet program to send username and


password using HTML forms and authenticate the
user.
I. Practical Significance:
There is a possibility of developing ‘n’ types of servlets, like httpservlet, ftpservlet,
smtpservlet etc. for all these protocol specific servlet classes GenericServlet is the
common super class containing common properties and logics. So, GenericServlet is
not a separate type of servlet.
As of now Servlet API is giving only one subclass to GenericServlet i.e HttpServlet
class because all web servers are designed based on the protocol http.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop Dynamic web Application
The practical is expected to develop the following skills:
1. Able to apply the servlet program for dynamic web application.
2. Able to demonstrate the use of servlet for parameter received from client.

IV. Relevant Course Outcome(s)


Develop programs using Servlet.

V. Practical Outcome (PrOs)


Write a program to demonstrate the use of HttpServlet as a parameterized servlet

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


Generic servlets extend javax.servlet.GenericServlet - It is protocol independent
servlet. Generic Servlet is a base class servlet from which all other Servlets are
derived. Generic Servlet supports for HTTP, FTP and SMTP protocols. It implements
the Servlet and ServletConfig interface. It has only init() and destroy() method of
ServletConfig interface in its life cycle. It also implements the log method of
ServletContext interface.

Maharashtra state Board of Technical Education 123


Advanced Java Programming (22517)

HTTP servlets extend javax.servlet.HttpServlet - HTTPServlet is HTTP dependent


servlet. The HTTP protocol is a set of rules that allows Web browsers and servers to
communicate. When Web browsers and servers support the HTTP protocol, Java-
based web applications are dependent on HTTP Servlets. HttpServlet is Extended by
Generic Servlet. It provides an abstract class for the developers for extend to create
their own HTTP specific servlets.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr. Name of
Broad Specification Quantity Remarks (If any)
No. Resource
Web Server Apache Tomcat 8.0
1
Software with JRE.

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Write a Program to send the username to server and server will send the length of
username to client.
2. Write the output of following code cosidering below HTML is front end and
servlet as back end

loginpage.html
<html>
<body>
<form action="
http://localhost:8080/examples/servlets/servlet/AthonticationServlet”
method=”POST”>
User Name:<input type="text" name="username"><br>
Password:<input type="password" name="password" ><br>
<input type="submit">
</form>
</body>
</html>

//AthonticationServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

Maharashtra state Board of Technical Education 124


Advanced Java Programming (22517)

import javax.servlet.http.HttpServletResponse;

public class AthonticationServlet extends HttpServlet


{
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String pass="abhishek12345";
String username,password;
username=request.getParameter("username");
password=request.getParameter("password");
if(username.equals(uname) && password.equals(pass))
{
out.println("Login Successfull");
}
else
{
out.println("Login Unsuccessfull");
}
}
}
(Space for Answer)

Maharashtra state Board of Technical Education 125


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. List the types of servlet and default port for there services.
2. List the difference between doGet() and doPost() method of servlet.
3. Explain ServletConfig and ServletContext.
4. Explain ServletInputStream Class and ServletOutputStream Class with methods.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 126


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Develop servlet program to retrieve data from List and Radio Button using HTML
Forms.
2. Develop a program to receive student subject marks through HTML forms
TextField and send the response as passed or Failed in Examination...
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 127
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 128
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt
4. https://tomcat.apache.org/download-80.cgi

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature of
Marks Obtained
Teacher
Process
Product Related(15) Total(50)
Related(35)

Maharashtra state Board of Technical Education 129


Advanced Java Programming (22517)

Practical No. 23: Write a Servlet program to Create Session using


HttpSession Interface.
I. Practical Significance:
container creates a session id for each user. The container uses this id to identify the
particular user. An object of HttpSession can be used to perform two tasks:
1. bind objects
2. view and manipulate information about a session, such as the session identifier,
creation time, and last accessed time.

II. Relevant Program Outcomes (POs)


 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop Dynamic web Application
The practical is expected to develop the following skills:
1. Able to develop a servlet program to retrieve the session ID.
2. Able to develop Servlet program to track the user session

IV. Relevant Course Outcome(s)


Develop programs using Servlet.

V. Practical Outcome (PrOs)


Write a Servlet program to Create Session using HttpSession class.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background


The Http Servlet Request interface provides two methods to get the object of
HttpSession:
1. public HttpSession getSession():Returns the current session associated with this
request, or if the request does not have a session, creates one.
2. public HttpSession getSession(boolean create):Returns the current HttpSession
associated with this request or, if there is no current session and create is true,
returns a new session

Maharashtra state Board of Technical Education 130


Advanced Java Programming (22517)

Commonly used methods of HttpSession interface


1. public String getId():Returns a string containing the unique identifier value.
2. public long getCreationTime():Returns the time when this session was created,
measured in milliseconds since midnight January 1, 1970 GMT.
3. public long getLastAccessedTime():Returns the last time the client sent a request
associated with this session, as the number of milliseconds since midnight January
1, 1970 GMT.
4. public void invalidate():Invalidates this session then unbinds any objects bound
to it.
VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
Web Server Apache Tomcat 8.0
1
Software with JRE.

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.

1. Write a Program to Session id and Session time in Browser Window.


2. Write the output of following code considering below HTML is front end and
servlet as back end

<html>
<body>
<form action="
http://localhost:8080/examples/servlet/SessionServlet">
Name:<input type="text" name="userName"/><br/>
<input type="submit" value="go"/>
</form>
</body>
</html>

//SessionServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SessionServlet extends HttpServlet


{
public void doGet(HttpServletRequest request, HttpServletResponse response)
{
try

Maharashtra state Board of Technical Education 131


Advanced Java Programming (22517)

{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
HttpSession session=request.getSession();
session.setAttribute("uname",n);
out.print("<a href='servlet2'>visit</a>");
out.close();
}
catch (Exception e) {System.out.println(e);}
}
}
(Space for Answer)

Maharashtra state Board of Technical Education 132


Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Explain Session ID.
2. Explain Methods of HttpSession ?
3. Explain the session management in detail .?
4. Explain Session hijacking and session poisoning in Java Servlet.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 133


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Develop servlet program to display various details about session using
HttpSession methods.
2. Develop a program to display last accessed time of session. And Expire the
session with specified time
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 134
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 135
Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt
4. https://tomcat.apache.org/download-80.cgi

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process
Product Related(15) Total(50)
Related(35)

Maharashtra state Board of Technical Education 136


Advanced Java Programming (22517)

Practical No. 24: Write a Servlet program to implement session


tracking using Cookies.
I. Practical Significance:
Session Tracking is a way to maintain state (data) of an user. It is also known
as session management in servlet. Http protocol is a stateless so we need to maintain
state using session tracking techniques. Each time user requests to the server, server
treats the request as the new request. So we need to maintain the state of an user to
recognize to particular user. HTTP is stateless that means each request is considered
as the new request.
II. Relevant Program Outcomes (POs)
 Basic knowledge: Apply knowledge of basic mathematics, sciences and basic
engineering to solve the computer group related problems.
 Discipline knowledge: Apply Computer Programming knowledge to solve the
computer group related problems.
 Experiments and practice: Plan to perform experiments and practices to use the
results to solve the computer group related problems.
 Engineering tools: Apply relevant Computer programming / technologies and
tools with an understanding of the limitations.
 Individual and Team work: Function effectively as a leader and team member in
diverse/multidisciplinary teams.
 Communication: Communicate effectively in oral and written form.

III. Competency and Practical skills


To develop Dynamic web Application
The practical is expected to develop the following skills:
1. Able to apply the servlet for session tracking.
2. Able to demonstrate the use of session tracking with various methods.

IV. Relevant Course Outcome(s)


Develop programs using Servlet

V. Practical Outcome (PrOs)


Write a Servlet program to implement session tracking using Cookies.

VI. Relevant Affective domain related Outcome(s)


1. Follow precautionary measures.
2. Follow naming conventions.
3. Follow ethical practices.

VII. Minimum Theoretical Background

Cookies
A webserver can assign a unique session ID as a cookie to each web client and for
subsequent requests from the client they can be recognized using the received cookie.

This may not be an effective way because many time browser does not support a
cookie, so I would not recommend to use this procedure to maintain the sessions.

Maharashtra state Board of Technical Education 137


Advanced Java Programming (22517)

Hidden Form Fields


A web server can send a hidden HTML form field along with a unique session ID as
follows −
<input type = "hidden" name = "sessionid" value = "12345">

URL Rewriting
You can append some extra data on the end of each URL that identifies the session,
and the server can associate that session identifier with data it has stored about that
session.

The HttpSession Object


Apart from the above mentioned three ways, servlet provides HttpSession Interface
which provides a way to identify a user across more than one page request or visit to a
Web site and to store information about that user.

Types of Cookie
There are 2 types of cookies in servlets.
1. Non-persistent cookie
2. Persistent cookie

Non-persistent cookie
It is valid for single session only. It is removed each time when user closes the
browser.

Persistent cookie
It is valid for multiple session. It is not removed each time when user closes the
browser. It is removed only if user logout or sign-out.

javax.servlet.http.Cookie class provides the functionality of using cookies. It


provides a lot of useful methods for cookies.

Other methods required for using Cookies


For adding cookie or getting the value from the cookie, we need some methods
provided by other interfaces. They are:
1. public void addCookie(Cookie ck):method of HttpServletResponse interface is
used to add cookie in response object.
2. public Cookie[] getCookies():method of HttpServletRequest interface is used to
return all the cookies from the browser.

VIII. Resources required (Additional)–

Nil

IX. Resources used (Additional)

Sr.
Name of Resource Broad Specification Quantity Remarks (If any)
No.
Web Server Apache Tomcat 8.0 with
1
Software JRE.

Maharashtra state Board of Technical Education 138


Advanced Java Programming (22517)

X. Program Code: Teacher must assign a separate program statement to group of


3-4 students.
1. Write a Program to Create Cookie.
2. Write the output of following servlet code

index.html
<form action=" http://localhost:8080/examples/servlet /servlet1" method="post">
Name:<input type="text" name="userName"/><br/>
<input type="submit" value="go"/>
</form>

//FirstServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class FirstServlet extends HttpServlet


{
public void doPost(HttpServletRequest request, HttpServletResponse response)
{
try
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
Cookie ck=new Cookie("uname",n);//creating cookie object
response.addCookie(ck);//adding cookie in the response
//creating submit button
out.print("<form action='servlet2'>");
out.print("<input type='submit' value='go'>");
out.print("</form>");
out.close();
}
catch(Exception e){System.out.println(e);}
}
}

// SecondServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SecondServlet extends HttpServlet

Maharashtra state Board of Technical Education 139


Advanced Java Programming (22517)

{
public void doPost(HttpServletRequest request, HttpServletResponse response)
{
try
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie ck[]=request.getCookies();
out.print("Hello "+ck[0].getValue());
out.close();
}
catch(Exception e){System.out.println(e);}
}
}
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
Maharashtra state Board of Technical Education 140
Advanced Java Programming (22517)

XI. Result (Output of Code):

...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

XII. Practical Related Questions


Note: Below given are few sample questions for reference. Teacher must design
more such questions so as to ensure the achievement of identified CO.
1. Write the methods of Cookie.
2. Write the advantages of Cookie over URL rewriting.
3. Write steps to disable Cookie.

(Space for answer)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 141


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIII. Exercise
1. Develop a program to collect user information using cookie.
2. Develop program to get the browser Information.
(Space for Answer)
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

Maharashtra state Board of Technical Education 142


Advanced Java Programming (22517)

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
XIV. References/ Suggestions for Further Reading
1. https://www.javatpoint.com
2. https://www.tutorialspoint.com/java
3. The complete reference Java 2 by Herbert schildt
4. https://tomcat.apache.org/download-80.cgi

XV. Assessment Scheme

Performance Indicators Weightage


Process related (35 Marks) 70%
1. Logic formation 30%
2. Debugging ability 30%
3. Follow ethical practices 10%
Product related (15 Marks) 30%
4. Expected output 10%
5. Timely Submission 10%
6. Answer to sample questions 10%
Total (50 Marks) 100%

List of Students /Team Members

1. …………………………………..
2. …………………………………..
3. …………………………………..

Dated signature
Marks Obtained
of Teacher
Process Product
Total(50)
Related(35) Related(15)

Maharashtra state Board of Technical Education 143

You might also like