0% found this document useful (0 votes)
24 views97 pages

Program of Rehan

Uploaded by

baigr0096
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)
24 views97 pages

Program of Rehan

Uploaded by

baigr0096
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/ 97

• Developer program using label to display message “welcome to Java”

import javax.swing.*;
public class WelcomeToJava {
public static void main(String[] args) {
JFrame frame = new JFrame("Welcome Window");
JLabel label = new JLabel("Welcome to Java", SwingConstants.CENTER);
frame.setSize(400, 200);
frame.add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Output:-

Performed by: Rehan Baig


• Developer program to select multiple language known to user(e.g. Marathi, Hindi,
English, Sanskrit)

import java.awt.*;
import java.awt.event.*;
public class LanguageSelector {
Checkbox marathi, hindi , english, sanskrit;
public LanguageSelector() {
Frame f = new Frame("Language Selector");
f.setSize(300, 200);
Panel p = new Panel();
p.setLayout(new FlowLayout());
marathi = new Checkbox("Marathi");
hindi = new Checkbox("Hindi");
english = new Checkbox("English");
sanskrit = new Checkbox("Sanskrit");
p.add(marathi);
p.add(hindi);
p.add(english);
p.add(sanskrit);
f.add(p);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setVisible(true);
}
public static void main(String[] args) {
new LanguageSelector();
}
}

Output:-

Performed by: Rehan Baig


• Develop an applet /application using list components and add names of 10 different
cities

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class CityListApplet extends Applet implements ActionListener {
List cityList;
TextField cityInput;
Button addButton;
Label feedbackLabel;
public CityListApplet() {
}
public void init() {
this.setLayout(new FlowLayout());
this.cityList = new List(10, false);
this.add(this.cityList);
this.cityInput = new TextField(20);
this.addButton = new Button("Add City");
this.add(new Label("Enter city name:"));
this.add(this.cityInput);
this.add(this.addButton);
this.feedbackLabel = new Label("");
this.add(this.feedbackLabel);
this.addButton.addActionListener(this);
}
public void actionPerformed(ActionEvent var1) {
if (var1.getSource() == this.addButton) {
String var2 = this.cityInput.getText().trim();
if (!var2.isEmpty()) {
boolean var3 = false;
String[] var4 = this.cityList.getItems();
int var5 = var4.length;
for (int var6 = 0; var6 < var5; ++var6) {
String var7 = var4[var6];
if (var7.equalsIgnoreCase(var2)) {
var3 = true;
break;
}
}
if (!var3) {
this.cityList.add(var2);
this.feedbackLabel.setText("");
} else {
this.feedbackLabel.setText("City already in list!");
}
this.cityInput.setText("");
} else {
this.feedbackLabel.setText("Please enter a city name!");
}
}
}
}
/*<applet code="CityListApplet.java" width="200" height="100"></applet>*/

Output:-

Performed by: Rehan Baig


• Develop applet/ application to select multiple name of newspapers

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class NewspaperSelector extends Applet implements ItemListener {
Checkbox newspaper1, newspaper2, newspaper3, newspaper4;
TextArea selectedNewspapers;
public void init() {
newspaper1 = new Checkbox("The Times Of India");
newspaper2 = new Checkbox("The Hindi");
newspaper3 = new Checkbox("Lokmat");
newspaper4 = new Checkbox("Hello Wardha");
newspaper1.addItemListener(this);
newspaper2.addItemListener(this);
newspaper3.addItemListener(this);
newspaper4.addItemListener(this);
selectedNewspapers = new TextArea(5, 30);
selectedNewspapers.setEditable(false);
add(newspaper1);
add(newspaper2);
add(newspaper3);
add(newspaper4);
add(selectedNewspapers);}
public void itemStateChanged(ItemEvent e) {
selectedNewspapers.setText("");
if (newspaper1.getState()) {
selectedNewspapers.append(newspaper1.getLabel() + "\n");
}
if (newspaper2.getState()) {
selectedNewspapers.append(newspaper2.getLabel() + "\n");
}
if (newspaper3.getState()) {
selectedNewspapers.append(newspaper3.getLabel() + "\n");
}
if (newspaper4.getState()) {
selectedNewspapers.append(newspaper4.getLabel() + "\n");
}
}
}
/*<applet code="NewspaperSelector.class" width="400" height="300"></applet>*/
Output:-

Performed by: Rehan Baig


• Write a program to generate following output

import java.awt.*;
import javax.swing.*;
public class GridLayoutDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("GridLayout Demo");
frame.setLayout(new GridLayout(3, 2));
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");
JButton button3 = new JButton("Button 3");
JButton button4 = new JButton("Button 4");
JButton button5 = new JButton("Button 5");
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.add(button4);
frame.add(button5);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
Output:-

Performed by: Rehan Baig


• Write a program to generate falling output using border layout

import javax.swing.*;
import java.awt.*;
public class BorderLayoutDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("BorderLayout Demo");
frame.setLayout(new BorderLayout());
JButton northButton = new JButton("North");
JButton southButton = new JButton("South");
JButton westButton = new JButton("West");
JButton eastButton = new JButton("East");
JButton centerButton = new JButton("Center");
frame.add(northButton, BorderLayout.NORTH);
frame.add(southButton, BorderLayout.SOUTH);
frame.add(westButton, BorderLayout.WEST);
frame.add(eastButton, BorderLayout.EAST);
frame.add(centerButton, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
}
Output:-

Performed by: Rehan Baig


• Write a java program to display following output

import javax.swing.*;
import java.awt.*;
public class GridBagLayEx1 {
public static void main(String[] args) {
JFrame frame = new JFrame("GridBag Layout Example");
frame.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
JButton button1 = new JButton("Button One");
JButton button2 = new JButton("Button Two");
JButton button3 = new JButton("Button Three");
JButton button4 = new JButton("Button Four");
JButton button5 = new JButton("Button Five");
gbc.gridx = 0;
gbc.gridy = 0;
frame.add(button1, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
frame.add(button2, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
frame.add(button3, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
frame.add(button4, gbc);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 2;
gbc.fill = GridBagConstraints.HORIZONTAL;
frame.add(button5, gbc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}
}

Output:-

Performed by: Rehan Baig


• Write a java program to display following output

import javax.swing.*;
import java.awt.*;
public class GridBagLayEx2 {
public static void main(String[] args) {
JFrame frame = new JFrame("GridBagLayout in Java Example");
frame.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
JLabel nameLabel = new JLabel("Name");
JTextField nameField = new JTextField(10);
JLabel commentsLabel = new JLabel("Comments");
JTextArea commentsArea = new JTextArea(5, 20);
JButton submitButton = new JButton("Submit");
gbc.gridx = 0;
gbc.gridy = 0;
frame.add(nameLabel, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
gbc.fill = GridBagConstraints.HORIZONTAL;
frame.add(nameField, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.fill = GridBagConstraints.NONE;
frame.add(commentsLabel, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
gbc.fill = GridBagConstraints.BOTH;
gbc.gridheight = 2;
frame.add(new JScrollPane(commentsArea), gbc);
gbc.gridx = 1;
gbc.gridy = 3;
gbc.fill = GridBagConstraints.NONE;
gbc.gridheight = 1;
frame.add(submitButton, gbc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
}
Output:-

Performed by: Rehan Baig


• Write program which creates many of different colors and disable menu item for
black color

import java.awt.*;
import java.awt.event.*;
public class ColorMenuApp extends Frame implements ActionListener {
Menu colorMenu;
MenuItem redItem, greenItem, blueItem, blackItem;
Label displayLabel;
public ColorMenuApp() {
super("Color Menu Example");
setLayout(new FlowLayout());
setSize(400, 200);
displayLabel = new Label("Select a color from the menu");
add(displayLabel);
MenuBar menuBar = new MenuBar();
colorMenu = new Menu("Colors");
redItem = new MenuItem("Red");
greenItem = new MenuItem("Green");
blueItem = new MenuItem("Blue");
blackItem = new MenuItem("Black");
blackItem.setEnabled(false);
colorMenu.add(redItem);
colorMenu.add(greenItem);
colorMenu.add(blueItem);
colorMenu.add(blackItem);
menuBar.add(colorMenu);
setMenuBar(menuBar);
redItem.addActionListener(this);
greenItem.addActionListener(this);
blueItem.addActionListener(this);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
MenuItem selected = (MenuItem) e.getSource();
if (selected == redItem) {
displayLabel.setText("You selected Red");
setBackground(Color.RED);
} else if (selected == greenItem) {
displayLabel.setText("You selected Green");
setBackground(Color.GREEN);
} else if (selected == blueItem) {
displayLabel.setText("You selected Blue");
setBackground(Color.BLUE);
}
}
public static void main(String[] args) {
ColorMenuApp colorMenuApp = new ColorMenuApp();
colorMenuApp.setVisible(true);
}
}
/*<applet code="ColorMenuApp.java" width="200" height="100"></applet>*/

Output:-

Performed by: Rehan Baig


• Write a program to develop a frame to select the different states of India using
JComboBox

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Indstate extends JFrame implements ActionListener {
JComboBox<String> stateComboBox;
JLabel selectedStateLabel;
public Indstate() {
super("State Selection");
setLayout(new FlowLayout());
String[] states = {"Maharashtra", "Karnataka", "Gujarat", "Rajasthan", "Punjab",
"Tamil Nadu", "West Bengal", "Kerala", "Uttar Pradesh", "Bihar"};
stateComboBox = new JComboBox<>(states);
stateComboBox.addActionListener(this);
selectedStateLabel = new JLabel("Selected State: None");
add(new JLabel("Select a state:"));
add(stateComboBox);
add(selectedStateLabel);
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
String selectedState = (String) stateComboBox.getSelectedItem();
selectedStateLabel.setText("Selected State: " + selectedState);
}
public static void main(String[] args) {
Indstate frame = new Indstate();
frame.setVisible(true);
}
}
Output:-

Performed by: Rehan Baig


• Develop a program to demonstrate the use of ScrollPane in Swing

import javax.swing.*;
import java.awt.*;
public class ScrollPaneEx{
public static void main(String[] args) {
JFrame frame = new JFrame("JScrollPane Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
for (int i = 1; i <= 50; i++) {
JLabel label = new JLabel("Label " + i);
panel.add(label);
}
JScrollPane scrollPane = new JScrollPane(panel);
frame.add(scrollPane);
frame.setVisible(true);
}
}
Output:-

Performed by: Rehan Baig


• Develop program to demonstrate the use of tree component in swing

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
public class SwTreeEx {
public static void main(String[] args) {
JFrame frame = new JFrame("JTree Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");
DefaultMutableTreeNode child1 = new DefaultMutableTreeNode("Child 1");
DefaultMutableTreeNode child2 = new DefaultMutableTreeNode("Child 2");
DefaultMutableTreeNode grandChild1 = new
DefaultMutableTreeNode("Grandchild 1");
DefaultMutableTreeNode grandChild2 = new
DefaultMutableTreeNode("Grandchild 2");
root.add(child1);
root.add(child2);
child1.add(grandChild1);
child2.add(grandChild2);
JTree tree = new JTree(root);
JScrollPane scrollPane = new JScrollPane(tree);
frame.add(scrollPane);
frame.setVisible(true);
}
}

Output:-

Performed by: Rehan Baig


• Write a program code to generate the following output

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
public class IndTree extends JFrame {
public IndTree() {
DefaultMutableTreeNode india = new DefaultMutableTreeNode("India");
DefaultMutableTreeNode maharashtra = new
DefaultMutableTreeNode("Maharashtra");
maharashtra.add(new DefaultMutableTreeNode("Mumbai"));
maharashtra.add(new DefaultMutableTreeNode("Pune"));
maharashtra.add(new DefaultMutableTreeNode("Nashik"));
maharashtra.add(new DefaultMutableTreeNode("Nagpur"));
india.add(maharashtra);
india.add(new DefaultMutableTreeNode("Gujarat"));
JTree tree = new JTree(india);
JScrollPane treeView = new JScrollPane(tree);
add(treeView);
setTitle("State-City Tree Example");
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new IndTree();
}
}

Output:-

Performed by: Rehan Baig


• Writer Java program to create a table of name of student, percentage and grade of
10 student using Jtable

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class StudentTable {
public static void main(String[] args) {
JFrame frame = new JFrame("Student Table");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
String[] columnNames = {"Name", "Percentage", "Grade"};
Object[][] data = new Object[10][3];
for (int i = 0; i < 10; i++) {
data[i][0] = "Student " + (i + 1);
data[i][1] = (int) (Math.random() * 101); // Generate random percentage
data[i][2] = calculateGrade((int) data[i][1]);
}
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
frame.add(scrollPane);
frame.setVisible(true);
}
private static String calculateGrade(int percentage) {
if (percentage >= 90) {
return "A";
} else if (percentage >= 80) {
return "B";
} else if (percentage >= 70) {
return "C";
} else if (percentage >= 60) {
return "D";
} else {
return "F";
}
}
}

Output:-

Performed by: Rehan Baig


• Develop program to demonstrate the use of JProgressBar

import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class JProgressBarEx {
public static void main(String[] args) {
JFrame frame = new JFrame("Progress Bar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 150);
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
JButton startButton = new JButton("Start Task");
startButton.addActionListener(e -> {
new Thread(() -> {
progressBar.setValue(0);
int totalSteps = 100;
for (int i = 0; i < totalSteps; i++) {
try {
Thread.sleep(50 + new Random().nextInt(100)); // Simulate varying task
duration
progressBar.setValue((int) ((i + 1) * 100.0 / totalSteps));
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
).start();
}
);
JPanel panel = new JPanel();
panel.add(progressBar);
panel.add(startButton);
frame.add(panel);
frame.setVisible(true);
}
}

Output:-

Performed by: Rehan Baig


• Writer program using JProgressBar to show the progress of progress bar when user
click on JButton

import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class JProgressBarEx {
public static void main(String[] args) {
JFrame frame = new JFrame("Progress Bar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 150);
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
JButton startButton = new JButton("Start Task");
startButton.addActionListener(e -> {
new Thread(() -> {
progressBar.setValue(0);
int totalSteps = 100;
for (int i = 0; i < totalSteps; i++) {
try {
Thread.sleep(50 + new Random().nextInt(100));
progressBar.setValue((int) ((i + 1) * 100.0 / totalSteps));
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
).start();
}
);
JPanel panel = new JPanel();
panel.add(progressBar);
panel.add(startButton);
frame.add(panel);
frame.setVisible(true);
}
}

Output:-

Performed by: Rehan Baig


• Develop a program to accept two numbers and display product of two numbers
when user pressed “multiply” button

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MultiplyNum extends JFrame {
private JTextField number1Field;
private JTextField number2Field;
private JButton multiplyButton;
private JLabel resultLabel;
public MultiplyNum() {
setTitle("Multiply Two Numbers");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
JLabel number1Label = new JLabel("Number 1:");
number1Label.setBounds(30, 30, 80, 25);
add(number1Label);
number1Field = new JTextField();
number1Field.setBounds(120, 30, 130, 25);
add(number1Field);
JLabel number2Label = new JLabel("Number 2:");
number2Label.setBounds(30, 70, 80, 25);
add(number2Label);
number2Field = new JTextField();
number2Field.setBounds(120, 70, 130, 25);
add(number2Field);
multiplyButton = new JButton("Multiply");
multiplyButton.setBounds(90, 110, 100, 30);
add(multiplyButton);
resultLabel = new JLabel("Result: ");
resultLabel.setBounds(30, 150, 220, 25);
add(resultLabel);
multiplyButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
multiplyNumbers();
}
});
setVisible(true);
}
private void multiplyNumbers() {
try {
double num1 = Double.parseDouble(number1Field.getText());
double num2 = Double.parseDouble(number2Field.getText());
double product = num1 * num2;
resultLabel.setText("Result: " + product);
} catch (NumberFormatException e) {
resultLabel.setText("Please enter valid numbers.");
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(MultiplyNum::new);
}
}

Output:-

Performed by: Rehan Baig


• Write a program to change background color of applet when user perform event
using mouse

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class ColorChangeApplet extends Applet implements MouseListener {
public ColorChangeApplet() {
addMouseListener(this);
}
@Override
public void init() {
setBackground(Color.WHITE);
}
@Override
public void mouseClicked(MouseEvent e) {
Color newColor = new Color((int) (Math.random() * 0x1000000));
setBackground(newColor);
repaint();
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void paint(Graphics g) {
g.setColor(Color.BLACK);
g.drawString("Click anywhere to change background color!", 20, 20);
}
}
/*<applet code="ColorChangeApplet.java" width="300" height="100"></applet>*/

Output:-

Performed by: Rehan Baig


• Write a program to count the number of clicks performed by the user in a frame
window

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ClickCounter extends JFrame {
private int clickCount = 0;
private JButton clickButton;
private JLabel countLabel;
public ClickCounter() {
setTitle("Click Counter");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
clickButton = new JButton("Click Me!");
clickButton.setBounds(100, 50, 100, 30);
add(clickButton);
countLabel = new JLabel("Click Count: 0");
countLabel.setBounds(100, 100, 150, 25);
add(countLabel);
clickButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
countClicks();
}
});
setVisible(true);
}
private void countClicks() {
clickCount++;
countLabel.setText("Click Count: " + clickCount);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(ClickCounter::new);
}
}

Output:-

Performed by: Rehan Baig


• Write a program using JPasswordField and JTextField to demonstrate the use of
user authentication

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class UserAuthenti extends JFrame {
private JPasswordField passwordField;
private JButton loginButton;
private JLabel messageLabel;
private static final String USERNAME = "admin";
private static final String PASSWORD = "pass123";
public UserAuthenti() {
setTitle("User Authentication ");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(3, 2));
usernameField = new JTextField(15);
passwordField = new JPasswordField(15);
passwordField.setEchoChar('#');
loginButton = new JButton("Login");
messageLabel = new JLabel("");
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
authenticateUser (); }});
add(new JLabel("Username:"));
add(new JLabel("Password:"));
add(passwordField);
add(loginButton);
add(messageLabel);
setVisible(true);}
private void authenticateUser () {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
if (USERNAME.equals(username) && PASSWORD.equals(password)) {
messageLabel.setForeground(Color.GREEN);
messageLabel.setText("Login Successful!");
} else {
messageLabel.setForeground(Color.RED);
messageLabel.setText("Invalid Username or Password.");}}
public static void main(String[] args) {
SwingUtilities.invokeLater(UserAuthenti::new);}}
Output:-

Performed by: Rehan Baig


• Write a Program using JTextField to perform addition of two number

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class AdditionApp {
public static void main(String[] args) {
JFrame frame = new JFrame("Addition of Two Numbers");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
frame.setLayout(new FlowLayout());
JTextField number1Field = new JTextField(10);
JTextField number2Field = new JTextField(10);
JTextField resultField = new JTextField(10);
resultField.setEditable(false);
JButton addButton = new JButton("Add");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
double num1 = Double.parseDouble(number1Field.getText());
double num2 = Double.parseDouble(number2Field.getText());
double sum = num1 + num2;
resultField.setText(String.valueOf(sum));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(frame, "Please enter valid numbers.",
"Input Error", JOptionPane.ERROR_MESSAGE);
}
}
});
frame.add(new JLabel("Number 1:"));
frame.add(number1Field);
frame.add(new JLabel("Number 2:"));
frame.add(number2Field);
frame.add(addButton);
frame.add(new JLabel("Result:"));
frame.add(resultField);
frame.setVisible(true);
}
}
Output:-

Performed by: Rehan Baig


• Write a program to demonstrate the use of WindowAdapter class

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class WindowAdapterDemo extends JFrame {
public WindowAdapterDemo() {
setTitle("WindowAdapter Demo");
setSize(300, 200);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int confirmed = JOptionPane.showConfirmDialog(
null,
"Are you sure you want to close this window?",
"Confirm Exit",
JOptionPane.YES_NO_OPTION
);
if (confirmed == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
JLabel label = new JLabel("Close the window to see the adapter in action.",
SwingConstants.CENTER);
add(label);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(WindowAdapterDemo::new);
}
}

Output:-

Performed by: Rehan Baig


• Write a program to demonstrate the use of anonymous inner class

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Anoninnclass extends JFrame {
public Anoninnclass() {
setTitle("Anonymous Inner Class Demo");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
JLabel messageLabel = new JLabel("Click the button!", SwingConstants.CENTER);
messageLabel.setBounds(50, 20, 200, 30);
add(messageLabel);
JButton clickMeButton = new JButton("Click Me");
clickMeButton.setBounds(100, 70, 100, 30);
clickMeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
messageLabel.setText("Button Clicked!");
}
});
add(clickMeButton);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(Anoninnclass::new);
}
}

Output:-

Performed by: Rehan Baig


• Develop a program using InetAddress class to retrieve IP address of computer when
hostname is entered by the user

import java.net.*;
import java.util.Scanner;
public class IPAddressFinder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the hostname: ");
String hostname = scanner.nextLine();
try {
InetAddress inetAddress = InetAddress.getByName(hostname);
String ipAddress = inetAddress.getHostAddress();
System.out.println("IP address of " + hostname + " is: " + ipAddress);
} catch (UnknownHostException e) {
System.err.println("Unable to resolve hostname: " + hostname);
} finally {
scanner.close();
}
}
}
Output:-

Performed by: Rehan Baig


• Writer program using URL Class to retrieve the host, protocol, port and file of URL
http://www.msbte.org.in

import java.io.IOException;
import java.net.*;
public class URLclass {
public static void main(String[] args) {
try {
URL url = new URL("https://msbte.org.in/");
System.out.println("Protocol: " + url.getProtocol());
System.out.println("Host: " + url.getHost());
System.out.println("Port: " + url.getPort());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
if (responseCode == HttpURLConnection.HTTP_OK) {
System.out.println("Successfully connected to the URL.");
} else {
System.out.println("Failed to connect. Response Code: " + responseCode);
}
connection.disconnect();
} catch (MalformedURLException e) {
System.out.println("Malformed URL: " + e.getMessage());
} catch (IOException e) {
System.out.println("IOException: " + e.getMessage());
}
}
}

Output:-

Performed by: Rehan Baig


• Write a program using URL and URLConnection class to retrive the date, content
type, content length information of any entered URL

import java.io.IOException;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.*;
public class URLInfo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the URL: ");
String urlString = scanner.nextLine();
try {
URL url = new URL(urlString);
URLConnection connection = url.openConnection();
String contentType = connection.getContentType();
int contentLength = connection.getContentLength();
long lastModified = connection.getLastModified();
Date lastModifiedDate = new Date(lastModified);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy
HH:mm:ss");
String formattedDate = dateFormat.format(lastModifiedDate);
System.out.println("Content Type: " + contentType);
System.out.println("Content Length: " + contentLength + " bytes");
System.out.println("Last Modified: " + formattedDate);
} catch (MalformedURLException e) {
System.err.println("Invalid URL: " + e.getMessage());
} catch (IOException e) {
System.err.println("Error fetching information: " + e.getMessage());
}
}
}

Output:-

Performed by: Rehan Baig


• Write a program using Socket and ServerSocket to create Chat application

Server >

import java.io.*;
import java.net.*;
import java.util.Random;
public class ChartServer {
public static void main(String[] args) {
int port = 12345;
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("Server is listening on port " + port);
while (true) {
Socket socket = serverSocket.accept();
System.out.println("New client connected");
new ClientHandler(socket).start();
}
} catch (IOException ex) {
System.out.println("Server exception: " + ex.getMessage());
ex.printStackTrace();
}
}
}
class ClientHandler extends Thread {
private Socket socket;
public ClientHandler(Socket socket) {
this.socket = socket;
}
public void run() {
try (DataOutputStream out = new
DataOutputStream(socket.getOutputStream())) {
Random rand = new Random();
for (int i = 0; i < 10; i++) {
out.writeInt(rand.nextInt(100)); // Send random data
}
out.flush();
} catch (IOException ex) {
System.out.println("Client handler exception: " + ex.getMessage());
ex.printStackTrace();
} finally {
try {
socket.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
Client >

import java.io.*;
import java.net.*;
public class ChartClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 12345);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
for (int i = 0; i < 10; i++) {
double x = i;
double y = Math.random() * 100;
out.println(x + "," + y);
Thread.sleep(1000);
}
out.close();
socket.close();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}

Performed by: Rehan Baig


• Write a program to develop prime number server (Client will send any number to
server, server will send response the number is prime or not)

Server >

import java.io.*;
import java.net.*;
public class PrimeNumSer {
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
int port = 65432;
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("Server is listening on port " + port);
while (true) {
try (Socket socket = serverSocket.accept()) {
System.out.println("Connected to client: " + socket.getInetAddress());
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String inputLine = in.readLine();
int number = Integer.parseInt(inputLine);
boolean isPrime = isPrime(number);
String response = number + " is " + (isPrime ? "prime" : "not prime");
out.println(response);
} catch (IOException | NumberFormatException e) {
System.err.println("Error: " + e.getMessage());
}
}
} catch (IOException e) {
System.err.println("Could not listen on port " + port);
System.exit(-1);
}
}}

Client >

import java.io.*;
import java.net.*;
public class PrimeNumCli {
public static void main(String[] args) {
String host = "localhost";
int port = 65432;
try (Socket socket = new Socket(host, port)) {
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader userInput = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Enter a number: ");
int number = Integer.parseInt(userInput.readLine());
out.println(number);
String response = in.readLine();
System.out.println(response);
} catch (IOException | NumberFormatException e) {
System.err.println("Error: " + e.getMessage());
}}
}
Output:-

Performed by: Rehan Baig


• Write a program using DatagramPacket and DatagramSocket to create chart
application

Server >
import java.net.*;
public class UDPServer {
public static void main(String[] args) {
DatagramSocket socket = null;
try {
socket = new DatagramSocket(9876);
System.out.println("Server is listening on port 9876...");
byte[] receiveData = new byte[1024];
while (true) {
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
socket.receive(receivePacket);
String message = new String(receivePacket.getData(), 0,
receivePacket.getLength());
System.out.println("Received: " + message);
String responseMessage = "ACK: " + message;
byte[] sendData = responseMessage.getBytes();
InetAddress clientAddress = receivePacket.getAddress();
int clientPort = receivePacket.getPort();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, clientAddress, clientPort);
socket.send(sendPacket);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
}
}
}

Client >

import java.net.*;
import java.util.Scanner;
public class UDPClient {
public static void main(String[] args) {
DatagramSocket socket = null;
Scanner scanner = new Scanner(System.in);
try {
socket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("localhost");
while (true) {
System.out.print("Enter a message : ");
String message = scanner.nextLine();
if (message.equalsIgnoreCase("exit")) {
break;
}
byte[] sendData = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, serverAddress, 9876);
socket.send(sendPacket);
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
socket.receive(receivePacket);
String responseMessage = new String(receivePacket.getData(), 0,
receivePacket.getLength());
System.out.println("Response from server: " + responseMessage);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
scanner.close();
}
}
Output:-

Performed by: Rehan Baig


• Write a program using DatagramPacket and DatagramSocket to copy the content of
one file to another

Server >

import java.io.*;
import java.net.*;
public class FileTransSer {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java FileTransferServer <port>");
return;
}
int port = Integer.parseInt(args[0]);
try (DatagramSocket socket = new DatagramSocket(port)) {
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
String fileName = new String(packet.getData(), 0, packet.getLength());
FileOutputStream fos = new FileOutputStream(fileName);
System.out.println("Receiving file: " + fileName);
while (true) {
socket.receive(packet);
String receivedData = new String(packet.getData(), 0, packet.getLength());
if (receivedData.equals("EOF")) {
break;
}
fos.write(packet.getData(), 0, packet.getLength());
}
fos.close();
System.out.println("File received successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}

Client >

import java.io.*;
import java.net.*;
public class FileTransCli {
public static void main(String[] args) {
if (args.length != 3) {
System.out.println("Usage: java FileTransferClient <file-to-send> <host>
<port>");
return;
}
String filePath = args[0];
String host = args[1];
int port = Integer.parseInt(args[2]);
try (DatagramSocket socket = new DatagramSocket()) {
File file = new File(filePath);
byte[] buffer = new byte[1024];
FileInputStream fis = new FileInputStream(file);
int bytesRead;
byte[] fileNameBytes = file.getName().getBytes();
DatagramPacket fileNamePacket = new DatagramPacket(fileNameBytes,
fileNameBytes.length, InetAddress.getByName(host), port);
socket.send(fileNamePacket);
while ((bytesRead = fis.read(buffer)) != -1) {
DatagramPacket packet = new DatagramPacket(buffer, bytesRead,
InetAddress.getByName(host), port);
socket.send(packet);
}
byte[] eof = "EOF".getBytes();
DatagramPacket eofPacket = new DatagramPacket(eof, eof.length,
InetAddress.getByName(host), port);
socket.send(eofPacket);
fis.close();
System.out.println("File sent successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
Output:-

Performed by: Rehan Baig


• Develop a program to create employee table in database having two columns
“emp_id” and “emp_name”

import java.sql.*;
public class CreateEmpTable {
private static final String DB_URL =
"jdbc:mysql://localhost:3306/your_database_name";
private static final String USER = "your_username";
private static final String PASS = "your_password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Creating table in given database...");
stmt = conn.createStatement();
String sql = "CREATE TABLE employee (" +
"emp_id INT NOT NULL, " +
"emp_name VARCHAR(255), " +
"PRIMARY KEY (emp_id))";
stmt.executeUpdate(sql);
System.out.println("Table created successfully...");
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) stmt.close();
} catch (SQLException se) {
se.printStackTrace();
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
}

Performed by: Rehan Baig


• Develop a program to display the name and roll_no of students from “ Student
table” having percentage > 70

import java.sql.*;
public class StudentPer {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Error loading JDBC driver: " + e.getMessage());
return;
}
String url = "jdbc:mysql://localhost:3306/student_db";
String username = "your_username";
String password = "your_password";
try (Connection conn = DriverManager.getConnection(url, username, password))
{
String query = "SELECT name, roll_no FROM student WHERE percentage > 70";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
try (ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
String name = rs.getString("name");
int rollNo = rs.getInt("roll_no");
System.out.println("Name: " + name + ", Roll No: " + rollNo);
}
}
}
} catch (Exception e) {
System.out.println("Error executing query: " + e.getMessage());
}
}
}

Performed by: Rehan Baig


• Develop JDBC program to retrieve data using ResultSet

import java.sql.*;
public class JdbcRetrieveData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/your_database";
String username = "your_username";
String password = "your_password";
String query = "SELECT id, name, salary FROM employees";
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement pstmt = conn.prepareStatement(query);
ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
double salary = rs.getDouble("salary");
System.out.println("ID: " + id + ", Name: " + name + ", Salary: " + salary);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Performed by: Rehan Baig


• Developer program to update a record in database table

import java.sql.*;
public class UpdateRecord {
private static final String DB_URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASS = "your_password";
public static void main(String[] args) {
int idToUpdate = 1;
String newName = "Updated Name";
updateRecord(idToUpdate, newName);
}
public static void updateRecord(int id, String newName) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DriverManager.getConnection(DB_URL, USER, PASS);
String sql = "UPDATE your_table SET name = ? WHERE id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, newName);
pstmt.setInt(2, id);
int rowsAffected = pstmt.executeUpdate();
System.out.println("Rows affected: " + rowsAffected);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}

Performed by: Rehan Baig


• Developer program to update name of a student from Jack to John

import java.sql.*;
public class UpdateStudName {
private static final String DB_URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASS = "your_password";
public static void main(String[] args) {
String oldName = "Jack";
String newName = "John";
updateStudName(oldName, newName);
}
public static void updateStudName(String oldName, String newName) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DriverManager.getConnection(DB_URL, USER, PASS);
String sql = "UPDATE students SET name = ? WHERE name = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, newName);
pstmt.setString(2, oldName);
int rowsAffected = pstmt.executeUpdate();
System.out.println("Rows affected: " + rowsAffected);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}

Performed by: Rehan Baig


• Developer program to delete all record from a product whose “ price is greater than
500” and ID is “P1234”

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DeleteProdRec {
private static final String DB_URL =
"jdbc:mysql://localhost:3306/your_database_name";
private static final String USER = "your_username";
private static final String PASSWORD = "your_password";
public static void main(String[] args) {
try (Connection connection = DriverManager.getConnection(DB_URL, USER,
PASSWORD)) {
String sql = "DELETE FROM product WHERE price > ? AND ID = ?";
try (PreparedStatement preparedStatement =
connection.prepareStatement(sql)) {
preparedStatement.setDouble(1, 500);
preparedStatement.setString(2, "P1234");
int rowsAffected = preparedStatement.executeUpdate();
System.out.println("Records deleted: " + rowsAffected);
}
} catch (SQLException e) {
e.printStackTrace();
} }}
• Develops servlet program to print Hello MSBTE in browser window

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloMSBTEServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.getWriter().println("<h1>Hello MSBTE</h1>");
}
}

Performed by: Rehan Baig


• Develop a program to retry the parameter through HTML form and send back to
receive parameter to browser

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ReceiveServlet")
public class ReceiveServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String parameter = request.getParameter("parameter");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Received Parameter:</h2>");
out.println("<p>" + parameter + "</p>");
out.println("</body></html>");
out.close();
}
}
Performed by: Rehan Baig
• Developer servlet program to retrieve data from List and Radio Button using HTML
form

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/RetrieveServlet")
public class RaButtServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String color = request.getParameter("color");
String agree = request.getParameter("agree");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Form Submission Details</h2>");
out.println("<p>Selected Color: " + color + "</p>");
out.println("<p>Agreement: " + (agree != null ? agree : "No selection") + "</p>");
out.println("</body></html>");
out.close();
}} Performed by: Rehan Baig
• Develop a program to receive student subject marks through HTML forms TextField
and send a response as passed or Failed in examination…

