You are on page 1of 55

SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

Name: Panchal Ankitaben Rameshbhai Enrollment Number: 181243107004


Branch: Computer Engineering Semester: B.E - 6thSem
Subject Name: Advanced Java Technology Subject Code: 2160707

PRACTICAL INDEX

Sr. Page Date of Date of


Name of Experiment Grade Sign
No. No. Experiment Submission

1. Create chat application using either TCP or UDP


protocol.
2. Implement TCP Server for transferring files using
Socket and Server Socket.
3. Implement any one sorting algorithm using TCP/UDP
on Server application and Give Input On Client side
and client should sorted output from server and
display sorted on input side.
4. 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 of client.
5. Write RMI application where client supplies two
numbers and server response by summing it. Provide
your custom security policy for this application.
6. Implement Student information system using JDBC
and RMI.
7. Create Servlet file which contains following functions:
1. Connect 2. Create Database 3. Create Table 4.
Insert Records into respective table 5. Update records
of particular table of database 6. Delete Records from
table. 7. Delete table and also database.
8. User can create a new database and also create new
table under that database. Once database has been
created then user can perform database operation by
calling above functions. Use following Java Statement
interface to implement program: 1. Statement 2.
Prepared statement 3. Callable statement

9. Create Servlet file and study web descriptor file.

Advanced JAVA (2160707) Page 1


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

10. Create login form and perform state management


using Cookies, HttpSession and URL Rewriting.
11. Create web service which provides student
information.
12. Create Web Service client which consume above
service and display student data by entering student id.
13. Study and implement Hibernate.
14. Study and Implement MVC using Spring Framework.

PRACTICAL: 1

Advanced JAVA (2160707) Page 2


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

AIM: Create Chat application using either TCP or UDP protocol.


1. Using TCP/IP Protocol.

Server1.java

import java.net.*;
import java.io.*;
public class Server1
{
public static void main( String args[]) throws Exception
{
ServerSocket srs = new ServerSocket(1234);
System.out.println("Server is running...");

Socket ss=srs.accept();
System.out.println("Connection Established");

BufferedReader kb = new BufferedReader(new InputStreamReader(System.in));


BufferedReader br = new BufferedReader(new
InputStreamReader(ss.getInputStream()));

DataOutputStream dos = new DataOutputStream(ss.getOutputStream());


while(true)
{
String s2,s3;
while((s2=br.readLine())!=null)
{
System.out.println("Client: "+s2);
System.out.println("Enter Text:");
s3 = kb.readLine();
dos.writeBytes(s3+"\n");
}
System.out.println("Terminated..");
ss.close();
srs.close();
dos.close();
kb.close();
System.exit(0);
}
}
}

Client1.java

Advanced JAVA (2160707) Page 3


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

import java.net.*;
import java.io.*;
public class Client1
{
public static void main( String args[]) throws Exception
{
Socket cs = new Socket("localhost",1234);

BufferedReader kb = new BufferedReader(new InputStreamReader(System.in));

BufferedReader br = new BufferedReader(new


InputStreamReader(cs.getInputStream()));

DataOutputStream dos = new DataOutputStream(cs.getOutputStream());

System.out.println(" Enter Text..");


System.out.println(" if client 'quit' type exit");

String s1,s4=null;

while(!(s1=kb.readLine()).equals("exit"))
{
dos.writeBytes(s1+"\n");
s4 = br.readLine();
System.out.println("Server: "+s4);
System.out.println("Enter Text: ");
}
System.out.println("Terminated..");
cs.close();
dos.close();
kb.close();
}
}

OUTPUT:

Advanced JAVA (2160707) Page 4


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

Server1.java

Client1.java

Advanced JAVA (2160707) Page 5


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

PRACTICAL: 2
AIM: Implement TCP Server for transferring files using Socket and
Server Socket.

S2.java

