Académique Documents
Professionnel Documents
Culture Documents
PRACTICAL – 01
Server code
import java.io.*;
import java.net.*;
public class GossipServer {
public static void main(String[] args) throws Exception
{
ServerSocket sersock = new ServerSocket(3000);
System.out.println("Server ready for chatting");
Socket sock = sersock.accept( );
// reading from keyboard (keyRead object)
BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
// sending to client (pwrite object)
OutputStream ostream = sock.getOutputStream();
PrintWriter pwrite = new PrintWriter(ostream, true);
1
Advanced Java
160060107043
Client code
import java.io.*;
import java.net.*;
public class GossipServer {
public static void main(String[] args) throws Exception
{
ServerSocket sersock = new ServerSocket(3000);
System.out.println("Server ready for chatting");
Socket sock = sersock.accept( );
// reading from keyboard (keyRead object)
BufferedReader keyRead = new BufferedReader(new InputStreamReader(System.in));
// sending to client (pwrite object)
OutputStream ostream = sock.getOutputStream();
PrintWriter pwrite = new PrintWriter(ostream, true);
2
Advanced Java
160060107043
Output:
Server:
Client:
3
Advanced Java
160060107043
PRACTICAL – 02
AIM: Implement TCP Server for transferring files using Socket and
ServerSocket.
Server code
import java.net.*;
import java.io.*;
import java.*;
public class server {
public static void main(String[] args) throws IOException
{
ServerSocket ss= new ServerSocket(777);
Socket s= ss.accept();
OutputStream os= s.getOutputStream();
InputStream is = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
PrintStream ps= new PrintStream(os);
String fname,str;
fname=br.readLine();
File f = new File(fname);
if(f.exists())
{
FileReader fr =new FileReader(f);
BufferedReader fread = new BufferedReader(fr);
while((str=fread.readLine())!=null){
ps.println(str);
}
}
Else
{
4
Advanced Java
160060107043
Client code
import java.net.*;
import java.io.*;
import java.util.*;
public class client {
public static void main(String args[]) throws IOException
{
}
}
5
Advanced Java
160060107043
Output:
Server:
Client:
6
Advanced Java
160060107043
PRACTICAL – 3
Server code:
import java.net.*;
import java.io.*;
public class SortServer {
public static void main(String ar[]) throws Exception
{
ServerSocket s1=new ServerSocket(12345);
System.out.println("Server Started");
Socket s=s1.accept();
PrintWriter p=new PrintWriter(s.getOutputStream());
BufferedReader in=new BufferedReader(new
InputStreamReader(s.getInputStream()));
String num=in.readLine();
int n=Integer.parseInt(num);
System.out.println("Client want to sort "+n+" numbers");
String sarr[]=new String[n];
int arr[]=new int[n];
int swap,c,d;
System.out.println("received numbers::\n");
for(int i=0;i<n;i++)
{
sarr[i]=in.readLine();
arr[i]=Integer.parseInt(sarr[i]);
System.out.println("no. "+i+"="+arr[i]);
}
}
Client code:
import java.net.*;
import java.io.*;
public class SortClient {
public static void main(String ar[]) throws Exception
{
Socket s=new Socket("localhost",12345);
PrintWriter p=new PrintWriter(s.getOutputStream());
BufferedReader in=new BufferedReader(new
InputStreamReader(s.getInputStream()));
BufferedReader ink=new BufferedReader(new
InputStreamReader(System.in));
System.out.println("How many numbers to sort? ");
int num=Integer.parseInt(ink.readLine());
p.println(num);
p.flush();
System.out.println("Enter "+num+" numbers to sort :");
String sarr[]=new String[num];
for(int i=0;i<num;i++)
{
System.out.print("no. "+i+"=");
sarr[i]=ink.readLine();
p.println(sarr[i]);
p.flush();
}
String res;
System.out.println("\nSorted array::\n");
while((res=in.readLine())!=null)
{
System.out.println(res);
}
s.close();
10
Advanced Java
160060107043
Output:
Server:
Client:
9
Advanced Java
160060107043
PRACTICAL – 04
Server code:
import java.io.*;
import java.net.*;
public class p4s implements Runnable
{
Socket ss;
int l;
p4s(Socket c,int x)
{
this.ss = c;
this.l=x;
}
public static void main(String args[]) throws Exception
{
ServerSocket ss = new ServerSocket(777);
int x=0;
while (true)
{
Socket sock = ss.accept();
System.out.println("yash"+x+" is connected");
new Thread(new p4s(sock,x)).start();
x++;
}
}
10
Advanced Java
160060107043
try
{
String str,str1;
PrintStream ps = new PrintStream(ss.getOutputStream());
BufferedReader br = new BufferedReader(new
InputStreamReader(ss.getInputStream()));
while(!((str=br.readLine()).isEmpty()))
{
str1=new StringBuilder(str).reverse().toString();
ps.println(str1);
}
ps.close();
ss.close();
} catch (IOException e)
{
System.out.println(e);
}
}
}
11
Advanced Java
160060107043
Client code:
import java.io.*;
import java.net.*;
import java.util.*;
}
ps.println(str);
ps.close();
br.close();
s.close();
}
}
12
Advanced Java
160060107043
Output:
Server
Client 1
Client 2
13
Advanced Java
160060107043
PRACTICAL – 05
Aim: Write RMI application where client supplies two numbers and server
response by summing it. Provide your custom security policy for this
application.
Source code:
1).import java.rmi.*;
import java.rmi.server.*;
class TestAddImpl extends UnicastRemoteObject implements TestAdd
{
TestAddImpl() throws RemoteException
{
}
public int add (int i,int j) throws RemoteException
{
return (i+j);
}
}
2 ) . import java.rmi.*;
3) . import java.rmi.*;
class Server{
public static void main(String args[]) throws RemoteException
{
try{
TestAddImpl t=new TestAddImpl();
Naming.rebind("obj",t);
}
catch(Exception e)
{}
}
}
4 ) . import java.rmi.*;
class Client{
public static void main(String args[])
{
try{
TestAdd t1=(TestAdd)Naming.lookup("rmi://localhost/obj");
int a=t1.add(5,6);
14
Advanced Java
160060107043
System.out.println("Add: "+a);
}
catch(Exception e)
{
}
}
}
Output:
15
Advanced Java
160060107043
PRACTICAL – 06
Java Code:
pakage UDPclient;
import java.sql.*;
public class p6
class.forName("com.mysql.jdbc.Driver");
connection
con=DriverManager.getConnection("jdbc:mysql://192.168.0.8/COMGB","COMGB","
123456");
statement st=con.createStatement();
while(rst.next())
rst.close();
con.close();
16
Advanced Java
160060107043
Output:
17
Advanced Java
160060107043
PRACTICAL – 07
Java Code:
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 javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class servlet extends HttpServlet {
String h=request.getParameter("iemp_id")
String p="'"+request.getParameter("iemp_name")+"'";
String n=request.getParameter("ileaves");
out.print("<br><br>");
st.executeUpdate("insert into employee values ("+h+","+p+","+n+")");
out.println("data is inserted ");
}
else if(c.equals("update")){
String f=request.getParameter("uleaves");
String h="'"+request.getParameter("uemp_name")+"'";
st.executeUpdate("update employee set leaves="+f+" where emp_name="+h);
out.println("database is updated");
}
else if(c.equals("delete")){
String k=request.getParameter("demp_id");
st.executeUpdate("delete from employee where emp_id="+k);
out.println("data is deleted");
}
else if(c.equals("display")){
ResultSet rs = st.executeQuery("Select * from employee");
19
Advanced Java
160060107043
out.println("emp_id<t> ");
out.println("emp_name <t> ");
out.println("leaves");
out.println("<br><br>");
while(rs.next())
{
int l=rs.getInt("emp_id");
String sname=rs.getString("emp_name");
int bd=rs.getInt("leaves");
out.println(l+" ");
out.println(sname+" ");
out.println(bd);
out.println("<br><br>");
}
}
}catch( ClassNotFoundException | SQLException e){out.print(e);}
out.println("<br><br>");
out.println("<a href=index.html>go to home page</a>");
out.println("</body>");
out.println("</html>");
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
20
Advanced Java
160060107043
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
@Override
public String getServletInfo() {
return "Short description";
}
Html Code:
<html>
<head>
<title>employee leaves</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body >
<h1>employee leaves</h1><br><br>
<form action="servlet">
Choice:<input type="radio" name="choice" value="insert">insert
<input type="radio" name="choice" value="update">update
<input type="radio" name="choice" value="delete">delete
<input type="radio" name="choice" value="display">show table<br><br>
insertion data:<br><br>
employee id. :<input type="text" name="iemp_id" placeholder="employee id">
employee name :<input type="text" name="iemp_name" placeholder="employee name" >
21
Advanced Java
160060107043
total leaves :<input type="text" name="ileaves" placeholder="total leaves"><br><br><br>
update data :<br><br>
New total leaves:<input type="text" name="uleaves" placeholder="enter new total leaves">
employee name:<input type="text" name="uemp_name" placeholder="name of
employee"><br><br><br><br>
delete data:<br><br>
employee id.:<input type="text" name="demp_id" placeholder="employee
id"><br><br><br><br>
<input type="submit" value="submit"><br><br><br><br>
</form>
</html>
Output:
22
Advanced Java
160060107043
23
Advanced Java
160060107043
24
Advanced Java
160060107043
PRACTICAL – 08
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.
Source Code:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
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;
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet prestatment</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet prestatment at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/student2
","root","");
PreparedStatement ps=con.prepareStatement("insert into student_info1 values(?,?,?)");
//PreparedStatement ps=con.prepareStatement("delete from student_info1 where sname
= “pqr'");
25
Advanced Java
160060107043
//PreparedStatement ps=con.prepareStatement("update student_info1 set sname="pqr"
where seno='2'");
//PreparedStatement ps=con.prepareStatement("drop table student_info1");
//PreparedStatement ps=con.prepareStatement("drop database student2");
//ps.setInt(1, 1);
//ps.setString(2,"xyz");
//ps.setString(3,"cse");
ps.executeUpdate();
con.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (ClassNotFoundException ex) {
Logger.getLogger(prestatment.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(prestatment.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try
{
processRequest(request, response);
} catch (ClassNotFoundException ex)
{
Logger.getLogger(prestatment.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex)
{
Logger.getLogger(prestatment.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public String getServletInfo()
{
return "Short description";
}
}
26
Advanced Java
160060107043
Output:
Insert
Update
27
Advanced Java
160060107043
Delete
Delete table
Delete database
28
Advanced Java
160060107043
PRACTICAL – 09
Source code:
import javax..servlet.*;
import java.io.*;
public class demo extends GenericServlet
{
public void service(ServletRequest request,ServletResponse response)
{
try
{
out.println("<html>");
out.println("<body>");
out.println("<Hello World!>");
out.println("</body>");
out.println("</html>");
}
catch(Exception e)
{
out.println(e);
}
}
}
WEB.XML
<web-app>
<servlet>
<servlet-name>ser1</servlet-name>
<servlet-class>ser1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ser1</servlet-name>
<url-pattern>/ser1</url-pattern>
</servlet-mapping>
</web-app>
<SERVLET>
29
Advanced Java
160060107043
<SERVLET-NAME>:
Servlet-name defines the canonical name of the servlet,use to reference the servlet
definition elsewhere in the deployment descriptor.
<SERVLET-CLASS>:
The fully-qualified class name of the servlet.
<SERVLET-MAPPING>:
<SERVLET-NAME>:
The name of the servlet too which you are mapping a URL pattern.This name
corresponds to the name you assigned a servlet in a <SERVLET> declaration tag.
<URL-MAPPING>:
<URL-MAPPING> describes a pattern used to resolve URLs.The portion of the URL
after the http://host:port+WebAppName is compared to the <url-pattern> by weblogic server.If
the patterns match,the servlet mapped in this element will be called.
30
Advanced Java
160060107043
PRACTICAL – 10
Aim: Create login form and perform state management using Cookies,
HttpSession and URL Rewriting.
Source code:
Cookie:
Index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="main">
User Name:<input type="text" name="user"><br><br>
Password:<input type="text" name="pass"><br><br>
<input type="submit" value="Add Cookies"><br><br>
</form>
<form action="getcookie">
<input type="submit" value="Get Cookies">
</form>
</body>
</html>
getcookie.java:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/getcookie")
public class getcookie extends HttpServlet {
private static final long serialVersionUID = 1L;
public getcookie() {
super();
31
Advanced Java
160060107043
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("text/html");
Cookie ck[]=request.getCookies();
PrintWriter out=response.getWriter();
for(int i=0;i<ck.length;i++)
{
out.print(ck[i].getName()+":");
out.print(ck[i].getValue()+"</br>");
}
}
}
main.java:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/main")
public class main extends HttpServlet {
private static final long serialVersionUID = 1L;
public main() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
//response.setContentType("text/html");
String user=request.getParameter("user");
String pass=request.getParameter("pass");
Cookie u=new Cookie(user,pass);
//Cookie p=new Cookie("pass",pass);
u.setMaxAge(30*60);
// p.setMaxAge(30*60);
response.addCookie(u);
//response.addCookie(p);
response.sendRedirect("input.html");}
Output:
32
Advanced Java
160060107043
Session:
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="main">
User Name:<input type="text" name="user"><br><br>
Password:<input type="text" name="pass"><br><br>
<input type="submit" value="Add Session"><br><br>
</form>
<form action="getcookie">
<input type="submit" value="Get Session">
</form>
</body>
</html>
getsession.java:-
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/getcookie")
public class getcookie extends HttpServlet {
private static final long serialVersionUID = 1L;
public getcookie() {
33
Advanced Java
160060107043
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession(false);
String user=(String)session.getAttribute("user");
String pass=(String)session.getAttribute("pass");
out.print("Hello "+user+"\n your pass is:"+pass);
out.close();
}catch(Exception e){System.out.println(e);}
}
}
main.java:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/main")
public class main extends HttpServlet {
private static final long serialVersionUID = 1L;
public main() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{
response.setContentType("text/html");
String user=request.getParameter("user");
String pass=request.getParameter("pass");
HttpSession session=request.getSession();
session.setAttribute("user",user);
session.setAttribute("pass",pass);
response.sendRedirect("input.html");
}catch(Exception e){System.out.println(e);}
}}
Output:
34
Advanced Java
160060107043
35
Advanced Java
160060107043
PRACTICAL – 11
Myfilter.java
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@Override
public void init(FilterConfig fc) throws ServletException {
}
@Override
public void destroy() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of
generated methods, choose Tools | Templates.
}
}
36
Advanced Java
160060107043
LoginServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet LoginServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Welcome Admin</h1>");
out.println("</body>");
out.println("</html>");
}
}
}
Index.html
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form method="post" action ="NewServlet">
<p> enter username<input type="text" name="username" required/></p><br>
<p>password<input type="password" name="password" required/></p><br>
<p><input type="submit" value="login"></p><br>
</form>
</body>
</html>
37
Advanced Java
160060107043
Web.xml
Output:
38
Advanced Java
160060107043
39
Advanced Java
160060107043
PRACTICAL – 12
Aim: Create database of student subject-wise data and retrieve all data using
JSP and generate xml structure along with DTD and XML Schema
definition.
Source code:
index.jsp
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<TITLE>Database Lookup</TITLE>
</head>
<body>
<H1>Database Lookup</H1>
<BR>
<BR>
</FORM>
40
Advanced Java
160060107043
</body>
</html>
basic.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>Fetching Data From a Database</TITLE>
</head>
<body>
<H1>Fetching Data From a Database</H1>
<%
Connection con = DriverManager.getConnection("jdbc:odbc:std","","");
Statement st = con.createStatement();
String id = request.getParameter("id");
ResultSet resultset =
st.executeQuery("select * from std where ID = '" + id + "'") ;
if(!resultset.next())
{
out.println("Sorry, could not find that publisher. ");
}
else
{
%>
<TABLE BORDER="1">
<TR>
<TH>ID</TH>
<TH>Name</TH>
<TH>Age</TH>
</TR>
<TR>
<TD> <%= resultset.getString(1) %> </TD>
41
Advanced Java
160060107043
<TD> <%= resultset.getString(2) %> </TD>
<TD> <%= resultset.getString(3) %> </TD>
</TR>
</TABLE>
<BR>
<%
}
con.close();
%>
</body>
</html>
OUTPUT:
42
Advanced Java
160060107043
43
Advanced Java
160060107043
PRACTICAL – 13
AIM: Refer Practical 11 and apply XSLT (Style) to generated xml document
and print your result.
Index.html
<html>
<head>
<title>Filter API</title>
</head>
<div>
<form action="MyF" style="text-align:center;">
<h1>My First Filter API</h1>
Username: <input class="side" type="text" name="name"
placeholder="UserName"><br>
Password: <input class="side" type="password" name="password"
placeholder="Password" style=margin-top:-5px;"><br>
<input class="b1" type="submit" value="Login">
</form>
</div>
</body>
</html>
MyFilter.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
public class MyFilter implements Filter {
public void init(FilterConfig arg0) throws ServletException {
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain c)
throws IOException, ServletException {
PrintWriter pw = resp.getWriter();
String un = req.getParameter("name");
String pwd = req.getParameter("password");
if (un.equals("hardik") && pwd.equals("1234")) {
pw.print("welcome..." + un + "You have sucessfully login.... ");
} else {
pw.print("Invalid Username or Password");
}
}
@Override
public void destroy() {
}
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"
44
Advanced Java
160060107043
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/MyF</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
Output:
45
Advanced Java
160060107043
PRACTICAL – 14
Index.jsp
RegVO.java
47
Advanced Java
160060107043
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Welcome.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
</head>
<body>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<c:forEach items="${sessionScope.lsearch}" var="i">
${i.roll} ${i.name} ${i.email}<br>
</c:forEach>
</body>
</html>
Output:
48
Advanced Java
160060107043
PRACTICAL – 15
AIM: Create Web Service client which consume above service and display
student data by entering student id.
Index.jsp
RegController.java
import java.io.*;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;
@WebServlet("/RegController")
public class RegController extends HttpServlet {
private static final long serialVersionUID = 1L;
public RegController() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
PrintWriter out = response.getWriter();
49
Advanced Java
160060107043
String s = request.getParameter("flag");
if (s.equals("verify")) {
try {
doVerify(request, response);
} catch (ClassNotFoundException | SQLException e) {
}
}
if (s.equals("search")) {
try {
doSearch(request, response);
} catch (ClassNotFoundException ex) {
RegDAO.java
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class RegDAO {
50
Advanced Java
160060107043
public List verify(RegVO r) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
RegVO rv = new RegVO();
List ls = new ArrayList();
Connection cn = DriverManager.getConnection("jdbc:mysql://localhost/students", "root",
"1234");
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery("select * from student where roll = "+r.getRoll());
while (rs.next()) {
rv.setRoll(rs.getInt("roll"));
rv.setName(rs.getString("name"));
rv.setEmail(rs.getString("email"));
ls.add(rv);
}
return ls;
}
}
RegVO.java
Search.jsp
51
Advanced Java
160060107043
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="RegController" method="post">
<input type="hidden" name="flag" value="search">
Enroll no: <input type="text" name="roll">
<br>
<input type="submit" value="search">
</body>
</html>
Welcome.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<c:forEach items="${sessionScope.lsearch}" var="i">
${i.roll} ${i.name} ${i.email}<br>
</c:forEach>
</body>
</html>
Output:
52
Advanced Java
160060107043
53
Advanced Java
160060107043
PRACTICAL – 16
Hibernate Advantages:
Hibernate takes care of mapping Java classes to database tables using XML files and
without writing any line of code.
Provides simple APIs for storing and retrieving Java objects directly to and from the
database.
If there is change in Database or in any table then the only need to change XML file
properties.
Abstract away the unfamiliar SQL types and provide us to work around familiar Java
Objects.
Hibernate does not require an application server to operate.
Manipulates Complex associations of objects of your database.
Minimize database access with smart fetching strategies.
Provides Simple querying of data.
The Hibernate architecture is layered to keep you isolated from having to know the underlying
APIs. Hibernate makes use of the database and configuration data to provide persistence
services (and persistent objects) to the application.
54
Advanced Java
160060107043
A POJO (Plain Old Java Object) is a Java object that doesn't extend or implement some
specialized classes and interfaces respectively required by the EJB framework. All normal Java
objects are POJO.
public Employee() {}
public Employee(String fname, String lname, int salary) {
this.firstName = fname;
this.lastName = lname;
this.salary = salary;
}
public intgetId() {
return id;
}
public void setId( int id ) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
55
Advanced Java
160060107043
public void setFirstName( Stringfirst_name ) {
this.firstName = first_name;
}
public String getLastName() {
return lastName;
}
public void setLastName( Stringlast_name ) {
this.lastName = last_name;
}
public intgetSalary() {
return salary;
}
public void setSalary( int salary ) {
this.salary = salary;
}
}
This step is to create a mapping file that instructs Hibernate how to map the defined class or
classes to the database tables.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<classname="Employee"table="EMPLOYEE">
<metaattribute="class-description">
This class contains the employee detail.
</meta>
<idname="id"type="int"column="id">
<generatorclass="native"/>
</id>
<propertyname="firstName"column="first_name"type="string"/>
<propertyname="lastName"column="last_name"type="string"/>
<propertyname="salary"column="salary"type="int"/>
</class>
</hibernate-mapping>
56
Advanced Java
160060107043
Finally, we will create our application class with the main() method to run the application. We
will use this application to save few Employee's records and then we will apply CRUD
operations on those records.
importjava.util.List;
importjava.util.Date;
importjava.util.Iterator;
importorg.hibernate.HibernateException;
importorg.hibernate.Session;
importorg.hibernate.Transaction;
importorg.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
publicclassManageEmployee{
privatestaticSessionFactory factory;
publicstaticvoid main(String[]args){
try{
factory =newConfiguration().configure().buildSessionFactory();
}catch(Throwable ex){
System.err.println("Failed to create sessionFactory object."+ ex);
thrownewExceptionInInitializerError(ex);
}
ManageEmployee ME =newManageEmployee();
Here are the steps to compile and run the above mentioned application. Make sure you have set
PATH and CLASSPATH appropriately before proceeding for the compilation and execution.
Create hibernate.cfg.xml configuration file as explained in configuration chapter.
Create Employee.hbm.xml mapping file as shown above.
Create Employee.java source file as shown above and compile it.
Create ManageEmployee.java source file as shown above and compile it.
Execute ManageEmployee binary to run the program.
You would get following result, and records would be created in EMPLOYEE table.
$java ManageEmployee
.......VARIOUS LOG MESSAGES WILL DISPLAY HERE........
FirstName:mitLastName:patelSalary:50000
FirstName:mrugeshLastName:patelSalary:50000
FirstName:pranavLastName:rangwalaSalary:50000
FirstName:meghaLastName:jogiyaSalary:50000
59
Advanced Java
160060107043
PRACTICAL – 17
Beans.xml
HelloWorld.java
package springexample;
public class HelloWorld {
public String message;
public String msg;
SpringExample.java
package springexample;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringExample {
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("Beans.xml");
HelloWorld obj=(HelloWorld) context.getBean("helloWorld");
60
Advanced Java
160060107043
obj.getMessage();
obj.getMsg();
}
}
Output:
61
Advanced Java