public import java.io.IOException;


import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/StudentResultServlet")
public class StudentResultServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
int passingMarks = 40;
int mathMarks = Integer.parseInt(request.getParameter("math"));
int scienceMarks = Integer.parseInt(request.getParameter("science"));
int englishMarks = Integer.parseInt(request.getParameter("english"));
int historyMarks = Integer.parseInt(request.getParameter("history"));
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Student Examination Result</h2>");
out.println("<p>Math: " + (mathMarks >= passingMarks ? "Pass" : "Fail") +
"</p>");
out.println("<p>Science: " + (scienceMarks >= passingMarks ? "Pass" : "Fail") +
"</p>");
out.println("<p>English: " + (englishMarks >= passingMarks ? "Pass" : "Fail") +
"</p>");
out.println("<p>History: " + (historyMarks >= passingMarks ? "Pass" : "Fail") +
"</p>");
boolean overallPass = (mathMarks >= passingMarks) && (scienceMarks >=
passingMarks)
&& (englishMarks >= passingMarks) && (historyMarks >=
passingMarks);
out.println("<h3>Overall Result: " + (overallPass ? "Pass" : "Fail") + "</h3>");
out.println("</body></html>");
out.close();
}
}

Performed by: Rehan Baig


• Develops servlet program to display various details about session using Httpsession
methods

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet("/SessionDetailsServlet")
public class SessServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession(true);
String sessionId = session.getId();
long creationTime = session.getCreationTime();
long lastAccessedTime = session.getLastAccessedTime();
int maxInactiveInterval = session.getMaxInactiveInterval();
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Session Details</h2>");
out.println("<p><strong>Session ID:</strong> " + sessionId + "</p>");
out.println("<p><strong>Session Creation Time:</strong> " + new
Date(creationTime) + "</p>");
out.println("<p><strong>Last Accessed Time:</strong> " + new
Date(lastAccessedTime) + "</p>");
out.println("<p><strong>Max Inactive Interval:</strong> " + maxInactiveInterval
+ " seconds</p>");
out.println("<p><strong>Is New Session:</strong> " + (session.isNew() ? "Yes" :
"No") + "</p>");
if (session.isNew()) {
out.println("<p>This is a new session created for you.</p>");
} else {
out.println("<p>This session has been accessed before.</p>");
}
out.println("</body></html>");
out.close();
}
}