import java.io.*;
import java.net.*;
public class S2
{
public static void main(String args[]) throws Exception
{
ServerSocket ss=new ServerSocket(1234);
Socket s = ss.accept();
System.out.println("connected...");
FileInputStream fin=new FileInputStream("send.txt");
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
int r;
while((r=fin.read())!=-1)
{
dout.write(r);

}
System.out.println("\nFiletranfer Completed");
s.close();
ss.close();
}
}

C2.java

import java.io.*;
import java.net.*;
public class C2
{
public static void main(String[] args) throws Exception
{
Socket s=new Socket("127.0.0.1",1234);
if(s.isConnected())
{
System.out.println("Connected to server");
}

Advanced JAVA (2160707) Page 6


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

FileOutputStream fout= new FileOutputStream("receive.text");


DataInputStream din=new DataInputStream(s.getInputStream());
int r;

while((r=din.read())!=-1)
{
fout.write((char)r);
}
s.close();
}
}

OUTPUT:
S2.java

C2.java

Advanced JAVA (2160707) Page 7


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

PRACTICAL: 3
AIM: Implement any one sorting algorithm using TCP/UDP on Server
application and Give Input On Client side and client should sorted
output from server and display sorted on input side.

S3.java

import java.io.*;
import java.net.*;
import java.util.*;
class S3
{
public static void main(String args[]) throws Exception
{
ServerSocket ss=new ServerSocket(7777);
Socket s=ss.accept();

System.out.println("connected..........");

DataInputStream din=new DataInputStream(s.getInputStream());


DataOutputStream dout=new DataOutputStream(s.getOutputStream());

int r,i=0;
int n=din.readInt();
int a[]=new int[n];

System.out.println("data:");
int count=0;
System.out.println("Receiving Data....");

for(i=0;i<n;i++)
{
a[i]=din.readInt();
}
System.out.println("Data Received");
System.out.println("Sorting Data........");
Arrays.sort(a);

System.out.println("Data Sorted");
System.out.println("Sending Data........");

Advanced JAVA (2160707) Page 8


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

for(i=0;i<n;i++)
{
dout.writeInt(a[i]);
}
System.out.println("\nData Sent Successfully");
s.close();
ss.close();
}
}

C3.java

import java.io.*;
import java.net.*;
import java.util.Scanner;
public class C3
{

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


{
Socket s=new Socket("127.0.0.1",7777);
if(s.isConnected())
{
System.out.println("Connected to server");
}
System.out.println("Enter size of array:");
Scanner scanner=new Scanner(System.in);

int n=scanner.nextInt();
int a[]=new int[n];
System.out.println("Enter element to array:");

DataOutputStream dout=new DataOutputStream(s.getOutputStream());


dout.writeInt(n);

for(int i=0;i<n;i++)
{
int r=scanner.nextInt();;
dout.writeInt(r);
}
System.out.println("Data Sent");

DataInputStream din=new DataInputStream(s.getInputStream());


int r;

Advanced JAVA (2160707) Page 9


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

System.out.println("Receiving Sorted Data....");


for(int i=0;i<n;i++)
{
r=din.readInt();
System.out.print(r+" ");
}
s.close();
}
}

OUTPUT:

S3.java

C3.java

Advanced JAVA (2160707) Page 10


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

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 of client.
S4.java

import java.net.*;
import java.io.*;
public class S4
{
public static void main(String[] args)throws Exception
{
int count=1;
System.out.println("Server is running...................");
ServerSocket ss=new ServerSocket(7878);
while(true)
{
new RevThread(ss.accept(),count).start();
System.out.println(count+" client connected");
count++;
}
}
}
class RevThread extends Thread
{
Socket s=null;
int n;
public RevThread(Socket socket,int count)
{
s=socket;
n=count;
}
public void run()
{
try
{
while(true)
{
System.out.println("receiving from client "+n);
DataInputStream din=new DataInputStream(s.getInputStream());
String str=din.readUTF();

Advanced JAVA (2160707) Page 11


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

System.out.println("processing data of Client "+n);


StringBuffer rev=new StringBuffer();
rev=rev.append(str);
rev=rev.reverse();
String revStr=new String(rev);
System.out.println("sending to client "+n);
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
dout.writeUTF(revStr);
}
}
catch(IOException e)
{
System.out.println(e);
}
}
}

