0% found this document useful (0 votes)
7 views33 pages

Advance_Java_Programming_Lab_File[1]_removed

The document contains multiple Java code examples demonstrating various concepts such as server-client communication using sockets, applets, multithreading, JavaBeans, and JSP for user login and registration. It includes code for a simple server and client application, a clock applet, a multithreading demo, and a user registration system with database interaction. Additionally, it features client-side validation and cookie handling in servlets.

Uploaded by

ANSHUL SINGH
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)
7 views33 pages

Advance_Java_Programming_Lab_File[1]_removed

The document contains multiple Java code examples demonstrating various concepts such as server-client communication using sockets, applets, multithreading, JavaBeans, and JSP for user login and registration. It includes code for a simple server and client application, a clock applet, a multithreading demo, and a user registration system with database interaction. Additionally, it features client-side validation and cookie handling in servlets.

Uploaded by

ANSHUL SINGH
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/ 33

Code:

import java.io.*;
import java.net.*;

class Server {
public static void main(String[] args) { try
{

ServerSocket serverSocket = new ServerSocket(5000);


System.out.println("Server is listening on port 5000...");

Socket socket = serverSocket.accept(); System.out.println("Client


connected.");

BufferedReader in = new BufferedReader(new


InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

String clientMessage = in.readLine(); System.out.println("Client


says: " + clientMessage);

out.println("Hello from Server! You said: " + clientMessage);

socket.close();
serverSocket.close();
} catch (IOException e) { e.printStackTrace();
}
}
}

class Client {
public static void main(String[] args) { try
{

Socket socket = new Socket("localhost", 5000);


System.out.println("Connected to the server.");

BufferedReader in = new BufferedReader(new


InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);

String message = "Hello Server!";


out.println(message);
String serverResponse = in.readLine();
System.out.println("Server says: " + serverResponse);

socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

Output:

John

John
Code:

import java.applet.*;
import java.awt.*;
public class MyApplet extends Applet {
public void init() {
System.out.println("Applet Initialized");
}
public void start() {
System.out.println("Applet Started");
}
public void paint(Graphics g) {
g.drawString("Hello, this is a Java Applet!", 50, 50);
}
public void stop() {
System.out.println("Applet Stopped");
}
public void destroy() {
System.out.println("Applet Destroyed");
}
}

Output:
Code:

// Example demonstrating multithreading in Java


class MyThread extends Thread {
private String threadName;
MyThread(String name) {
threadName = name;
}
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.println(threadName + " is running: " + i);
try {
Thread.sleep(500); // Simulating time-consuming task
} catch (InterruptedException e) {
System.out.println(threadName + " interrupted.");
}
}
System.out.println(threadName + " has finished execution.");
}
}
public class MultithreadingDemo {
public static void main(String[] args) {
MyThread t1 = new MyThread("Thread 1");
MyThread t2 = new MyThread("Thread 2");
MyThread t3 = new MyThread("Thread 3");

t1.start();
t2.start();
t3.start();
}
}
Output:
Code:

import java.applet.Applet;
import java.awt.*;
import java.util.Calendar;

public class ClockApplet extends Applet {


public void paint(Graphics g) {

int hours = 18;


int minutes = 10;
int seconds = 6;
g.setColor(Color.BLACK);
g.drawOval(50, 50, 200, 200);
g.setFont(new Font("Arial", Font.BOLD, 16));
g.drawString("12", 140, 70);
g.drawString("3", 240, 155);
g.drawString("6", 145, 240);
g.drawString("9", 55, 155);

int centerX = 150, centerY = 150, radius = 80;

double hourAngle = Math.toRadians((hours % 12) * 30 + minutes * 0.5 - 90);


double minuteAngle = Math.toRadians(minutes * 6 - 90);
double secondAngle = Math.toRadians(seconds * 6 - 90);

int hourX = centerX + (int) (radius * 0.5 * Math.cos(hourAngle));


int hourY = centerY + (int) (radius * 0.5 * Math.sin(hourAngle));
g.setColor(Color.BLUE);
g.drawLine(centerX, centerY, hourX, hourY);

int minX = centerX + (int) (radius * 0.7 * Math.cos(minuteAngle));


int minY = centerY + (int) (radius * 0.7 * Math.sin(minuteAngle));
g.setColor(Color.GREEN);
g.drawLine(centerX, centerY, minX, minY);

int secX = centerX + (int) (radius * 0.9 * Math.cos(secondAngle));


int secY = centerY + (int) (radius * 0.9 * Math.sin(secondAngle));
g.setColor(Color.RED);
g.drawLine(centerX, centerY, secX, secY);
}
}
Output:
Code:

1:) Create a file named EmployeeBean.java

import java.io.Serializable;

public class EmployeeBean implements Serializable {


private static final long serialVersionUID = 1L;
private String name;
private int age;
private double salary;

public EmployeeBean() {}

public String getName() {


return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}

2:) Create a file named JavaBeanDemo.java

public class JavaBeanDemo {


public static void main(String[] args) {

EmployeeBean emp = new EmployeeBean();

emp.setName("John Doe");
emp.setAge(21);
emp.setSalary(100000);

System.out.println("Employee Details:");
System.out.println("Name: " + emp.getName());
System.out.println("Age: " + emp.getAge());
System.out.println("Salary: $" + emp.getSalary());
}
}

Output:

John Doe
20
Code:

SQL QUERY:

CREATE
TABLE users( id int NOT NULL AUTO_INCREMENT,
first_name varchar(50),
last_name varchar(50),
city_name varchar(50), email
varchar(50), PRIMARY
KEY(id)

);

Index.html:

< !DOCTYPE html >


<html>
<body>
<form method="post" action="process.jsp">
First name: <input type="text" name="first_name">
<br><br>
Last name: <input type="text" name="last_name">
<br><br>
City name: <input type="text" name="city_name">
<br><br>
Email Id: <input type="email" name="email">
<br><br>
<input type="submit" value="submit">
</form>
</body>
</html> process.jsp:
<%@ page language="java" contentType="text/html"; charset=ISO-8859-1"
pageEncoding="ISO8859-1"%>
<%@page import="java.sql.*,java.util.*"%>
<%
String first_name=request.getParameter("first_name "); String
last_name=request.getParameter("last_name"

); String city_name=request.getParameter("city_name"
); String email=request.getParameter("email"); try {
Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
Statement st=conn.createStatement();
int i=st.executeUpdate("insert into

users(first_name,last_name,city_name,email)values('"+first_name+"','"+last_name+"'
,'"+city_name+"','"
+ema il+"')");
out.println("Data is successfully inserted!");
}

Output:

John

Doe

[email protected]
Code:

Form to accept username and password: login.jsp

<% @page contentType = "text/html" pageEncoding = "UTF-8" %>

< !DOCTYPE html >


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login Page</title>
</head>
<body>
<h1>User Details</h1>
<form method="get" action="acceptuser.jsp">
Enter Username : <input type="text" name="user"><br /><br /> Enter
Password : <input type="password" name="pass"><br />

<input type="submit" value="SUBMIT">

</html>

JSP to accept form data and verify a user: acceptuser.jsp


<% @page contentType = "text/html" pageEncoding = "UTF-8" %>

< !DOCTYPE html >


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Accept User Page</title>
</head>
<body>
<h1>Verifying Details</h1>
<jsp:useBean id="snr" class="John.ValidateUser" />

<p>Username : <jsp:getProperty name="snr" property="user" /></p>

<p>Password : <jsp:getProperty name="snr" property="pass" /></p>

<%if(snr.validate(“John, Doe", “John6969")){%> Welcome!


You are a VALID USER<br />
<%}else{%>

Error! You are an INVALID USER<br />


<%}%>
</body>
</html>

The validateUser.java class

package John;
import java.io.Serializable;
public class ValidateUser implements Serializable { private String
user, pass;
public void setUser(String u1) { this.user = u1; } public void
setPass(String p1) { this.pass = p1; } public String getUser()
{ return user; }

public String getPass() { return pass; }

public boolean validate(String u1, String p1) { if


(u1.equals(user) && p1.equals(pass)) return true;

else

return false;
}
}

Output:

John Doe
John6969

John Doe
John6969
Code:

login.jsp:

<% @page language = "java" contentType = "text/html" pageEncoding = "UTF-8" %>


< !DOCTYPE html >
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BackEnd</title>
</head>
<body>
<h1>User Details</h1>
<form action="/loginServlet" method="post"
onclick="ValidateEmail(document.getElementById('emailId'))">

<div class="container">

<label for="username"><b>Email</b></label>
<input type="text" placeholder="Please enter your email" name="emailId" id="emailId"
required />

<br /><br />

<label for="password"><b>Password</b></label>
<input type="password" placeholder="Please enter Password"
name="password" id="password"

required />

<br /><br />


<button type="submit">Login</button>
</div>
</form>
<script type="text/javascript"> function
ValidateEmail(emailId) {
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2, 3})+$/; if
(emailId.value.match(mailformat)) {
document.getElementById("password").focus();

return true;
} else {
alert("You have entered an invalid email address!");
document.getElementById("emailId").focus();

return false;

}
}
</script>
</body>
</html>

LoginServer.java:

import java.io.IOException;

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("/loginServlet")
public class LoginServlet extends HttpServlet { private
static final long serialVersionUID = 1L; public
LoginServlet() {

super();

}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String emailId = request.getParameter("emailId"); String password
= request.getParameter("password"); System.out.println("emailId.."
+ emailId); System.out.println("password.." + password);

if (emailId != null && emailId.equalsIgnoreCase("[email protected]") && password !=

null && password.equalsIgnoreCase("Kxx6969")) { HttpSession


httpSession = request.getSession();

httpSession.setAttribute("emailId", emailId);
request.getRequestDispatcher("welcome.jsp").forward(request, response);
}

}
}

welcome.jsp:
<% @page language = "java" contentType = "text/html; charset=ISO-8859-1" pageEncoding =
"ISO-8859-1" %>

<html>

<head>
</head>
<body>
Welcome <%=session.getAttribute("emailId") %>
</body>
</html>
Output:

Login view

Client-side validation output:

[email protected]

[email protected]

[email protected]
Code:

import java.io.IOException;

import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import


jakarta.servlet.http.*; @WebServlet("/setCookie")

public class SetCookieServlet extends HttpServlet { @Override

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws


ServletException,

IOException {

String cookieName = "userPref"; String


cookieValue = "darkMode"; int maxAge = 60 *
60 * 24;

Cookie cookie = new Cookie(cookieName, cookieValue);


cookie.setMaxAge(maxAge); response.addCookie(cookie);
response.setContentType("text/plain");
response.getWriter().println("Cookie set successfully!");
}

Output:
Code:

UserServlet.java

import java.io.*; import


javax.servlet.*;
import javax.servlet.http.*; import
java.sql.*;

public class UserServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws


ServletException, IOException {

String action = request.getParameter("action");

if ("register".equals(action)) { register(request,
response);
} else if ("login".equals(action)) { login(request,
response);

private void register(HttpServletRequest request, HttpServletResponse response) throws


ServletException, IOException {

String username = request.getParameter("username"); String password


= request.getParameter("password");

try {

Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb",
"username", "password");
PreparedStatement pst = con.prepareStatement("INSERT INTO users (username,
password) VALUES (?, ?)");

pst.setString(1,username);
pst.setString(2,password);
pst.executeUpdate();
con.close(); response.sendRedirect("registration_success.jsp");
} catch (Exception e) { e.printStackTrace();

}
}

private void login(HttpServletRequest request, HttpServletResponse response) throws


ServletException, IOException {
String username = request.getParameter("username"); String password
= request.getParameter("password");

try {

Class.forName("com.mysql.jdbc.Driver");
Connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb",
"username", "password");

PreparedStatement pst = con.prepareStatement("SELECT * FROM users WHERE


username=? AND password=?");

pst.setString(1, username); pst.setString(2,


password); ResultSet rs = pst.executeQuery();

if (rs.next()) {

HttpSessionsession=request.getSession();
session.setAttribute("username",username);
response.sendRedirect("welcome.jsp");

} else {

response.sendRedirect("login.jsp?error=true");

con.close();

} catch (Exception e) { e.printStackTrace();

}
}

registration.jsp
<html>
<head><title>User Registration</title></head>
<body>
<h2>User Registration</h2>
<form action="UserServlet" method="post">
Username: <input type="text" name="username" required><br> Password: <input
type="password" name="password" required><br>

<input type="hidden" name="action" value="register">


<input type="submit" value="Register">
</form>
</body>
</html>

Login.jsp

<html>

<head><title>User Login</title></head>
<body>
<h2>User Login</h2>
<form action="UserServlet" method="post">
Username: <input type="text" name="username" required><br> Password: <input
type="password" name="password" required><br>

<input type="hidden" name="action" value="login">

<input type="submit" value="Login">


<% if ("true".equals(request.getParameter("error"))) { %>
<p style="color:red;">Invalid username or password</p>
<% } %>
</form>
</body>
</html>

registration_success.jsp
<html>
<head><title>Registration Success</title></head>
<body>
<h2>Registration Successful</h2>
<p>You have successfully registered.</p>
<a href="login.jsp">Login</a>
</body>
</html>

welcome.jsp

<html>

<head><title>Welcome</title></head>
<body>
<h2>Welcome, <%= session.getAttribute("username") %>!</h2>
<p>You are now logged in.</p>
</body>
</html>

Output:
CODE:

UDPServer.java
import java.net.*;
public class UDPServer {
public static void main(String[] args) {
try {
DatagramSocket serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
byte[] sendData;
System.out.println("Server is running...");
while (true) {
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
serverSocket.receive(receivePacket);
String clientMessage = new String(receivePacket.getData(), 0,
receivePacket.getLength());
System.out.println("Received from client: " + clientMessage);
InetAddress clientIP = receivePacket.getAddress();
int clientPort = receivePacket.getPort();
String reply = "Echo: " + clientMessage;
sendData = reply.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, clientIP,
clientPort);
serverSocket.send(sendPacket);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
UDPClient.java
import java.net.*;
import java.util.Scanner;
public class UDPClient {
public static void main(String[] args) {
try {
DatagramSocket clientSocket = new DatagramSocket();
InetAddress serverIP = InetAddress.getByName("localhost");
Scanner sc = new Scanner(System.in);
System.out.print("Enter message: ");
String message = sc.nextLine();
byte[] sendData = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, serverIP,
9876);
clientSocket.send(sendPacket);
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
clientSocket.receive(receivePacket);
String serverReply = new String(receivePacket.getData(), 0,
receivePacket.getLength());
System.out.println("Server says: " + serverReply);
clientSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
OUTPUT:
CODE:

TCPServer
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("Server is running... Waiting for client connection...");
Socket clientSocket = serverSocket.accept();
System.out.println("Client connected!");
BufferedReader in = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream())
);
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
String receivedMessage = in.readLine();
System.out.println("Received from client: " + receivedMessage);
String reply = "Echo: " + receivedMessage;

out.println(reply);
in.close();
out.close();
clientSocket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
TCPClient
import java.io.*;
import java.net.*;
import java.util.Scanner;

public class TCPClient {


public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8888);
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream())
);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
Scanner scanner = new Scanner(System.in);
System.out.print("Enter message to send: ");
String message = scanner.nextLine();
out.println(message);

String serverReply = in.readLine();


System.out.println("Server replied: " + serverReply);
in.close();
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
OUTPUT:
CODE:
import java.applet.Applet;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.Panel;
public class ListenerApplet extends Applet implements ActionListener,
MouseListener {
private String message = "Click, hover";
private Color shapeColor = Color.WHITE;

public void init() {


Panel cp = new Panel();
Button btn = new Button("Change Color");
Font buttonFont = new Font("Arial", Font.BOLD, 18);
btn.setFont(buttonFont);
btn.setBackground(new Color(50, 100, 150));
btn.setForeground(Color.WHITE);
btn.addActionListener(this);
cp.add(btn);
addMouseListener(this);
add(cp);
}
public void actionPerformed(ActionEvent e) {
shapeColor = shapeColorFn();
repaint();
}
public void mouseClicked(MouseEvent e) {
message = "Mouse Clicked at (" + e.getX() + ", " + e.getY() + ")";
repaint();
}
public void mouseEntered(MouseEvent e) {
message = "Mouse Entered!";
repaint();
}
public void mouseExited(MouseEvent e) {
message = "Mouse Exited!";
repaint();

}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void paint(Graphics g) {
int centerX = getWidth() / 2;
int centerY = getHeight() / 2;
g.setColor(shapeColor);
g.fillRoundRect(centerX - 100, centerY - 50, 200, 100, 20, 20);
g.setFont(new Font("Arial", Font.PLAIN, 18));
g.setColor(Color.BLACK);
g.drawString(message, 10, 40);
}
private Color shapeColorFn() {
int red = (int) (Math.random() * 256);
int green = (int) (Math.random() * 256);
int blue = (int) (Math.random() * 256);
return new Color(red, green, blue);
}
}

OUTPUT:
CODE:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class RequestHeaderServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();

out.println("<html><body style='font-family:monospace;'>");
out.println("<h2>Request Headers</h2>");
out.println("<table border='1' cellpadding='5'>");
out.println("<tr><th>Header Name</th><th>Header Value</th></tr>");
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
String headerValue = request.getHeader(headerName);
out.println("<tr><td>" + headerName + "</td><td>" + headerValue +
"</td></tr>");
}
out.println("</table>");
out.println("</body></html>");
}
}
OUTPUT:

You might also like