Performed by: Rehan Baig


• Develop a program to display last axis time of session. And Expire the session with
specified time

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/SessionTimeoutServlet")
public class TimeoutServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession(true);
int sessionTimeoutInSeconds = 60;
session.setMaxInactiveInterval(sessionTimeoutInSeconds);
long lastAccessedTime = session.getLastAccessedTime();
boolean isNewSession = session.isNew();
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Session Timeout Example</h2>");
if (isNewSession) {
out.println("<p>This is a new session created for you.</p>");
} else {
out.println("<p>Last Accessed Time: " + new Date(lastAccessedTime) +
"</p>");
}
out.println("<p>Session will expire if inactive for " + sessionTimeoutInSeconds +
" seconds.</p>");
if (request.getRequestedSessionId() != null && !session.isNew()) {
out.println("<p>Session is active.</p>");
} else {
out.println("<p>Session has expired due to inactivity or is new.</p>");
}
out.println("</body></html>");
out.close();
}
}

Performed by: Rehan Baig


• Develop program to collect user information using cookie

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/UserInfoServlet")
public class UserInfoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String username = request.getParameter("username");
String email = request.getParameter("email");
Cookie usernameCookie = new Cookie("username", username);
Cookie emailCookie = new Cookie("email", email);
usernameCookie.setMaxAge(86400);
emailCookie.setMaxAge(86400);
response.addCookie(usernameCookie);
response.addCookie(emailCookie);
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Welcome, " + username + "!</h2>");
out.println("<p>Your email is: " + email + "</p>");
out.println("<p>Your information has been saved in cookies.</p>");
out.println("</body></html>");
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
Cookie[] cookies = request.getCookies();
String username = null;
String email = null;
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("username")) {
username = cookie.getValue();
} else if (cookie.getName().equals("email")) {
email = cookie.getValue();
}
}
}
PrintWriter out = response.getWriter();
out.println("<html><body>");
if (username != null && email != null) {
out.println("<h2>Welcome back, " + username + "!</h2>");
out.println("<p>Your email is: " + email + "</p>");
} else {
out.println("<h2>No user information found in cookies.</h2>");
out.println("<p>Please submit your information <a
href='userForm.html'>here</a>.</p>");
}
out.println("</body></html>");
out.close();
}
}