C4.java

import java.io.*;
import java.net.*;
public class C4
{
public static void main(String[] args) throws Exception
{
Socket s=new Socket("127.0.0.1",7878);
if(s.isConnected())
{
System.out.println("Connected to Server....");
}
while(true)
{
System.out.println("Enter String to reverse:");
DataInputStream in=new DataInputStream(System.in);
String str=in.readLine();
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
dout.writeUTF(str);
DataInputStream din=new DataInputStream(s.getInputStream());
String rev=din.readUTF();
System.out.println("Reversed String:\t"+rev);
}
}
}

Advanced JAVA (2160707) Page 12


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

OUTPUT:

S4.java

C4.java

PRACTICAL: 5

Advanced JAVA (2160707) Page 13


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

AIM: Create Servlet file which contains following functions: 1. Connect


2. Create Database 3. Create Table 4. Insert Records into respective
table 5. Update records of particular table of database 6. Delete Records
from table. 7. Delete table and also database.

Web.xml:
<servlet>
<servlet-name>Create</servlet-name>
<servlet-class>Create</servlet-class>
</servlet>
<servlet>
<servlet-name>Insert</servlet-name>
<servlet-class>Insert</servlet-class>
</servlet>
<servlet>
<servlet-name>Update</servlet-name>
<servlet-class>Update</servlet-class>
</servlet>
<servlet>
<servlet-name>DeleteV</servlet-name>
<servlet-class>DeleteV</servlet-class>
</servlet>
<servlet>
<servlet-name>DeleteT</servlet-name>
<servlet-class>DeleteT</servlet-class>

</servlet>
<servlet-mapping>
<servlet-name>Create</servlet-name>
<url-pattern>/Create</url-pattern>

Advanced JAVA (2160707) Page 14


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

</servlet-mapping>
<servlet-mapping>
<servlet-name>Insert</servlet-name>
<url-pattern>/Insert</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Update</servlet-name>
<url-pattern>/Update</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DeleteV</servlet-name>
<url-pattern>/DeleteV</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DeleteT</servlet-name>
<url-pattern>/DeleteT</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

Index.html:
<html>
<head><title>Welcome</title>
<meta charset=”UTF-8”>
<meta name=”viewport’ content="width=device-width, initial-scale=1.0">
</head>
<body>
<a href=”Create”><button>Create Table</button></a></br>

Advanced JAVA (2160707) Page 15


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

<a href=”Insert”><button>Insert Value</button></a></br>


<a href=”Update”><button>Update Value</button></a></br>
<a href=”DeleteV”><button>Delete Value</button></a></br>
<a href=”DeleteT”><button>Delete Table</button></a></br>

</body>
</html>

OUTPUT:

Create.html

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Create extends HttpServlet {


protected void doGet(HttpServletRequest
request, HttpServletResponse response)
throws ServletException, IOException
try {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

Advanced JAVA (2160707) Page 16


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

Connection conn=DriverManager.getConnection
("jdbc:ucanaccess://D:/Database31.accdb");
Statement stmt=conn.createStatement();
boolean rs=stmt.execute("create table student(firstname
varchar(10),lastname varchar(10))");
System.out.println("Create Table Sucesfully");
}
catch (ClassNotFoundException ex)
{
Logger.getLogger(Create.class.getName())
.log(Level.SEVERE, null, ex);
} catch (SQLException ex)
{
Logger.getLogger(Create.class.getName())
.log(Level.SEVERE, null, ex);
}
}
}

OUTPUT:

Insert.java:

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

Advanced JAVA (2160707) Page 17


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

import javax.servlet.http.HttpServletResponse;

public class Insert extends HttpServlet


