You are on page 1of 76

Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

RMI

Develop GUI application where client sends emp id to server & then
server sends employee detail to client.(Using emp.txt file)

Employee.java

import java.rmi.*;
public interface Employee extends Remote
{
public String getEmp(String empid) throws RemoteException;
}

EmployeeImpl.java

import java.rmi.*;
import java.io.*;
import java.rmi.server.*;
import java.util.*;
public class EmployeeImpl extends UnicastRemoteObject implements
Employee
{
EmployeeImpl()throws RemoteException
{
}
public String getEmp(String empid) throws RemoteException
{
String fdata;
try
{
BufferedReader ip_br=new
BufferedReader(new FileReader("emp.txt"));
while((fdata=ip_br.readLine())!=null)
{
StringTokenizer st=new StringTokenizer(fdata);
String tempid=st.nextToken();
String tempnm=st.nextToken();
String tempsal=st.nextToken();
String tempdesg=st.nextToken();
if(tempid.equals(empid))
{
return new
String(tempnm+"|"+tempsal+"|"+tempdesg);
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

catch(Exception e)
{
System.out.println("ERR="+e);
}
return null; //not found

Server.java

import java.rmi.*;
import java.rmi.server.*;
public class Server
{
public static void main(String args[])
{
try
{
EmployeeImpl e=new EmployeeImpl();
Naming.rebind("empobj",e);
}
catch(Exception e)
{
System.out.println("ERR:"+e);
}
}
}

ClientGUI.java

import java.rmi.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
class MyWindowAdapter extends WindowAdapter
{
Frame f;
MyWindowAdapter()
{
f=null;
}
MyWindowAdapter(Frame f1)
{
f=f1;
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

public void windowClosing(WindowEvent e)


{
f.dispose();
}
}

public class ClientGUI extends Frame implements ActionListener


{
Label lblempid,lblempnm,lblempsal,lblempdesg,lblresult;
TextField txtempid,txtempnm,txtempsal,txtempdesg;
Button btn;
ClientGUI()
{
setLayout(new FlowLayout(FlowLayout.LEFT));

lblempid=new Label("EMP ID :");


txtempid=new TextField(10);

lblempnm=new Label("EMP NAME :");


txtempnm=new TextField(20);

lblempsal=new Label("GROSS SALARY :");


txtempsal=new TextField(10);

lblempdesg=new Label("DESIGNATION :");


txtempdesg=new TextField(20);

btn=new Button(" Search EMP ");


Panel p1=new Panel();
p1.add(lblempid);
p1.add(txtempid);

Panel p2=new Panel();


p2.add(lblempnm);
p2.add(txtempnm);

Panel p3=new Panel();


p3.add(lblempsal);
p3.add(txtempsal);

Panel p4=new Panel();


p4.add(lblempdesg);
p4.add(txtempdesg);
add(p1);
lblresult=new Label(" Status Of Search ");
add(lblresult);
add(btn);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

add(p2);
add(p3);
add(p4);

MyWindowAdapter adp=new MyWindowAdapter(this);


btn.addActionListener(this);
addWindowListener(adp);

}
public void actionPerformed(ActionEvent ae)
{
try
{
String path="rmi://localhost/empobj";
Employee e=(Employee)Naming.lookup(path);
String data=e.getEmp(txtempid.getText());
if(data==null)
{
lblresult.setText(" Emp not Found !!!!");
txtempnm.setText("");
txtempsal.setText("");
txtempdesg.setText("");
}
else
{
lblresult.setText(" Emp Found !!!!");
StringTokenizer st=new StringTokenizer(data,"|");
txtempnm.setText(st.nextToken());
txtempsal.setText(st.nextToken());
txtempdesg.setText(st.nextToken());
}
}
catch(Exception e)
{
System.out.println("ERR:"+e);
}

}
public static void main(String args[])
{
ClientGUI c=new ClientGUI();
c.setTitle(" Search EMP...");
c.setVisible(true);
c.setSize(300,300);
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Emp_detail.txt

e001 Ravi Sawant 25000 Manager


e002 Meena Dev 2500 Assistent
e003 Priya Achrya 15000 Tester
e004 Prabhu Sheva 1600 Clark

TEST RUN RESULT :

SERVER :
javac Employee.java
javac EmployeeImpl.java
javac Server.java
rmic EmployeeImpl
start rmiregistry
java Server

CLIENT :
javac Cl*.java
java ClientGUI
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop GUI application where client select product names then


server calculates price for selected products.(Using product.txt file)

Product.java

import java.rmi.*;
public interface Product extends Remote
{
public String getProduct(String pid) throws RemoteException;
}

ProductImpl.java

import java.rmi.*;
import java.io.*;
import java.rmi.server.*;
import java.util.*;
public class ProductImpl extends UnicastRemoteObject implements Product
{
ProductImpl()throws RemoteException
{}

public String getProduct(String pid) throws RemoteException


{
String fdata;
try
{
BufferedReader ip_br=new
BufferedReader(new
FileReader("productDetail.txt"));

while((fdata=ip_br.readLine())!=null)
{
StringTokenizer st=new StringTokenizer(fdata);
String id=st.nextToken();
String price=st.nextToken();

if(id.equals(pid))
{
int pri=Integer.parseInt(price);
if(pri>1000)
pri-=(pri*0.20);
else
pri-=(pri*0.10);
return new String(pri+"");

}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

}
}
catch(Exception e)
{
System.out.println("ERR="+e);
}
return null; //not found

Server.java

import java.rmi.*;
import java.rmi.server.*;
public class Server
{
public static void main(String args[])
{
try
{
ProductImpl e=new ProductImpl();
Naming.rebind("proobj",e);
}
catch(Exception e)
{
System.out.println("ERR: "+e);
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Client.java

import java.rmi.*;
import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="Client" width=500 height=500></applet>
*/
public class Client extends Applet implements ActionListener,ItemListener
{
Label lbl;
Choice chnm;
java.awt.List lstnm;
Button btn,btnreset;
String msg="hello";
int x,y;
Product p;
public Client()
{
lbl=new Label("Select Product : ");
btn=new Button("Calculate Price");
btnreset=new Button("Reset");
chnm=new Choice();
//add into combo from file
try
{
BufferedReader ip_br=new
BufferedReader(new
FileReader("productDetail.txt"));
String fdata;
while((fdata=ip_br.readLine())!=null)
{
StringTokenizer st=new StringTokenizer(fdata);
chnm.add(st.nextToken());
}
ip_br.close();
}
catch(Exception e1)
{
System.out.println("ERR:"+e1);
}

lstnm=new java.awt.List(5,true);
add(lbl);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

add(chnm);
add(lstnm);
add(btn);
add(btnreset);

btn.addActionListener(this);
btnreset.addActionListener(this);
lstnm.addActionListener(this);
chnm.addItemListener(this);
try
{
String path="rmi://localhost/proobj";
p=(Product)Naming.lookup(path);
}
catch(Exception e1)
{
System.out.println("ERR:"+e1);
}

}
public void itemStateChanged(ItemEvent e)
{
lstnm.add(chnm.getSelectedItem());
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btn)
{
repaint();

}
else if(e.getSource()==btnreset)
{
lstnm.removeAll();
repaint();
}

}
public void init(){}
public void start()
{
}
public void paint(Graphics g)
{
x=30;
y=120;
g.drawString("PRODUCT DETAILS",x,y);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

for(int i=0;i<lstnm.getItemCount();i++)
{
try
{
String nm=lstnm.getItem(i);
String price=p.getProduct(nm);
y+=20;
g.drawString(nm,x,y);
g.drawString(price,x+60,y);
}
catch(Exception e1)
{
System.out.println("ERR:"+e1);
}
}
}
public void stop(){}
public void destroy(){}
}

ProductDetail.txt

Pen 15
Pencil 10
Scale 7
Paper 6
NoteBook 2000
Diary 5000
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

SERVER :
javac Product.java
javac ProductImpl.java
javac Server.java
rmic ProductImpl
start rmiregistry
java Server

CLIENT :
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop menu driven application for calculator.

calculator.java

import java.rmi.*;
public interface calculator extends Remote
{
public int add(int a,int b) throws RemoteException;
public int sub(int a,int b) throws RemoteException;
public int mul(int a,int b) throws RemoteException;
public int div(int a,int b) throws RemoteException;
}

calculatorImpl.java

import java.rmi.*;
import java.io.*;
import java.rmi.server.*;
import java.util.*;
public class calculatorImpl extends UnicastRemoteObject implements
calculator
{
calculatorImpl()throws RemoteException
{}
public int add(int a,int b) throws RemoteException
{
return a+b;
}
public int sub(int a,int b) throws RemoteException
{
return a-b;
}
public int mul(int a,int b) throws RemoteException
{
return a*b;
}
public int div(int a,int b) throws RemoteException
{
If(b==0)
return 0;
return a/b;
}

}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Server.java

import java.rmi.*;
import java.rmi.server.*;
public class Server
{
public static void main(String args[])
{
try
{
calculatorImpl e=new calculatorImpl();
Naming.rebind("calobj",e);
}
catch(Exception e)
{
System.out.println("ERR:"+e);
}
}
}

Client.java

import java.rmi.*;
import java.io.*;
class Client
{
public static void main(String args[])
{
try
{
String path="rmi://localhost/calobj";
calculator e=(calculator)Naming.lookup(path);
BufferedReader br=new
BufferedReader(new
InputStreamReader(System.in));
while(true)
{
System.out.println("-------Cal Menu--------");
System.out.println("Press 1 for Addition");
System.out.println("Press 2 for Subtraction");
System.out.println("Press 3 for Multiplication");
System.out.println("Press 4 for Division");
System.out.println("Press else for Exit");
System.out.println("-------------------------");
System.out.print("Enter Choice : ");
int ch=Integer.parseInt(br.readLine());
if(ch<1 || ch>4)
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

{
System.out.println(" Stop Running... ");
break;
}
System.out.print("Enter Number 1 : ");
String n1=br.readLine();
int num1=Integer.parseInt(n1);
System.out.print("Enter Number 2 : ");
int num2=Integer.parseInt(br.readLine());
if(ch==1)
System.out.println(num1+" + "+num2+" =
"+e.add(num1,num2));
else if(ch==2)
System.out.println(num1+" - "+num2+" =
"+e.sub(num1,num2));
else if(ch==3)
System.out.println(num1+" * "+num2+" =
"+e.mul(num1,num2));
else if(ch==4)
System.out.println(num1+" / "+num2+" =
"+e.div(num1,num2));

}
}

catch(NumberFormatException en)
{System.out.println(" Stop Running... ");
}
catch(Exception e)
{
System.out.println("ERR:"+e);
}

}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

SERVER :
javac calculator.java
javac calculatorImpl.java
javac Server.java
rmic calculatorImpl
start rmiregistry
java Server

CLIENT :
javac Client.java
java Client

-------Cal Menu--------
Press 1 for Addition
Press 2 for Subtraction
Press 3 for Multiplication
Press 4 for Division
Press else for Exit
-------------------------
Enter Choice : 1
Enter Number 1 : 66
Enter Number 2 : 22
66 + 22 = 88
-------Cal Menu--------
Press 1 for Addition
Press 2 for Subtraction
Press 3 for Multiplication
Press 4 for Division
Press else for Exit
-------------------------
Enter Choice : 3
Enter Number 1 : 5
Enter Number 2 : 3
5 * 3 = 15
-------Cal Menu--------
Press 1 for Addition
Press 2 for Subtraction
Press 3 for Multiplication
Press 4 for Division
Press else for Exit
-------------------------
Enter Choice : 9
Stop Running...
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an application for withdrawing and depositing money from


saving account through ATM of any bank.

ATM.java

import java.rmi.*;

public interface ATM extends Remote


{
public int deposit(String PIN,int amt) throws RemoteException;
public int withdraw(String PIN,int amt) throws RemoteException;

ATMImpl.java

import java.rmi.*;
import java.io.*;
import java.rmi.server.*;
import java.util.*;
public class ATMImpl extends UnicastRemoteObject implements ATM
{
ATMImpl()throws RemoteException
{}

public int deposit(String PIN,int amt) throws RemoteException


{
String fdata;
try
{
BufferedReader ip_br=new
BufferedReader(new FileReader("ATMDetail.txt"));
while((fdata=ip_br.readLine())!=null)
{
StringTokenizer st=new StringTokenizer(fdata);
String epin=st.nextToken();
if(epin.equals(PIN))
{
String tempnm=st.nextToken();
String tempbal=st.nextToken();
int
newamt=amt+Integer.parseInt(tempbal);
return newamt;
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

catch(Exception e)
{
System.out.println("ERR="+e);
}
return -1; //not found

}
public int withdraw(String PIN,int amt) throws RemoteException
{
String fdata;
try
{
BufferedReader ip_br=new
BufferedReader(new FileReader("ATMDetail.txt"));
while((fdata=ip_br.readLine())!=null)
{
StringTokenizer st=new StringTokenizer(fdata);
String epin=st.nextToken();
if(epin.equals(PIN))
{
String tempnm=st.nextToken();
String tempbal=st.nextToken();

int newamt=Integer.parseInt(tempbal);
if(newamt > amt)
newamt=newamt-amt;
else
newamt=-2;
return newamt;
}
}

}
catch(Exception e)
{
System.out.println("ERR="+e);
}
return -1; //not found

}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Server.java

import java.rmi.*;
import java.rmi.server.*;
public class Server
{
public static void main(String args[])
{
try
{
ATMImpl e=new ATMImpl();
Naming.rebind("atmobj",e);
}
catch(Exception e)
{
System.out.println("ERR:"+e);
}
}
}

ClientGUI.java

import java.rmi.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
class MyWindowAdapter extends WindowAdapter
{
Frame f;
MyWindowAdapter()
{
f=null;
}
MyWindowAdapter(Frame f1)
{
f=f1;
}
public void windowClosing(WindowEvent e)
{
f.dispose();
}
}
public class ClientGUI extends Frame implements ActionListener
{
Label lblpin,lbltran,lblamt,lblnewamt,lblresult;
TextField txtpin,txtamt;
Choice chtrn;
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Button btn;
ATM e;
ClientGUI()
{
setLayout(new FlowLayout(FlowLayout.LEFT));

lblpin=new Label("PIN :");


txtpin=new TextField(10);

lbltran=new Label("Transaction :");


chtrn=new Choice();
chtrn.add("Deposit");
chtrn.add("Withdraw");

lblamt=new Label("Amount :");


txtamt=new TextField(10);

lblnewamt=new Label(" ");


lblnewamt.setSize(80,10);

btn=new Button(" OK ");


Panel p1=new Panel();
p1.add(lblpin);
p1.add(txtpin);

Panel p2=new Panel();


p2.add(lbltran);
p2.add(chtrn);

Panel p3=new Panel();


p3.add(lblamt);
p3.add(txtamt);

Panel p4=new Panel();


p4.add(lblnewamt);

add(p1);
add(p2);
add(p3);
add(btn);
add(p4);

MyWindowAdapter adp=new MyWindowAdapter(this);


btn.addActionListener(this);
addWindowListener(adp);
try
{
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

String path="rmi://localhost/atmobj";
e=(ATM)Naming.lookup(path);
}
catch(Exception e)
{
System.out.println("ERR:"+e);
}
}
public void actionPerformed(ActionEvent ae)
{
try
{
int newamt;
if(chtrn.getSelectedIndex()==0) //Deposit

newamt=e.deposit(txtpin.getText(),Integer.parseInt(txtamt.getText()));
else

newamt=e.deposit(txtpin.getText(),Integer.parseInt(txtamt.getText()));

if(newamt==-1)
lblnewamt.setText("Wrong PIN number !!!");
else if(newamt==-2)
lblnewamt.setText
("Current Balance is Greater than withdrawn
amt !!!");
else
lblnewamt.setText("Current Balance : "+newamt);

}
catch(Exception e)
{
System.out.println("ERR:"+e);
}

}
public static void main(String args[])
{
ClientGUI c=new ClientGUI();
c.setTitle(" ATM Interface...");
c.setVisible(true);
c.setSize(300,300);
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

ATMDetail.txt

1001 Ravi_Sawant 25000


2202 Meena_Dev 2500
3503 Priya_Achrya 15000
8504 Prabhu_Sheva 1600

TEST RUN RESULT :

SERVER :
javac ATM.java
javac ATMImpl.java
javac server.java
rmic ATMImpl
start rmiregistry
java server

CLIENT :
javac ClientGUI.java
java ClientGUI
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an application where client accepts a string and the server


sends to the client the reversed string.

Reverse.java

public interface Reverse extends java.rmi.Remote


{
public String strrev(String str) throws java.rmi.RemoteException;
}

ReverseImpl.java

public class ReverseImpl extends java.rmi.server.UnicastRemoteObject


implements Reverse
{

public ReverseImpl() throws java.rmi.RemoteException


{
super();
}
public String strrev(String s1) throws java.rmi.RemoteException
{
String s2="";
int n,i;
System.out.println(s1);
n=s1.length();
System.out.println(n);
for(i=n-1;i>=0;i--)
{
s2+=s1.charAt(i);
}
System.out.println(s2);
return s2;
}
}

ReverseServer.java

import java.rmi.Naming;

public class ReverseServer


{
public ReverseServer()
{
try
{
Reverse r = new ReverseImpl();
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Naming.rebind("ReverseString", r);
}
catch (Exception e)
{
System.out.println("Trouble: " + e);
}
}

public static void main(String args[])


{
new ReverseServer();
}
}

ReverseClient.java

import java.rmi.Naming;
import java.rmi.RemoteException;
import java.net.MalformedURLException;
import java.rmi.NotBoundException;

public class ReverseClient


{
public static void main(String[] args)
{
try
{
Reverse r =
(Reverse)Naming.lookup("rmi://localhost/ReverseS
tring");
System.out.println( r.strrev("SVIT"));
}
catch (MalformedURLException murle)
{
System.out.println();
System.out.println("MalformedURLException");
System.out.println(murle);
}
catch (RemoteException re)
{
System.out.println();
System.out.println("RemoteException");
System.out.println(re);
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

catch (NotBoundException nbe)


{
System.out.println();
System.out.println("NotBoundException");
System.out.println(nbe);
}

}
}

OUTPUT

java ReverseClient
TIVS
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an application for purchasing something from a shop


through credit card of any bank. Shopper first checks that credit
card is valid or not (through credit card code number), if not, create
new one. Then purchase any item through existing credit card or
new one). The credit limit is Rs. 5000/- and initially balance is 0
(before purchasing anything). After purchasing, total purchasing
amount will be added to balance(balance + purchasing amount <
credit limit) and immediately same amount will be deducted from
credit limit. When buyer gives payment (partial or full), that
payment amount will be deducted from balance.

Creditcard.java

import java.rmi.*;

public interface Creditcard extends Remote


{
public float getcreditline() throws RemoteException;
public void makepurchase(float amount,int sign) throws
RemoteException;
public void paytowardsbalance(float amount) throws RemoteException;
}

CreditcardImpl.java

import java.rmi.*;
import java.rmi.server.*;

public class CreditcardImpl extends UnicastRemoteObject implements


Creditcard
{
float currentbalance=0;
float creditline=5000;
int sign=0;
String accountname;

public CreditcardImpl(String customer) throws RemoteException


{
accountname=customer;
sign=1234;
}
public CreditcardImpl(String name,int s,float bal,float line) throws
RemoteException
{
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

accountname=name;
sign=s;
currentbalance=bal;
creditline=line;
}

public float getcreditline() throws RemoteException


{
return creditline;
}
public float getcurrentbalance() throws RemoteException
{
return currentbalance;
}
public int getsign() throws RemoteException
{
return sign;
}

public void paytowardsbalance(float money) throws RemoteException


{
currentbalance=currentbalance-money;
}

public void makepurchase(float amount,int sign) throws


RemoteException
{
if(sign==this.sign)
{
if(currentbalance+amount < creditline)
{
currentbalance+=amount;
creditline-=amount;
System.out.println(creditline);
}
}
}
}

CreditcardManager.java

import java.rmi.*;

public interface CreditcardManager extends Remote


{
public Creditcard findcreditaccount(String customer) throws Exception;
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

public Creditcard newcreditaccount(String newcustomer) throws


Exception;
}
CreditcardManagerImpl.java

import java.rmi.*;
import java.rmi.server.*;

public class CreditcardImpl extends UnicastRemoteObject implements


Creditcard
{
float currentbalance=0;
float creditline=5000;
int sign=0;
String accountname;

public CreditcardImpl(String customer) throws RemoteException


{
accountname=customer;
sign=1234;
}
public CreditcardImpl(String name,int s,float bal,float line)
throws RemoteException
{
accountname=name;
sign=s;
currentbalance=bal;
creditline=line;
}

public float getcreditline() throws RemoteException


{
return creditline;
}
public float getcurrentbalance() throws RemoteException
{
return currentbalance;
}
public int getsign() throws RemoteException
{
return sign;
}

public void paytowardsbalance(float money) throws RemoteException


{
currentbalance=currentbalance-money;
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

}
public void makepurchase(float amount,int sign) throws RemoteException
{
if(sign==this.sign)
{
if(currentbalance+amount < creditline)
{
currentbalance+=amount;
creditline-=amount;
System.out.println(creditline);
}
}
}
}

Cardbank.java

import java.rmi.*;
public class Cardbank
{
public static void main(String args[])
{
try
{
CreditcardManagerImpl cmi=new
CreditcardManagerImpl();
Naming.rebind("CreditcardManager",cmi);
}
catch(Exception e)
{}
}
}

Shopper.java

import java.rmi.*;
import java.net.*;

public class shopper


{
public static void main(String args[])
{
CreditcardManager cm=null;
Creditcard account=null;
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

try
{
String url="rmi://localhost/CreditcardManager";
cm=(CreditcardManager)Naming.lookup(url);
System.out.println("Finding CreditCard Account for
Customer Rejesh");
account=cm.findcreditaccount("Rejesh");
System.out.println("Customer's
credit line :"+account.getcreditline());
System.out.println("Customer making purchase of Rs
100");
account.makepurchase(100,1234);
System.out.println("Customer's credit line
after making purchase");
System.out.println(account.getcreditline());
account=null;

System.out.println("Finding CreditCard Account for Customer Rahul");


account=cm.findcreditaccount("Rahul");

System.out.println("Customer's credit line


:"+account.getcreditline());
System.out.println("Customer making purchase of Rs
1000");

account.makepurchase(1000,1234);
System.out.println("Customer's credit line after
making purchase");

System.out.println(account.getcreditline());
}
catch(Exception e)
{}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

Data.txt

Rejesh
1234
0.0
5000.0

SERVER :

java Cardbank
Rejesh
Customer Account Found
4900.0
Rejesh
Customer Account Not Found
Rahul
Written

CLIENT :

java shopper
Finding CreditCard Account for Customer Rejesh
Customer's credit line :5000.0
Customer making purchase of Rs 100
Customer's credit line after making purchase
4900.0
Finding CreditCard Account for Customer Rahul
Customer's credit line :5000.0
Customer making purchase of Rs 1000
Customer's credit line after making purchase
4000.0
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Socket

Write a TCP/IP client/server program where the server reverses the


string send by the client & returns the reversed string back to client.
Finally the client prints it (July 2006)

Server.java

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

public class Server


{
private ServerSocket ss=null;
private int port=13;

public Server() throws IOException


{
ss=new ServerSocket(port);
}
public Server(int port) throws IOException
{
ss=new ServerSocket(port);
}
public void start() throws IOException
{
while(true)
{
Socket s=ss.accept();
MyThread t=new MyThread(s);
t.start();
}
}
class MyThread extends Thread
{
private Socket s=null;
public MyThread(Socket s)
{
this.s=s;
}
public void run()
{
try{
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
DataInputStream dis=new DataInputStream(s.getInputStream());
String s1=dis.readUTF();
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

String s2=new String();


//rev
s2="";
int n,i;
System.out.println(s1);
n=s1.length();
System.out.println(n);

for(i=n-1;i>=0;i--)
{
s2+=s1.charAt(i);
}
dos.writeUTF(s2);

}
catch(IOException ex)
{
System.out.println("Can't write:"+ex);
}
}
}
public static void main(String args[]) throws IOException
{
System.out.println("Server Started....");
if(args.length>0)
new Server(Integer.parseInt(args[0])).start();
else
new Server().start();
}

Client.java

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

public class Client


{
public static void main(String args[]) throws IOException
{
String name="localhost";
int port=13;
Socket s=null;
DataInputStream dis=null;
DataOutputStream dos=null;
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

if(args.length>=2)
{
name=args[0];
port=Integer.parseInt(args[1]);
}
try{
s=new Socket(name,port);
}catch(Exception e){ }

if(s==null)
{
System.out.println("Can't create Server:");
}
try
{
dis=new DataInputStream(s.getInputStream());
dos=new DataOutputStream(s.getOutputStream());
String s1="MCA SEM 5";
dos.writeUTF(s1);
String s2=dis.readUTF();
System.out.println("Original String : "+s1);
System.out.println("Reverse String : "+s2);
}
catch(Exception e)
{
System.out.println("Can't read:"+e);
}
}
}

TEST RUN RESULT :

SERVER :
java Server
Server Started....
MCA SEM 5

CLIENT :

java Client
Original String : MCA SEM 5
Reverse String : 5 MES ACM
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Client server interaction using java datagram socket classes(04-jan)

Server.java

//Server.java, java Sockets Server using datagrams

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

public class server


{
public static void main(String args[])
{
byte[] buffer = new byte[10];
int sum = 0;
String sumString = "";
DatagramSocket datagramSocket = null;
DatagramPacket inPacket = null;
DatagramPacket outPacket = null;
InetAddress addr = null;

try
{ //Create socket
datagramSocket = new DatagramSocket(251);

//wait for request packets


System.out.println("Waiting for client requests");

//execute client requests


while(true)
{
inPacket = new
DatagramPacket(buffer,buffer.length);
datagramSocket.receive(inPacket);
buffer=inPacket.getData();
addr =inPacket.getAddress(); // addr foreply
packet

String my0peration = new String(buffer,0,


inPacket.getLength());

//perform increment operation

if (my0peration.equals("set_sum"))
{

// perform set sum operation


Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

sum = 0;
sumString = String.valueOf (sum);
System.out.println("Sum = " +
sumString);

}
else
sumString = String.valueOf (++sum);
buffer=sumString.getBytes();
outPacket=new
DatagramPacket(buffer,sumString.length(),addr,250);
datagramSocket.send(outPacket);
}
}
catch (Exception e)
{
System.err.println(e);
if(datagramSocket!=null)
datagramSocket.close();
}
}
}

Client.java

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

public class client


{
public static void main(String args[])
{
byte[] buffer = new byte[10];
String sumString = "";
String my0peration;
DatagramPacket inPacket = null;
DatagramPacket outPacket = null;

try
{
if(args.length != 2)
{
System. out. println("Ussge java client <host> <count>");
return;
}
// Create datagram socket
DatagramSocket datagramsocket = new DatagramSocket(250);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

// Get inet addr of server


InetAddress addr = InetAddress.getByName(args[0]);

//set sum to zero


System.out.println("Setting sum to 0");
my0peration = "set_sum";
buffer = my0peration.getBytes();
outPacket = new DatagramPacket(buffer,my0peration.length(),
addr,251);

datagramsocket.send(outPacket);
inPacket = new DatagramPacket(buffer,buffer.length);
datagramsocket .receive(inPacket);
buffer=inPacket.getData();
sumString = new String(buffer, 0,inPacket.getLength());
System.out.println("sum = "+sumString);

//get count, initialize stara time


System.out.println("Incrementing");
int count = new Integer(args[1]).intValue();
long startTime = System.currentTimeMillis();

//perform increment "count" number of times


for(int i=0;i<count; i++)
{
my0peration = "increment";
buffer= my0peration.getBytes();
outPacket = new DatagramPacket
(buffer,my0peration.length(), addr,251);
datagramsocket.send(outPacket);
inPacket = new DatagramPacket(buffer,buffer.length);
datagramsocket .receive(inPacket);
buffer=inPacket.getData();
sumString = new String(buffer, 0,inPacket.getLength());
}
// display statistics
long stopTime = System.currentTimeMillis();
System.out.println("Avg Ping ="
+ ((stopTime - startTime) / (float)count) + " msecs");
System.out.println("Sum = " + sumString);
}
catch (Exception e)
{ System.err.println(e);
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

SERVER :

java server
Waiting for client requests

CLIENT :

java client localhost 25


Setting sum to 0
sum = 0
Incrementing
Avg Ping =0.6 msecs
Sum = 25
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

IMLPEMENT A UDP BASED DAYTIME PROTOCOL APPLICATION AND


IMPLEMENT THE SERVER TO BE ITERATIVE.

SERVER:

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

class UDPdtServer
{
DatagramSocket ds;
DatagramPacket dp;

byte buffer[] = new byte[1024];


String today;

public UDPdtServer() throws Exception


{
while(true)
{

dp = new DatagramPacket(buffer,buffer.length);
ds = new DatagramSocket(2000);
ds.receive(dp);

today = (new Date()).toString();


buffer = today.getBytes();

ds.send(new
DatagramPacket(buffer,buffer.length,InetAddress.getLocalHost(),3000));

ds.close();

}
}

public static void main(String[] args) throws Exception


{
new UDPdtServer();

}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

CLIENT:

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

class UDPdtClient
{
DatagramSocket ds;
DatagramPacket dp;
byte buffer[] = new byte[1024];

public UDPdtClient() throws Exception


{

dp = new DatagramPacket(buffer,buffer.length);
ds = new DatagramSocket(3000);

ds.send(new DatagramPacket(buffer,1,InetAddress.getLocalHost(),
2000));

ds.receive(dp);

String time=new String(dp.getData(),0,dp.getLength());


System.out.println("Time is: "+time);

public static void main(String[] args) throws Exception


{
new UDPdtClient();

}
}

TEST RUN RESULT :

Java UDPdtClient
Time is: Thu Dec 07 12:38:33 PST 2006
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

GUI BASED CLIENT:

import java.io.*;
import java.lang.*;
import java.net.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
/*
<applet code="UDPdtClient_GUI" width=150 height=400>
</applet> */

public class UDPdtClient_GUI extends Applet implements ActionListener


{
Button ok,clear,exit;
TextField dt,host;
Label lbl,lbl2,lbl3;

public void init()


{
lbl=new Label("Date and Time:");
lbl2=new Label("Enter the Host Name:");
lbl3=new Label("13 Remote port no.:");

dt=new TextField(30);
host=new TextField(20);

ok=new Button("OK");
clear=new Button("CLEAR");
exit=new Button("EXIT");

add(lbl2); add(host);
add(lbl); add(dt);
add(lbl3);
add(ok);add(clear);add(exit);

ok.addActionListener(this);
clear.addActionListener(this);
exit.addActionListener(this);
}
public void start(){ }

public void actionPerformed(ActionEvent ae)


{
String str = ae.getActionCommand();
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

if(str.equals("OK"))
{
repaint();
}
else if(str.equals("CLEAR"))
{
dt.setText(" ");
host.setText(" ");
}
else if(str.equals("EXIT"))
{
// This.dispose();
}
}
public void paint(Graphics g)
{
DatagramSocket ds;
DatagramPacket dp;
byte buffer[] = new byte[1024];

try{

dp = new DatagramPacket(buffer,buffer.length);
ds = new DatagramSocket(3000);
ds.send(new DatagramPacket(buffer,1,InetAddress.getLocalHost(),
2000));

ds.receive(dp);

String time=new String(dp.getData(),0,dp.getLength());


dt.setText(time);
}
catch(Exception e)
{
System.out.println("Error...."+e);
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

C:\>java UDPdtServer
0.0.0.0

C:\appletviewer UDPdtClient_GUI.java
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

CORBA

Develop an application where client sends employeed id to server


and server sends the employee details as a string to the client.

Emp.idl

module EmpApp
{
interface Emp
{
string getEmpDetail(in string eid);

};
};

EmpServant.java

import EmpApp .*;


import java.io.*;
import java.util.*;
class EmpServant extends _EmpImplBase
{
public String getEmpDetail(String eid)
{
String fdata;
System.out.println("1 ");
try
{
BufferedReader ip_br=new
BufferedReader(new
FileReader("emp_detail.txt"));
while((fdata=ip_br.readLine())!=null)
{
StringTokenizer st=new StringTokenizer(fdata,"|");
String tempid=st.nextToken();

if(tempid.equals(eid))
{
return fdata;

}
}

}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

catch(Exception e)
{
System.out.println("ERR at servant="+e);
}
return "null"; //not found

}
}

EmpServer.java

import EmpApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

public class EmpServer


{
public static void main(String args[])
{
try
{
ORB orb=ORB.init(args,null);
EmpServant Empref=new EmpServant();
orb.connect(Empref);
org.omg.CORBA.Object objref=
orb.resolve_initial_references("NameService");
NamingContext
ncref=NamingContextHelper.narrow(objref);
NameComponent nc=new NameComponent("Emp"," ");
NameComponent path[]={nc};
ncref.rebind(path,Empref);
java.lang.Object sync=new java.lang.Object();
synchronized(sync)
{
sync.wait();
}
}
catch(Exception e)
{
System.err.println(e);
e.printStackTrace(System.out);
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Client.java

import EmpApp.*;
import java.io.*;
import java.util.*;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;

public class Client


{
public static void main(String args[])
{
try
{
ORB orb=ORB.init(args,null);
org.omg.CORBA.Object objref=
orb.resolve_initial_references("NameService");
NamingContext
ncref=NamingContextHelper.narrow(objref);
NameComponent nc=new NameComponent("Emp"," ");
NameComponent path[]={nc};
Emp Empref=EmpHelper.narrow(ncref.resolve(path));

BufferedReader br=new
BufferedReader(new
InputStreamReader(System.in));
System.out.print("Enter Emp id : ");
String eid=br.readLine();
String detail=null;
detail=Empref.getEmpDetail(eid);
if(detail.equals("null"))
System.out.println("Emp not found !! ");
else
{
StringTokenizer st=new
StringTokenizer(detail,"|");
System.out.println("Emp id :
"+st.nextToken());
System.out.println("Emp Name :
"+st.nextToken());
System.out.println("Emp Salary :
"+st.nextToken());
System.out.println("Emp Designation :
"+st.nextToken());
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

}
}
catch(Exception e)
{
System.out.println("ERR at client :"+e);
}
}
}
Emp_detail.txt

e001|Ravi Sawant|25000|Manager
e002|Meena Dev|2500|Assistent
e003|Priya Achrya|15000|Tester
e004|Prabhu Sheva|1600|Clark

TEST RUN RESULT :

SERVER :

idlj -fall -oldimplBase Emp.idl

javac EmpApp/*.java
javac EmpServant.java
javac EmpServer.java
java EmpServer -ORBInitialHost localhost -ORBInitialPort 1050

CLIENT :

javac Client.java

1)
java Client -ORBInitialHost localhost -ORBInitialPort 1050
Enter Emp id : e001
Emp id : e001
Emp Name : Ravi Sawant
Emp Salary : 25000
Emp Designation : Manager

2)
java Client -ORBInitialHost localhost -ORBInitialPort 1050
Enter Emp id : e009
Emp not found !!
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an application where client sends employeed id to server


and server sends the employee gross salary as a string to the client.
(using text file emp)

Emp.idl

module EmpApp
{
interface Emp
{
long getGrossSalary(in string eid);

};
};
EmpServant.java

import EmpApp .*;


import java.io.*;
import java.util.*;
class EmpServant extends _EmpImplBase
{
public int getGrossSalary(String eid)
{
String fdata;
try
{
BufferedReader ip_br=new
BufferedReader(new
FileReader("emp_detail.txt"));
while((fdata=ip_br.readLine())!=null)
{
StringTokenizer st=new StringTokenizer(fdata,"|");
String id=st.nextToken();
String nm=st.nextToken();
int bsal=Integer.parseInt(st.nextToken());
if(id.equals(eid))
{
int gsal=(int)(bsal+(bsal*0.60)+
(bsal*0.10)+(bsal*0.15)+800);
return gsal;

}
}
}
catch(Exception e)
{
System.out.println("ERR at servant="+e);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

}
return -1; //not found

}
}

EmpServer.java

import EmpApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

public class EmpServer


{
public static void main(String args[])
{
try
{
ORB orb=ORB.init(args,null);
EmpServant Empref=new EmpServant();
orb.connect(Empref);
org.omg.CORBA.Object objref=
orb.resolve_initial_references("NameService");
NamingContext
ncref=NamingContextHelper.narrow(objref);
NameComponent nc=new NameComponent("Emp"," ");
NameComponent path[]={nc};
ncref.rebind(path,Empref);
java.lang.Object sync=new java.lang.Object();
synchronized(sync)
{
sync.wait();
}
}
catch(Exception e)
{
System.err.println(e);
e.printStackTrace(System.out);
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Client.java

import EmpApp.*;
import java.io.*;
import java.util.*;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;

public class Client


{
public static void main(String args[])
{
try
{
ORB orb=ORB.init(args,null);
org.omg.CORBA.Object objref=
orb.resolve_initial_references("NameService");
NamingContext
ncref=NamingContextHelper.narrow(objref);
NameComponent nc=new NameComponent("Emp"," ");
NameComponent path[]={nc};
Emp Empref=EmpHelper.narrow(ncref.resolve(path));

BufferedReader br=new
BufferedReader(new
InputStreamReader(System.in));
System.out.print("Enter Emp id : ");
String eid=br.readLine();

int gross=Empref.getGrossSalary(eid);

if(gross==-1)
System.out.println("Emp not found !! ");
else
{

System.out.println("Emp id : "+eid);
System.out.println("Emp Gross Salary : "+gross);

}
}
catch(Exception e)
{
System.out.println("ERR at client :"+e);
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

}
Emp_detail.txt

e001|Ravi Sawant|25000|Manager
e002|Meena Dev|2500|Assistent
e003|Priya Achrya|15000|Tester
e004|Prabhu Sheva|1600|Clark

TEST RUN RESULT :

SERVER :

idlj -fall -oldimplBase Emp.idl

javac EmpApp/*.java
javac EmpServant.java
javac EmpServer.java
java EmpServer -ORBInitialHost localhost -ORBInitialPort 1050

CLIENT :
1)
java Client -ORBInitialHost localhost -ORBInitialPort 1050
Enter Emp id : e002

Emp id : e002
Emp Gross Salary : 5425

2)
java Client -ORBInitialHost localhost -ORBInitialPort 1050
Enter Emp id : e009
Emp not found !!
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop menu driven application for calculator.

Calculator.idl

module Calculatorapp
{
interface Calculator
{
long add(in long a,in long b);
long sub(in long a,in long b);
long mul(in long a,in long b);
long div(in long a,in long b);
};
};

Calculatorservant.java

import Calculatorapp .*;


class Calculatorservant extends _CalculatorImplBase
{
public int add(int a,int b)
{
return a+b;
}
public int sub(int a,int b)
{

return a-b;
}
public int mul(int a,int b)
{
return a*b;
}
public int div(int a,int b)
{
if(b==0)
return 0;
return a/b;
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Calculatorserver.java

import Calculatorapp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

public class Calculatorserver


{
public static void main(String args[])
{
try
{
ORB orb=ORB.init(args,null);
Calculatorservant Calculatorref=new Calculatorservant();
orb.connect(Calculatorref);
org.omg.CORBA.Object objref
=orb.resolve_initial_references("NameService");
NamingContext
ncref=NamingContextHelper.narrow(objref);
NameComponent nc=new
NameComponent("Calculator"," ");
NameComponent path[]={nc};
ncref.rebind(path,Calculatorref);
java.lang.Object sync=new java.lang.Object();
synchronized(sync)
{
sync.wait();
}
}
catch(Exception e)
{
System.err.println(e);
e.printStackTrace(System.out);
}
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Client.java

import Calculatorapp.*;
import java.io.*;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;

public class Client


{
public static void main(String args[])
{
try
{
ORB orb=ORB.init(args,null);
org.omg.CORBA.Object objref=
orb.resolve_initial_references("NameService");
NamingContext
ncref=NamingContextHelper.narrow(objref);
NameComponent nc=new
NameComponent("Calculator"," ");
NameComponent path[]={nc};
Calculator
calref=CalculatorHelper.narrow(ncref.resolve(path));

BufferedReader br=new
BufferedReader(new
InputStreamReader(System.in));
while(true)
{
System.out.println("-------Cal Menu--------");
System.out.println("Press 1 for Addition");
System.out.println("Press 2 for Subtraction");
System.out.println("Press 3 for Multiplication");
System.out.println("Press 4 for Division");
System.out.println("Press else for Exit");
System.out.println("-------------------------");
System.out.print("Enter Choice : ");
int ch=Integer.parseInt(br.readLine());
if(ch<1 || ch>4)
{
System.out.println(" Stop Running... ");
break;
}
System.out.print("Enter Number 1 : ");
String n1=br.readLine();
int num1=Integer.parseInt(n1);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

System.out.print("Enter Number 2 : ");


int num2=Integer.parseInt(br.readLine());

if(ch==1)
System.out.println(num1+" + "+num2+" =
"+calref.add(num1,num2));
else if(ch==2)
System.out.println(num1+" - "+num2+" =
"+calref.sub(num1,num2));
else if(ch==3)
System.out.println(num1+" * "+num2+" =
"+calref.mul(num1,num2));
else if(ch==4)
System.out.println(num1+" / "+num2+" =
"+calref.div(num1,num2));

}
}

catch(NumberFormatException en)
{
System.out.println(" Stop Running... ");
}
catch(Exception e)
{
System.out.println("ERR"+e);
}
}
}

Test Run Result :

SERVER :

idlj -fall -oldimplBase Calculator.idl


javac Calculatorapp/*.java
javac Calculatorservant.java
javac Calculatorserver.java
java Calculatorserver -ORBInitialHost localhost -ORBInitialPort 1050

CLIENT :

javac Client.java
java Client -ORBInitialHost localhost -ORBInitialPort 1050

-------Cal Menu--------
Press 1 for Addition
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Press 2 for Subtraction


Press 3 for Multiplication
Press 4 for Division
Press else for Exit
-------------------------
Enter Choice : 1
Enter Number 1 : 25
Enter Number 2 : 36

25 + 36 = 61

-------Cal Menu--------
Press 1 for Addition
Press 2 for Subtraction
Press 3 for Multiplication
Press 4 for Division
Press else for Exit
-------------------------
Enter Choice : 4
Enter Number 1 : 5
Enter Number 2 : 5

5/5=1

-------Cal Menu--------
Press 1 for Addition
Press 2 for Subtraction
Press 3 for Multiplication
Press 4 for Division
Press else for Exit
-------------------------
Enter Choice : 2
Enter Number 1 : 99
Enter Number 2 : 6

99 - 6 = 93

-------Cal Menu--------
Press 1 for Addition
Press 2 for Subtraction
Press 3 for Multiplication
Press 4 for Division
Press else for Exit
-------------------------
Enter Choice : 5
Stop Running...
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

SERVLET

Develep an application for calculator.

Calculator.html

<html>
<body>
<form method=get action
="http://localhost:8080/examples/servlet/calcutator">
<br>Operand 1 =<input type=text name="operand">
<br>Operand 2 =<input type=text name="operand1">
<br>Operation&nbsp;&nbsp;&nbsp;&nbsp;<select name="opt">
<option value="Addition" >Addition </option>
<option value="Subtract" >Subtract </option>
<option value="Multiply" >Multiply </option>
<option value="Division" >Division </option>
</select>
<br>&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit"
value = "Calculate">
</form>
</body>
</html>

Calculator.java

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

public class calcutator extends HttpServlet


{
protected void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
PrintWriter cal=res.getWriter();
int opd=Integer.parseInt(req.getParameter("operand"));
int opd1=Integer.parseInt(req.getParameter("operand1"));
String optr=req.getParameter("opt");
int ans=0;
if(optr.equals("Addition"))
{
ans=opd+opd1;
cal.println("<html><body>Operand1="+opd);
cal.println("<br>Operand1="+opd1);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

cal.println("<br>Addition="+ans+" </html>");

}
if(optr.equals("Subtract"))
{
ans=opd-opd1;
cal.println("<html><body>Operand1="+opd);
cal.println("<br>Operand1="+opd1);
cal.println("<br>Subtract="+ans+" </html>");

}
if(optr.equals("Multiply"))
{
ans=opd*opd1;
cal.println("<html><body>Operand1="+opd);
cal.println("<br>Operand1="+opd1);
cal.println("<br>Multiply="+ans+" </html>");

}
if(optr.equals("Division"))
{
ans=opd/opd1;
cal.println("<html><body>Operand1="+opd);
cal.println("<br>Operand1="+opd1);
cal.println("<br>Division="+ans+" </html>");

}
cal.close();
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

CLIENT :
HTML FILE :
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an application which displays a list of movies in a HTML


page. The client selects a movie from page and sends to
server(servlet program). Server sends the movie name to client
through HTML page.

HTMLCODE

<HTML>
<HEAD>

<TITLE>Movies</TITLE>
</HEAD>
<BODY>
<FORM action="http://localhost:8080/examples/servlet/HttpMovies"
method=get>
<br><br>
<INPUT type=checkbox name =Movie1 value="The Broken Arrow ">
&nbsp;The Broken Arrow

<br>
<INPUT type=checkbox name =Movie2 value="Babys Day Out">
&nbsp;Babys Day Out
<br>
<INPUT type=checkbox name =Movie3 value="King Kong">
&nbsp;King Kong
<br>
<INPUT type=checkbox name =Movie4 value="Independence Day">
&nbsp;Independence Day
<br>
<INPUT type=checkbox name =Movie5 value="The Rock">&nbsp;The Rock
<br><br>
<INPUT TYPE="submit" VALUE="Submit">
</FORM>
</BODY>
</HTML>
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

HttpMovies.java

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

public class HttpMovies extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)


throws ServletException, IOException {
doPost(req,res);
}

public void doPost(HttpServletRequest req, HttpServletResponse res)


throws ServletException, IOException {

PrintWriter printwr = res.getWriter();


res.setContentType("text/html");

printwr.println("The Selected Movies are:<BR>");


Enumeration en = req.getParameterNames();
while (en.hasMoreElements()) {
String mov =(String) en.nextElement();

printwr.println(mov+" "+req.getParameter(mov)
+"<BR>");
}

printwr.close();
}

}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

CLIENT :

The Broken Arrow


Babys Day Out
King Kong
Independence Day
The Rock

Submit

The Selected Movies are:


Movie2 Babys Day Out
Movie3 King Kong
Movie4 Independence Day
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an application which accepts employee id from client


through HTML page and sends to server (servlet program). Server
sends gross salary and designation of that employee to the client
through HTML page.

HTMLCODE

<html>
<body>
<center>
<form name="Form1"
method="get"
action="http://localhost:8080/examples/servlet/HttpEmpDetailsServlet">
<table>
<tr>
<td><B>Emp Id:</td>
<td><input type=textbox name="Empid" size="25" value=""></td>
</tr>
</table>
<p>
<input type=submit value="Submit">
</body>
</html>

HttpEmpDetailsServlet.java

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

public class HttpEmpDetailsServlet extends HttpServlet


{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{

PrintWriter printwr = res.getWriter();


res.setContentType("text/html");
Enumeration en = req.getParameterNames();
String pname = (String) en.nextElement();
String value = req.getParameter(pname);
FileReader fr = null;
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

try {

File fil = new File("emp.dat");


fr = new FileReader(fil);
}
catch(FileNotFoundException fnfe)
{
printwr.println(fnfe);
return;
}

BufferedReader br = new BufferedReader(fr);


String str= null;
try
{
while ((str = br.readLine())!=null)
{
StringTokenizer st = new StringTokenizer(str,":");
int i = Integer.parseInt(st.nextToken());
String strEname = st.nextToken();
String strDesig = st.nextToken();
String strSalary = st.nextToken();

if (i == Integer.parseInt(value))
{
printwr.println("<table>");
printwr.println("<tr><td>Emp
Id</td><td>"+value+"</td>");
printwr.println("<tr><td>Emp
Name</td><td>"+strEname+"</td>");

printwr.println("<tr><td>Designation</td><td>"+strDesig+"</td>");

printwr.println("<tr><td>Salary</td><td>"+strSalary+"</td>");
printwr.println("</table>");
return;
}
}
printwr.println("Emp Not Found.");
}catch(IOException ioe) {
printwr.println(ioe);
return;
}
br.close();
fr.close();
printwr.close();
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

}
}

TEST RUN RESULT :

CLIENT :

Input File (emp.dat)


1:Krishna:Soft-Eng:50000
2:Avinash:Hard-Eng:30000
3:Aryan:Designer:20000

Emp Id: 1
Emp Id 1
Emp Name Krishna
Designation Soft-Eng
lary 50000
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an shopping cart site. (Session tracking using HttpSession)

Shopping.html

<html>
<title>My Shopping</title>
<body>
<h1>Select Books</h1>
<form method=get action
="http://localhost:8080/examples/servlet/nextshop">
<br><INPUT type=checkbox name =ch1 value="C++">&nbsp;C++
<br><INPUT type=checkbox name =ch2 value="Java Servlet">&nbsp;C++
<br><INPUT type=checkbox name =ch3 value="OS">&nbsp;OS
<br><INPUT type=checkbox name =ch4 value="COBOL">&nbsp;COBOL
<br><INPUT type=checkbox name =ch5 value="TCP/IP">&nbsp;TCP/IP
<br>

<input type="submit" name="submit" value = "Next Shop">


</form>

</body>
</html>

Nextshop.java

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

public class nextshop extends HttpServlet


{
protected void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
String b1=req.getParameter("ch1");
String b2=req.getParameter("ch2");
String b3=req.getParameter("ch3");
String b4=req.getParameter("ch4");
String b5=req.getParameter("ch5");

ArrayList books=new ArrayList();


PrintWriter out=res.getWriter();
if(b1!=null)
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

books.add(b1);
if(b2!=null)
books.add(b2);
if(b3!=null)
books.add(b3);
if(b4!=null)
books.add(b4);
if(b5!=null)
books.add(b5);

HttpSession session=req.getSession(true);
session.putValue("Books",books);
out.println("<html><title>My Shopping</title><body>");
out.println("<h1>Select Pen</h1>");
out.println("<form method=get action
=\"http://localhost:8080/examples/servlet/showcart\">");
out.println("<br><INPUT type=checkbox name =ch1
value=Cello>&nbsp;Cello");
out.println("<br><INPUT type=checkbox name =ch2
value=Parker>&nbsp;Parker");
out.println("<br><INPUT type=checkbox name =ch3
value=Reynold>&nbsp;Reynold");
out.println("<br><INPUT type=checkbox name =ch4
value=Gel>&nbsp;Gel");
out.println("<br><input type=\"submit\" name=\"submit\"
value =\"Show Cart\">");
out.println("</form></body></html>");

out.close();
}
}

Showcart.java

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

public class showcart extends HttpServlet


{
protected void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
String b1=req.getParameter("ch1");
String b2=req.getParameter("ch2");
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

String b3=req.getParameter("ch3");
String b4=req.getParameter("ch4");

ArrayList pens=new ArrayList();


PrintWriter out=res.getWriter();
if(b1!=null)
pens.add(b1);
if(b2!=null)
pens.add(b2);
if(b3!=null)
pens.add(b3);
if(b4!=null)
pens.add(b4);

HttpSession session=req.getSession(true);
ArrayList books=(ArrayList)session.getValue("Books");
out.println("<html><title>My Shopping Cart</title><body>");
out.println("<h1>Shopping Cart</h1>");
out.println("<h3>Purchased Books List</h3>");
out.println("<table><tr><td>No.</td><td>Book
Name</td></tr>");
for(int i=0;i<books.size();i++)
{
out.println("<tr><td>"+(i+1)+"</td><td>"+
(String)books.get(i)+"</td></tr>");

out.println("</table>");
out.println("<h3>Purchased Pens List</h3>");
out.println("<table><tr><td>No.</td><td>Pen</td></tr>");
for(int i=0;i<pens.size();i++)
{
out.println("<tr><td>"+(i+1)+"</td><td>"+
(String)pens.get(i)+"</td></tr>");

}
out.println("</table>");
out.println("</body></html>");

out.close();
}
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

TEST RUN RESULT :

CLIENT :
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

Develop an shopping cart site. (Session tracking using Cookies)

Shopping.html

<html>
<title>My Shopping</title>
<body>
<h1>Select Books</h1>
<form method=get action
="http://localhost:8080/examples/servlet/nextshop">
<br><INPUT type=checkbox name =ch1 value="C++">&nbsp;C++
<br><INPUT type=checkbox name =ch2 value="Java Servlet">&nbsp;C++
<br><INPUT type=checkbox name =ch3 value="OS">&nbsp;OS
<br><INPUT type=checkbox name =ch4 value="COBOL">&nbsp;COBOL
<br><INPUT type=checkbox name =ch5 value="TCP/IP">&nbsp;TCP/IP
<br>

<input type="submit" name="submit" value = "Next Shop">


</form>

</body>
</html>

Nextshop.java

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

public class nextshop extends HttpServlet


{
protected void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
String b1=req.getParameter("ch1");
String b2=req.getParameter("ch2");
String b3=req.getParameter("ch3");
String b4=req.getParameter("ch4");
String b5=req.getParameter("ch5");

ArrayList books=new ArrayList();


PrintWriter out=res.getWriter();
if(b1!=null)
books.add(b1);
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

if(b2!=null)
books.add(b2);
if(b3!=null)
books.add(b3);
if(b4!=null)
books.add(b4);
if(b5!=null)
books.add(b5);
for(int i=0;i<books.size();i++)
{
Cookie c1=new Cookie("Book"+(i+1),
(String)books.get(i));
res.addCookie(c1);
}
out.println("<html><title>My Shopping</title><body>");
out.println("<h1>Select Pen</h1>");
out.println("<form method=get action
=\"http://localhost:8080/examples/servlet/showcart\">");
out.println("<br><INPUT type=checkbox name =ch1
value=Cello>&nbsp;Cello");
out.println("<br><INPUT type=checkbox name =ch2
value=Parker>&nbsp;Parker");
out.println("<br><INPUT type=checkbox name =ch3
value=Reynold>&nbsp;Reynold");
out.println("<br><INPUT type=checkbox name =ch4
value=Gel>&nbsp;Gel");
out.println("<br><input type=\"submit\" name=\"submit\"
value =\"Show Cart\">");
out.println("</form></body></html>");

out.close();
}
}

Showcart.java

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

public class showcart extends HttpServlet


{
protected void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

res.setContentType("text/html");
String b1=req.getParameter("ch1");
String b2=req.getParameter("ch2");
String b3=req.getParameter("ch3");
String b4=req.getParameter("ch4");

ArrayList pens=new ArrayList();


PrintWriter out=res.getWriter();
if(b1!=null)
pens.add(b1);
if(b2!=null)
pens.add(b2);
if(b3!=null)
pens.add(b3);
if(b4!=null)
pens.add(b4);

Cookie cookies[]=req.getCookies();
out.println("<html><title>My Shopping Cart</title><body>");
out.println("<h1>Shopping Cart</h1>");
out.println("<h3>Purchased Books List</h3>");
out.println("<table><tr><td>No.</td><td>Book
Name</td></tr>");
for(int i=0;i<cookies.length;i++)
{
out.println("<tr><td>"+(i+1)+"</td><td>"+
(String)cookies[i].getValue()+"</td></tr>");

out.println("</table>");
out.println("<h3>Purchased Pens List</h3>");
out.println("<table><tr><td>No.</td><td>Pen</td></tr>");
for(int i=0;i<pens.size();i++)
{
out.println("<tr><td>"+(i+1)+"</td><td>"+
(String)pens.get(i)+"</td></tr>");

}
out.println("</table>");
out.println("</body></html>");

out.close();
}
Joshi Akshay V MCA(Semester-V) Id No : 06MCG33

You might also like