Performed by: Rehan Baig


• Develop program to get the browser information

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/BrowserInfoServlet")
public class BrowserInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String userAgent = request.getHeader("User-Agent");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Browser Information</h2>");
out.println("<p><strong>Your Browser Information:</strong> " + userAgent +
"</p>");
out.println("<p><strong>Browser Details:</strong></p>");
out.println("<pre>" + parseUserAgent(userAgent) + "</pre>");
out.println("</body></html>");
out.close();
}
private String parseUserAgent(String userAgent) {
String browserName = "Unknown Browser";
String browserVersion = "Unknown Version";
if (userAgent.contains("Chrome")) {
browserName = "Google Chrome";
browserVersion = userAgent.split("Chrome/")[1].split(" ")[0];
} else if (userAgent.contains("Firefox")) {
browserName = "Mozilla Firefox";
browserVersion = userAgent.split("Firefox/")[1];
} else if (userAgent.contains("Safari")) {
browserName = "Safari";
browserVersion = userAgent.split("Version/")[1].split(" ")[0];
} else if (userAgent.contains("MSIE")) {
browserName = "Internet Explorer";
browserVersion = userAgent.split("MSIE ")[1].split(";")[0];
}
return "Browser Name: " + browserName + "\nVersion: " + browserVersion;
}
}

Performed by: Rehan Baig

You might also like