{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
Connection conn= DriverManager.getConnection
("jdbc:ucanaccess://D:/Database31.accdb");
Statement stmt=conn.createStatement();
boolean rs=stmt.execute("insert into student(firstname,lastname)
values('Parth','Patel')");
System.out.println( "Data Successfully Inserted..");

}
catch (ClassNotFoundException ex)
{
Logger.getLogger(Insert.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex)
{
Logger.getLogger(Insert.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

OUTPUT:

Update.java:

import java.io.IOException;
import java.io.PrintWriter;

Advanced JAVA (2160707) Page 18


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Update extends HttpServlet


{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
Connection conn=DriverManager.getConnection
("jdbc:ucanaccess://D:/Database31.accdb");
Statement stmt=conn.createStatement();
boolean rs=stmt.execute("update student set lastname='patel' where
firstname='Neel'");
System.out.println("Update Data Sucesfully");
} catch (ClassNotFoundException ex)
{
Logger.getLogger(Insert.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex)
{
Logger.getLogger(Insert.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

OUTPUT:

Advanced JAVA (2160707) Page 19


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

DeleteV.java

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DeleteV extends HttpServlet


{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
Connection conn=DriverManager.getConnection
("jdbc:ucanaccess://D:/Database31.accdb");
Statement stmt=conn.createStatement();
boolean rs=stmt.execute("delete from student
where firstname='Parth'");
out.println( "Delete Data Successfully..");

Advanced JAVA (2160707) Page 20


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

} catch (ClassNotFoundException ex)


{
Logger.getLogger(Insert.class.getName()).log
(Level.SEVERE, null, ex);
} catch (SQLException ex)
{
Logger.getLogger(Insert.class.getName())
.log(Level.SEVERE, null, ex);
}
}
}

OUTPUT:

DeleteT.java

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DeleteT extends HttpServlet
{

protected void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
try {

Advanced JAVA (2160707) Page 21


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
Connection conn=DriverManager.getConnection
("jdbc:ucanaccess://D:/Database31.accdb");
Statement stmt=conn.createStatement();
boolean rs=stmt.execute("drop table student");
out.println( "Table Deleted..");
} catch (ClassNotFoundException ex)
{
Logger.getLogger(Insert.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex)
{
Logger.getLogger(Insert.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

OUTPUT:

PRACTICAL: 6
AIM: User can create a new database and also create new table under that
database. Once database has been created then user can perform database
operation by calling above functions. Use following Java Statement interface to
implement program: 1. Statement 2. Prepared statement 3. Callable statement

SqlCon.java
import java.sql.*;
import java.util.Scanner;
public class SqlCon
{

Advanced JAVA (2160707) Page 22


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

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


{
System.out.println("Enter database name to create new database:");
Scanner scan=new Scanner(System.in);
String dbname=scan.next();
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/","root","birju");
Statement stmt=con.createStatement();
stmt.executeUpdate("create database "+dbname);
System.out.println("Database Created");
stmt.execute("use "+dbname);
System.out.println("Enter table name to create table:");
String tbname=scan.next();
stmt.executeUpdate("create table "+tbname+" (id int,name char(20),branch char(10),address
char(20))");
System.out.println("Table Created with (id,nam,branch,address) fields");
while(true)
{
System.out.println("Enter your choice:\n1.Insert\t2.Delete\t3.select\t4.Exit");
int choice=scan.nextInt();
switch(choice)
{
case 1:
{
System.out.println("Enter (id,name,branch,address) of student:");
int id=scan.nextInt();
String name=scan.next();
String branch=scan.next();
String add=scan.next();
PreparedStatement sr;
String str = "insert into "+tbname+" values(?,?,?,?)";
sr = con.prepareStatement(str);
sr.setInt(1,id);
sr.setString(2,name);
sr.setString(3,branch);
sr.setString(4,add);
sr.executeUpdate();
System.out.println("Data inserted");
break;
}
case 2:
{
System.out.println("Enter id of student:");
int id=scan.nextInt();
ResultSet rs=stmt.executeQuery("select * from "+tbname+" where id="+id);

Advanced JAVA (2160707) Page 23


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

if(rs.next())
{
stmt.executeUpdate("delete from "+tbname+" where id="+id);
System.out.println("Data deleted");
}
else
{
System.out.println("Data with id "+id+" doesn't exsist");
}
break;
}
case 3:
{
System.out.println("Enter id of student:");
int id=scan.nextInt();
stmt.execute("CREATE PROCEDURE "+dbname+".selector (IN idr INT) "+
"BEGIN "+
"SELECT * "+
"FROM "+tbname+" "+
"WHERE id = idr; "+
"END");
CallableStatement cs = con.prepareCall("{call "+dbname+".selector(?)}");
cs.setInt(1, id);
System.out.println("procedure call sucess");
cs.execute();
ResultSet rs=cs.getResultSet();
if(rs.next())
{
System.out.println("id\tName\tBranch\tAddress");

System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4));
}
break;
}
case 4:
{
break;
}
default:
{
System.out.println("Invalid option");
}
}
if(choice==4)
{

Advanced JAVA (2160707) Page 24


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

break;
}
}
con.close();
}
}

OUTPUT:

PRACTICAL: 7
AIM: Create Servlet file and study web descriptor file.

Description:
Servlet is used for processing request from the web browser and create responses corresponding to
the requests received. A servlet is a java file. Various servlets mapping are performed based upon the
information available in web descriptor file.

Java web applications use a deployment descriptor file to determine how URLs map to servlets,
which URLs require authentication, and other information. This file is named web.xml, and resides
in the app's WAR under the WEB-INF/ directory. web.xml is part of the servlet standard for web
applications. It can also include information about filters that are needed to be performed when a

Advanced JAVA (2160707) Page 25


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

resource mapped to that filter is accessed from client side.

A web application's deployment descriptor describes the classes, resources and configuration of the
application and how the web server uses them to serve web requests. When the web server receives a
request for the application, it uses the deployment descriptor to map the URL of the request to the
code that ought to handle the request.

The deployment descriptor is a file named web.xml. It resides in the app's WAR under the WEB-
INF/ directory. The file is an XML file whose root element is <web-app>.

web.xml file:

<?xml version="1.0" encoding="UTF-8"?>


<web-app version="3.1" xmlns= http://xmlns.jcp.org/xml/ns/javaee
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-
app_3_1.xsd">

<servlet>
<servlet-name>Servlet 1</servlet-name>
<servlet-class>s1</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Servlet 1</servlet-name>
<url-pattern>/s1</url-pattern>
</servlet-mapping>

<filter>
<filter-name>f1</filter-name>
<filter-class>filter_auth</filter-class>
</filter>
<filter-mapping>
<filter-name>f1</filter-name>
<url-pattern>/s1</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

Here, the web.xml is a file of a Filter implementation before forwarding the request to servlet “s1”.

Advanced JAVA (2160707) Page 26


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

The file always starts with <web-app> root tag and ends with </web-app> tag. Whenever a request
to servlet “s1” is received the descriptor checks whether a filter is associated with “s1” or not. If the
filter is associated with the resource then firstly, the filter is executed. If the filter is not associated,
then the path to the servlet “s1”, defined in <url-pattern> … </url-pattern> is used to located the
servlet file.

PRACTICAL: 8
AIM: Create login form and perform state management using Cookies,
HTTPSession and URL Rewriting.
Using Cookie
index.html

<!DOCTYPE html>
<html>
<head>
<title>Form</title>
<meta charset="UTF-8">

Advanced JAVA (2160707) Page 27


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

<meta name="viewport" content="width=device-width, initial-scale=1.0">


</head>
<body>
<form action="cookie" method="POST">
Username: <input type="text" name="uname"> <br><br>
Password: <input type="password" name="pwd"> <br><br>
<input type="submit">
</form>
</body>
</html>

cookie.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class cookie extends HttpServlet
{
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = request.getParameter("uname");
Cookie ck = new Cookie("user",name);
out.write("Your Username: "+name);
response.addCookie(ck);
out.write("<br><a href='cookie_second'>Next Page</a>");
}
}

cookie_second.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class cookie_second extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie[] ck = request.getCookies();

Advanced JAVA (2160707) Page 28


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

out.write("Second Page, Your Username: "+ck[0].getValue());


}
}

OUTPUT:

Using HttpSession
index.html

<!DOCTYPE html>
<html>
<head>
<title>Form</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="http" method="POST">
Username: <input type="text" name="uname"> <br><br>
Password: <input type="password" name="pwd"> <br><br>

Advanced JAVA (2160707) Page 29


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

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

http.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class http extends HttpServlet
{
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = request.getParameter("uname");
HttpSession hs = request.getSession();
hs.setAttribute("user",name);
out.write("Your Username: "+name);
out.write("<br><a href='http_second'>Next Page</a>");
}
}

http_second.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class http_second extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession hs = request.getSession(false);
String name=(String)hs.getAttribute("user");
out.write("Second Page, Your Username: "+name);
}

Advanced JAVA (2160707) Page 30


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

OUTPUT:

Using URL Rewriting

index.html

<!DOCTYPE html>
<html>
<head>
<title>Form</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="url" method="POST">
Username: <input type="text" name="uname"> <br><br>
Password: <input type="password" name="pwd"> <br><br>
<input type="submit">
</form>
</body>
</html>

Advanced JAVA (2160707) Page 31


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

url.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class url extends HttpServlet
{
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = request.getParameter("uname");
out.write("Your Username: "+name);
out.write("<br><a href='url_second?user="+name+"'>Next Page</a>");
}
}

url_second.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class url_second extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = request.getParameter("user");
out.write("Second Page, Your Username: "+name);
}
}

OUTPUT:

Advanced JAVA (2160707) Page 32


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

PRACTICAL: 9
AIM: Implement Authentication filter using filter API.
index.html

<!DOCTYPE html>
<html>
<head>
<title>Authentication</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="servlet" method="POST">
<pre>

Username: <input type="text" name="usern">


Password: <input type="password" name="pass">

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

Advanced JAVA (2160707) Page 33


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

</pre>
</form>
</body>
</html>

filter_auth.java

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

public class filter_auth implements Filter


{
public void init(FilterConfig arg0) throws ServletException {}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws
IOException, ServletException
{
PrintWriter out = res.getWriter();
String u = req.getParameter("usern");
String p = req.getParameter("pass");
if(u.equals("admin") && p.equals("admin"))
{
chain.doFilter(req, res);
}

else
{
out.write("Incorrect Username or Password");
}
}
public void destroy() {}
}

servlet.java

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

public class servlet extends HttpServlet


{

Advanced JAVA (2160707) Page 34


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.write("Login Successful");
}
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>


<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-
app_3_1.xsd">
<servlet>
<servlet-name>Servlet 1</servlet-name>
<servlet-class>servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet 1</servlet-name>
<url-pattern>/servlet</url-pattern>

</servlet-mapping>
<filter>
<filter-name>f1</filter-name>
<filter-class>filter_auth</filter-class>
</filter>
<filter-mapping>
<filter-name>f1</filter-name>
<url-pattern>/servlet</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

OUTPUT:

Case 1: When username/password are not “admin”. Servlet is not executed.

Advanced JAVA (2160707) Page 35


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

Case 2: When username/password are “admin”. Servlet is executed.

Advanced JAVA (2160707) Page 36


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

PRACTICAL: 10
AIM: Create database of student subject-wise data and retrieve all
data using JSP and generate xml structure along with XML Schema
definition.
index.jsp

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


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<c:import var="xmlfile" url="xmlsheet.xml"/>
<c:import var="xslfile" url="xslsheet.xsl"/>
<x:transform xml="${xmlfile}" xslt="${xslfile}"/>

Advanced JAVA (2160707) Page 37


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

</body>
</html>

xmlsheet.xml

<?xml version="1.0" encoding="UTF-8"?>


<it>
<marks>
<student>
<name>Anil</name>
<no>01</no>
<ajt>30</ajt>
<net>28</net>
<wt>25</wt>
<dcdr>24</dcdr>
<se>30</se>
</student>
<student>
<name>Reema</name>
<no>02</no>
<ajt>24</ajt>
<net>26</net>
<wt>25</wt>
<dcdr>25</dcdr>
<se>21</se>
</student>
<student>
<name>Mahesh</name>
<no>03</no>
<ajt>20</ajt>
<net>28</net>
<wt>25</wt>
<dcdr>21</dcdr>
<se>30</se>
</student>
<student>
<name>Jay</name>
<no>04</no>
<ajt>22</ajt>
<net>29</net>
<wt>21</wt>
<dcdr>26</dcdr>
<se>20</se>
</student>
<student>

Advanced JAVA (2160707) Page 38


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

<name>Suresh</name>
<no>05</no>
<ajt>29</ajt>
<net>28</net>
<wt>25</wt>
<dcdr>24</dcdr>
<se>20</se>
</student>
</marks>
</it>

xslsheet.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">


<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>xslsheet.xsl</title>
</head>
<body>
<h1>
<center>MarkSheet</center>
</h1>
<table border="1" align="center">
<tr>
<th><center>Enrollment No</center></th>
<th><center>Name</center></th>
<th><center>AJT</center></th>

<th><center>DOT NET</center></th>
<th><center>WT</center></th>
<th><center>DCDR</center></th>
<th><center>SE</center></th>
</tr>
<xsl:for-each select="/it/marks/student">
<tr>
<td><center><xsl:value-of select="no"/></center></td>
<td><center><xsl:value-of select="name"/></center></td>
<td><center><xsl:value-of select="ajt"/></center></td>
<td><center><xsl:value-of select="net"/></center></td>
<td><center><xsl:value-of select="wt"/></center></td>
<td><center><xsl:value-of select="dcdr"/></center></td>
<td><center><xsl:value-of select="se"/></center></td>
</tr>

Advanced JAVA (2160707) Page 39


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

OUTPUT:

PRACTICAL: 11
AIM: Refer Practical 11 and apply XSLT (Style) to generated xml
document and print your result.

