Professional Documents
Culture Documents
Null PDF
Null PDF
Practical : 1
Aim : Create chat application using TCP & UDP protocol. Connection on both sides should
end if any one of them types ‘bye’. Implement this on localhost as well as on multiple devices.
Input:
Server Tcp
package server;
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class server extends Thread{
ServerSocket ss=null;
Socket s=null;
public server(int port) throws Exception {
ss=new ServerSocket(port);
System.out.println("waiting");
s=ss.accept();
System.out.println("server connected to client");
DataInputStream dis=new DataInputStream(s.getInputStream());
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
String str,str1;
Scanner sc =new Scanner(System.in);
while(true) {
str=dis.readUTF();
if((str.equals("Bye"))) {
dos.writeUTF(str);
break;}
System.out.println(" "+str+":C");
str1=sc.nextLine();
dos.writeUTF(str1);
}
s.close();
System.out.println("server disconnected");
}
public static void main(String []args) throws Exception {
server s=new server(9090);
}
}
Client Tcp
package server;
import java.io.*;
import java.net.*;
import java.util.Scanner;
String str;
while(true) {
str=br.readLine();
dos.writeUTF(str);
String str1=(String)dis.readUTF();
if((str1.equals("bye")))
{
dos.writeUTF(str);
break;
}
System.out.println(" "+str1+":S");
}
System.out.println("client disconnected");
dis.close();
s.close();
}
public static void main(String []args) throws Exception {
client c=new client("127.0.0.1",9090);
}
}
Server Udp
package udpchat;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.util.Scanner;
import java.io.BufferedInputStream;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
UDP Server
hii--C
hii
how Are u??--C
fine !! and you
fine--C
bye
UDP Client
hii
hii--s
how Are u??
fine !! and you--s
fine
bye--s
bye
page. 4
Dipen Mavani 17080116036
Practical : 2
Aim : Write a network program in which client send a text file to server and server returns
number of characters, lines, words and sentences of that file to client using TCP & UDP.
Input:
TCP Server
package prac2;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
while((string=dis.readUTF())!=null) {
if(string.equals("exit")) {
break;
}
System.out.println(string);
word=string.split(" ");
no_of_word=word.length;
for(String x:word) {
no_of_char+=x.length();
}
no_of_sentence++;
}
}
}
TCP Client
package prac2;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
String string;
System.out.println(dis.readUTF());
dis.close();
br.close();
dos.close();
socket.close();
}
UDP Server
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.util.Scanner;
ds.receive(dp);
}
else if(c==' '&& str.charAt(i+1)!=' ') {
no_of_word++;
}
else {
no_of_char++;
}
System.out.println(no_of_char);
}
String data="total no of Character :"+no_of_char+"Total no of
Word"+no_of_word+"Total no of Sentence"+no_of_sentence;
dp2=new DatagramPacket(data.getBytes(),data.length(),dp.getAddress(),dp.getPort());
ds.send(dp2);
}
public static void main(String[]args) throws Exception {
server su=new server(9091);
}
}
UDP Client
import java.io.File;
import java.io.FileInputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
page. 7
Dipen Mavani 17080116036
}
public static void main(String []args) throws Exception {
client uc=new client(9091);
}
}
Output:
TCP Server
waiting
Connected
Dipen Mavani
i study in LDCE
In Branch Information Technology
hearserver
sent success fully
TCP Client
total no of Character :52Total no of Word4Total no of Sentence3
UDP Server
waiting
connected
Dipen Mavani
i study in LDCE
In Branch Information Technology
exit
UDP Client
sent successfully
total no of Character :59Total no of Word7Total no of Sentence3
page. 8
Dipen Mavani 17080116036
Practical : 3
Aim : Implement any one sorting algorithm using TCP/UDP on Server application. Client
sends numbers to the server, server sorts them and passes back to the client.
Input:
Client
package ftptcp;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
s.close();
System.out.println("hiii");
}
page. 9
Dipen Mavani 17080116036
Server
package ftptcp;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
import org.omg.CORBA.DataOutputStream;
System.out.println("Send Successfully");
bis.close();
s.close();
ss.close();
System.out.println("Success");
}
}
Output:
Client File
4
3
2
8
6
7
78
55
4
6
Server File
2
3
4
4
6
6
7
8
55
78
page. 11
Dipen Mavani 17080116036
Practical : 4
Aim : Implement Concurrent TCP Server programming in which more than one client can
connect and communicate with Server for sending the string and server returns the reverse of
string to each client.
Input:
Server
package multipleclient;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
}
}
}
class handle extends Thread{
public static int count=0;
DataInputStream dis=null;
DataOutputStream dos=null;
Socket s;
public handle(Socket s1, DataInputStream dis1,DataOutputStream dos2) throws IOException {
s=s1;
dis=dis1;
dos=dos2;
}
public void run(){
try {
count++;
StringBuffer rev=new StringBuffer(dis.readUTF());
System.out.println(rev.reverse());
String strr=new String(rev);
dos.writeUTF(strr+" to client:->"+count);
dos.close();
dis.close();
s.close();
}
page. 12
Dipen Mavani 17080116036
catch(Exception E) {
System.out.println(E);
}
}
}
Client
package multipleclient;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
}
Output:
Client
Dipen
LDCE
Abc
Xyz
Server
nepiD to client:->1
ECDL to client:->2
cbA to client:->3
zyX to client:->4
page. 13
Dipen Mavani 17080116036
Practical : 5
Aim : Write a JDBC program to perform all CRUD operations on data stored in student
table containing the columns for roll number, name and result in percentage using Statement
and Updatable ResultSet.
Input:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
public class jdbc{
public static void main(String args[]) throws Exception {
String url = "jdbc:mysql://localhost:3306/mydata";
String user = "root";
String pass = "root";
case 4:
preparedStatement=con.prepareStatement("DELETE FROM stucache
WHERE enrollment_no = ?");
System.out.println("insert student id :");
int id1=sc.nextInt();
preparedStatement.setInt(1, id1);
int val=preparedStatement.executeUpdate();
if(val==1)
System.out.println("Data with this "+id1+" is deleted ");
else
System.out.println("Data with this record is not found");
break;
case 5:
flag =false;break;
default:
System.out.println("you had done wrong choise");break;
}
}
}
}
Output:
1:for create
2:for update
3:for read
4:for delete
5:for exit
insert student id :
556
11:for update id 22:for update branch 33: for update name 44:for update marks
page. 16
Dipen Mavani 17080116036
page. 17
Dipen Mavani 17080116036
Practical : 6
Aim : Create a Menu driven program in JDBC for the information given below. Implement it
using:
a) Prepared Statement
b) Callable Statement
Create following Table schema:
1. Employee_Detail (employee_number number NOT NULL Primary key, employee_name
varchar2(50) NOT NULL, department_id number, salary number, department_name
varchar2(50) NOT NULL).
2. Emp_Personal_detail (employee_number number as foreign key, emp_designation
varchar2(20), basic_salary number, allowance number, hiredate date, phone_number
varchar2(20), email varchar2(25), photo as blob, resume as clob, emp_address
varchar2(100)).
• Display all the Records from the both tables by employee_number.
• Insert Record into the Table. (Hint: - create stored procedure insertdata() in PL/SQL to
insert all the field in both tables. Call the procedure from java application when using
Callable Statement).
• Update The existing record by asking employee_number) (HINT: - Take Updable
Resultset)
• Delete Record by asking employee_number)) (Hint: - Take Updable Resultset)
• Program should handle SQLException and SqlWarning.
Input:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Blob;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.util.Scanner;
import javax.sql.rowset.serial.SerialBlob;
Connection con ;
System.out.println("....................updated successfull...................");
System.out.println("are you want to commit ? if yes press 1 or for rollback press 2");
int test=sc.nextInt();
if(test==1) {con.commit();}
else {con.rollback();}
System.out.println("..................Employee data....................");
ShowData();
break;
}
case 2: {
System.out.println("....................updated successfull...................");
System.out.println("are you want to commit ? if yes press 1 or for rollback press 2");
int test=sc.nextInt();
if(test==1) {con.commit();}
else {con.rollback();}
System.out.println("..................Employee data....................");
ShowData();
break;
}
case 3: {
System.out.println("....................updated successfull...................");
System.out.println("are you want to commit ? if yes press 1 or for rollback press 2");
int test=sc.nextInt();
if(test==1) {con.commit();}
else {con.rollback();}
System.out.println("..................Employee data....................");
ShowData();
break;
}
case 4: {
System.out.println("enter a new department name");
System.out.println("....................updated successfull...................");
System.out.println("are you want to commit ? if yes press 1 or for rollback press 2");
int test=sc.nextInt();
if(test==1) {con.commit();}
else {con.rollback();}
System.out.println("..................Employee data....................");
ShowData();
break;
}
default:
throw new IllegalArgumentException("Unexpected value: " + choice);
}
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","root");
con.setAutoCommit(false);
System.out.println("enter a employee id ");
int id = sc.nextInt();
String queryForeign = "DELETE FROM emp_personal_detail WHERE employee_number ="+id;
String query = "DELETE FROM employee_detail WHERE employee_number ="+id;
PreparedStatement stmt = con.prepareStatement(queryForeign);
PreparedStatement stmt1 = con.prepareStatement(query);
stmt.executeUpdate();
stmt1.executeUpdate();
stmt.close();
stmt1.close();
page. 20
Dipen Mavani 17080116036
System.out.println("recorde deleted successfull");
System.out.println("are you want to commit ? if yes press 1 or for rollback press 2");
int test=sc.nextInt();
if(test==1) {con.commit();}
else {con.rollback();}
System.out.println("..................Employee data....................");
ShowData();
System.out.println("..................Employee data....................");
page. 21
Dipen Mavani 17080116036
ShowData();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM student.employee_detail d join
student.emp_personal_detail p where d.employee_number=p.employee_number");
while (rs.next()) {
for (int i = 1; i <= 15; i++) {
if(i==13 || i==14)continue;
System.out.printf("%-20s",rs.getString(i));
}
System.out.println();
}
while(loop) {
int choice;
System.out.println("enter your choice \n 1. for show entry \n 2. for insert new employee \n
3.for update by employee number \n 4. for delete by employee number");
choice = sc.nextInt();
switch (choice) {
case 1: {
emp.ShowData();
break;
}
case 2: {
emp.InsertEmployee();
break;
}
case 3: {
emp.UpdateEmployee();
break;
}
case 4: {
emp.DeleteEmployee();
break;
page. 22
Dipen Mavani 17080116036
}
case 5: {
loop =false;
break;
}
default:
throw new IllegalArgumentException("Unexpected value: " + choice);
}
}
}
}
Output:
enter your choice
1. for show entry
2. for insert new employee
3.for update by employee number
4. for delete by employee number
1
Aim : Write a JDBC program for transaction management for practical no. 5 or 6. Use
checkpoints, commit and rollback features.
Input:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Blob;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.util.Scanner;
import javax.sql.rowset.serial.SerialBlob;
Connection con ;
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","root");
con.setAutoCommit(false);
System.out.println("enter a employee id ");
int id = sc.nextInt();
String queryForeign = "DELETE FROM emp_personal_detail WHERE employee_number ="+id;
String query = "DELETE FROM employee_detail WHERE employee_number ="+id;
PreparedStatement stmt = con.prepareStatement(queryForeign);
PreparedStatement stmt1 = con.prepareStatement(query);
stmt.executeUpdate();
stmt1.executeUpdate();
stmt.close();
stmt1.close();
System.out.println("recorde deleted successfull");
System.out.println("are you want to commit ? if yes press 1 or for rollback press 2");
int test=sc.nextInt();
if(test==1) {con.commit();}
else {con.rollback();}
page. 24
Dipen Mavani 17080116036
System.out.println("..................Employee data....................");
ShowData();
}
private void ShowData() throws SQLException {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM student.employee_detail d join
student.emp_personal_detail p where d.employee_number=p.employee_number");
while (rs.next()) {
for (int i = 1; i <= 15; i++) {
if(i==13 || i==14)continue;
System.out.printf("%-20s",rs.getString(i));
}
System.out.println();
}
Output:
enter a employee id
4
recorde deleted successfull
are you want to commit ? if yes press 1 or for rollback press 2
2
..................Employee data....................
1 Dipen 101 5000.0 it 1 devloper 6000.0
2 2020-02-25 9944558855 dd@gmail.com null
4 rajesh 101 2223.0 ec 4 de 6000.0
2 2020-02-25 9944558855 ae@gmail.com null
5 renis 101 2223.0 elec 5 de 6000.0
2 2020-02-25 9944558855 re@gmail.com null
page. 25
Dipen Mavani 17080116036
Practical : 8
Aim : a) Write a servlet to display age of a person by asking his/her date of birth. b) Write a
Servlet Program to Print Today’s Date and time using refresh header..
Input:
a)
Servlet
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
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;
/**
* Servlet implementation class Age
*/
@WebServlet("/Age")
public class Age extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Age() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
page. 26
Dipen Mavani 17080116036
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
String date=request.getParameter("date");
Date date1;
DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");
Html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="/prac8/Age">
<input type="date" name="date"/>
<input type="submit">
</form>
</body>
</html>
Output:
a):
page. 27
Dipen Mavani 17080116036
Input:
b):
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class AutoRefresh
*/
@WebServlet("/AutoRefresh")
public class AutoRefresh extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AutoRefresh() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setIntHeader("Refresh", 1);
response.setContentType("text/html");
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
Output:
b)
page. 29
Dipen Mavani 17080116036
Practical : 9
Aim : Write a servlet which accepts 10+ numbers using the post method as well as get
method and displays the arithmetic mean, geometric mean and harmonic mean of those
numbers..
Input:
package Servlet;
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("/First")
public class First extends HttpServlet {
double sum =0;
double sum1=1;
double sum3=0;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.sendRedirect("Number.html");
}
page. 30
Dipen Mavani 17080116036
Number.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
Output:
Get
Post
page. 31
Dipen Mavani 17080116036
Practical : 10
Aim : a) Write a servlet to store your personal details as a cookie and then display it by
reading from the cookie.
b) Write a Servlet that uses cookies to store the number of times a user has visited the page.
Input:
A)
Get Servlet:
package Prac10;
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("/DisplayServlet")
public class DisplayServlet extends HttpServlet {
try{
response.setContentType("text/html");
PrintWriter pwriter = response.getWriter();
Cookie c[]=request.getCookies();
pwriter.print("email: "+c[1].getValue());
pwriter.close();
}catch(Exception exp){
System.out.println(exp);
}
}
page. 32
Dipen Mavani 17080116036
Post Servlet
package Prac10;
import java.io.IOException;
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("/PracA")
public class PracA extends HttpServlet {
response.sendRedirect("Personal.html");
}
response.addCookie(c1);
response.addCookie(c2);
response.sendRedirect("/Prac10/DisplayServlet");
}
}
Person.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/Prac10/PracA" method="post">
<input name="name" placeholder="enter a name" type="text" />
<input name="email" placeholder="enter a email address" type="text" />
page. 33
Dipen Mavani 17080116036
B)
package Prac10;
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("/PracB")
public class PracB extends HttpServlet {
private static final long serialVersionUID = 1L;
int i = 0;
Cookie [] c2 = request.getCookies();
pwriter.print("total visits: "+c2[0].getValue());
}
doGet(request, response);
}
}
page. 34
Dipen Mavani 17080116036
Output: –
page. 35