 Create a New Project Student Information in NetBeans


o New Project->Java Web->Web Application->Give Project Name
(Student Information)->Finish.

Advanced JAVA (2160707) Page 40


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

o Add WebService give a name Student_Information then Finish.

o Add

operation in for inserting student information in webservice.


Student_Information.java(Web Service)

package Com.test;

Advanced JAVA (2160707) Page 41


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

import javax.jws.WebService; import javax.jws.WebMethod;


import javax.jws.WebParam;
@WebService(serviceName="Student_information") public class Student_information {
@WebMethod(operationName = "Inserting_Information")
public String Inserting_Information(@WebParam(name = "Name") String Name,
@WebParam(name = "EnrollNo")
int EnrollNo, @WebParam(name = "Contact_No") int Contact_No, @WebParam(name =
"City") String City, @WebParam(name = "Email_ID") String Email_ID) {
}
}

o Click the button of Inserting Information

Advanced JAVA (2160707) Page 42


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

o Now First Deploy the project and then test the web- service.

o SOAP Request and Response is generated when Click on Inserting Information Button.

Advanced JAVA (2160707) Page 43


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

PRACTICAL: 12
AIM: Create web service which provides student information.

Web service is a technology to communicate one programming language with another. For example,
java programming language can interact with PHP and .Net by using web services. In other words,
web service provides a way to achieve interoperability.

There are two types of web services:

 SOAP Web Services


 REST Web Services

Advanced JAVA (2160707) Page 44


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

PRACTICAL: 13
AIM: Create Web Service client which consume above service and
display student data by entering student id.

Advanced JAVA (2160707) Page 45


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

PRACTICAL: 14
AIM: Study and implement Hibernate.

Description

Hibernate framework simplifies the development of java application to interact with the database.
Hibernate is an open source, lightweight, ORM (Object Relational Mapping) tool.

An ORM tool simplifies the data creation, data manipulation and data access. It is a programming
technique that maps the object to the data stored in the database.

Advantages:

There are many advantages of Hibernate Framework. They are as follows:

Advanced JAVA (2160707) Page 46


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

1) Open source and Lightweight: Hibernate framework is open source under the LGPL license and
lightweight.

2) Fast performance: The performance of hibernate framework is fast because cache is internally


used in hibernate framework. There are two types of cache in hibernate framework first level cache
and second level cache. First level cache is enabled by default.

3) Database Independent query: HQL (Hibernate Query Language) is the object-oriented version


of SQL. It generates the database independent queries. So you don't need to write database specific
queries. Before Hibernate, If database is changed for the project, we need to change the SQL query
as well that leads to the maintenance problem.

4) Automatic table creation: Hibernate framework provides the facility to create the tables of the
database automatically. So there is no need to create tables in the database manually.

5) Simplifies complex join: To fetch data form multiple tables is easy in hibernate framework.

6) Provides query statistics and database status: Hibernate supports Query cache and provide
statistics about query and database status.

Steps of Hibernate Framework Use:

1. Create a new Java Web Application project. Here the project is named as “Hibernate”.

Advanced JAVA (2160707) Page 47


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

2. After step 1, Netbeans itself set the server to Glass Fish Server and set the context path
“/Hibernate”.

3. From the various list of Framework options, we select Hibernate Framework.

Advanced JAVA (2160707) Page 48


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

4. Once the Finish button is clicked. Hibernate create a “hibernate.cnf.xml” file, which is
configuration file on which the Hibernate Framework works.

index.html

Advanced JAVA (2160707) Page 49


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

<!DOCTYPE html>
<html>
<head>
<title>Index File</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>Hello World</div>
</body>
</html>

OUTPUT:

PRACTICAL: 15
AIM: Study and Implement MVC using Spring Framework.

Advanced JAVA (2160707) Page 50


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

Description

Spring is a lightweight framework. It can be thought of as a framework of frameworks because it


provides support to various frameworks such as Struts, Hibernate, Tapestry, EJB, JSF etc. The
framework, in broader sense, can be defined as a structure where we find solution of the various
technical problems.

The Spring framework comprises several modules such as IOC, AOP, DAO, Context, ORM, WEB
MVC etc. We will learn these modules in next page. Let's understand the IOC and Dependency
Injection first.

Advantages

There are many advantages of Spring Framework. They are as follows:

1) Predefined Templates: Spring framework provides templates for JDBC, Hibernate, JPA etc.
technologies. So there is no need to write too much code. It hides the basic steps of these
technologies.

2) Loose Coupling: The Spring applications are loosely coupled because of dependency
injection.

3) Easy to test: The Dependency Injection makes easier to test the application. The EJB or
Struts application require server to run the application but Spring framework doesn't require
server.

4) Lightweight: Spring framework is lightweight because of its POJO implementation. The


Spring Framework doesn't force the programmer to inherit any class or implement any
interface. That is why it is said non-invasive.

5) Fast Development: The Dependency Injection feature of Spring Framework and it support
to various frameworks makes the easy development of JavaEE application.

6) Powerful abstraction: It provides powerful abstraction to JavaEE specifications such as


JMS, JDBC, JPA and JTA.

Steps of Spring Framework Use:

1. Create a new Java Web Application project. Here the project is named as “Spring_MVC”.

Advanced JAVA (2160707) Page 51


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

2. After step 1, Netbeans itself set the server to Glass Fish Server and set the context path
“/Spring_MVC”.

3. From the various list of Framework options, we select Spring Web MVC Framework.

Advanced JAVA (2160707) Page 52


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

4. Once the Finish button is clicked. Spring Web MVC Framework creates three files named as
“applicationContext.xml” file, “redirect.jsp” file and “dispatcher-servlet.xml” file, which are
the files on which the Spring MVC Framework works.

applicationContext.xml

redirect.jsp

Advanced JAVA (2160707) Page 53


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

dispatcher-servlet.xml

index.html

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

Advanced JAVA (2160707) Page 54


SARDAR PATEL COLLEGE OF ENGINEERING, BAKROL.

181243107004

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome to Spring Web MVC project</title>
</head>

<body>
<p>Hello World</p>
</body>
</html>

OUTPUT:

Advanced JAVA (2160707) Page 55

You might also like