Adv-Java_Lab-Manual
Adv-Java_Lab-Manual
Practical-1
communication TCP:-
-Server-
import java.io.*;
import java.net.*;
class Server1
{
public static void main(String ar[])throws Exception
{
ServerSocket ss=new ServerSocket(777);
Socket s=ss.accept();
System.out.println("Connection Established");
OutputStream obj=s.getOutputStream();
PrintStream ps=new PrintStream(obj);
ps.close();
ss.close();
s.close();
}
}
-Client-
import java.io.*;
import java.net.*;
class Client1
{
public static void main(String ar[])throws Exception
{
Socket s=new Socket("localhost",777);
InputStream obj=s.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(obj));
String str;
while((str=br.readLine())!=null)
{
System.out.println("From Server: "+str);
}
br.close();
s.close();
}
}
UDP :-
-Server-
import java.io.*;
import java.net.*;
1
Computer Engineering
Lab Solution - Advanced Java Programming
class UDPServer
{
public static void main(String args[]) throws Exception
{
DatagramSocket serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
while(true)
{
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String( receivePacket.getData());
System.out.println("RECEIVED: " + sentence);
-Client-
import java.io.*;
import java.net.*;
class UDPClient
{
public static void main(String args[]) throws Exception
{
BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
DatagramSocket clientSocket = new DatagramSocket();
sendData = sentence.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, IPAddress, 9876);
clientSocket.send(sendPacket);
TCP:-
-Server-
import java.io.*;
import java.net.*;
public class s1
{
public static void main(String[] args) throws Exception
{
ServerSocket sersock = new ServerSocket(3100);
System.out.println("Server ready for chatting");
Socket sock = sersock.accept( );
3
Computer Engineering
Lab Solution - Advanced Java Programming
UDP :-
-Server-
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws Exception
{
DatagramSocket socket=new DatagramSocket(9861);
byte receiveByte[]=new byte[1024];
byte sendByte[]=new byte[1024];
while(true)
{
DatagramPacket receivePacket=new
DatagramPacket(receiveByte,receiveByte.length);
socket.receive(receivePacket);
String receiveStr=new String(receivePacket.getData());
receiveStr=receiveStr.trim();
System.out.println("Client:"+receiveStr);
DataInputStream din=new DataInputStream(System.in);
System.out.print("Server:");
String sendStr=din.readLine();
sendByte=sendStr.getBytes();
InetAddress ip=receivePacket.getAddress();
int port=receivePacket.getPort();
DatagramPacket sendPacket=new
DatagramPacket(sendByte,sendByte.length,ip,port);
ssocket.send(sendPacket);
}
}
-Client-
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws Exception
{
DatagramSocket socket=new DatagramSocket(9861);
byte receiveByte[]=new byte[1024];
4
Computer Engineering
Lab Solution - Advanced Java Programming
5
Computer Engineering
Lab Solution - Advanced Java Programming
while(true)
{
DatagramPacket receivePacket=new
DatagramPacket(receiveByte,receiveByte.length);
socket.receive(receivePacket);
String receiveStr=new String(receivePacket.getData());
receiveStr=receiveStr.trim();
System.out.println("Client:"+receiveStr);
DataInputStream din=new DataInputStream(System.in);
System.out.print("Server:");
String sendStr=din.readLine();
sendByte=sendStr.getBytes();
InetAddress ip=receivePacket.getAddress();
int port=receivePacket.getPort();
DatagramPacket sendPacket=new
DatagramPacket(sendByte,sendByte.length,ip,port);
socket.send(sendPacket);
}
}
6
Computer Engineering
Lab Solution - Advanced Java Programming
Practical-2
1) Write a TCP client and server program to do the following: client> java client
localhost/IP Port <enter>Enter text: Welcome to Gujarat Technological
UNIVERSITY
<enter> Response from server: ytisrevinu LACIGOLONHCEt TARAJUg TO
EMOCLEw client>
-Server-
import java.net.*;
import java.io.*;
}
}
ps.println(newstr);
ps.close();
ss.close();
s.close();
-Client-
import java.net.*;
import java.io.*;
public class client {
{
Socket s=new Socket("localhost",777);
BufferedReader kbr=new BufferedReader(new
InputStreamReader(System.in));
InputStream obj=s.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(obj));
OutputStream os = s.getOutputStream();
PrintStream ps = new PrintStream(os);
System.out.println("Enter text");
String str = kbr.readLine();
ps.println(str);
String newStr = br.readLine();
System.out.println("Response from server=" + newStr);
br.close();
s.close();
}
}
2) Write a TCP Client-Server program to get the Date & Time details from
Server on the Client request.
-Server-
import java.net.*;
import java.io.*;
import java.util.Date;
public class Server {
-Client-
import java.net.*;
import java.io.*;
public class Client {
public static void main(String args[]) throws Exception
{
Socket s=new Socket("localhost",777);
BufferedReader in=new BufferedReader(
new InputStreamReader(
s.getInputStream()
)
8
Computer Engineering
Lab Solution - Advanced Java Programming
);
System.out.println(in.readLine());
}
}
3) Write a client-server program using TCP or UDP where the client sends 10
numbers and server responds with the numbers in sorted order.
-Server-
import java.net.*;
import java.io.*;
import java.util.*;
public class Server {
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........");
for(i=0;i<n;i++)
{
dout.writeInt(a[i]);
}
System.out.println("\nData Sent Successfully");
s.close();
ss.close();
}
}
-Client-
import java.net.*;
import java.io.*;
import java.util.*;
public class Client {
public static void main(String[] args) throws Exception
{
Socket s=new Socket("127.0.0.1",7777);
if(s.isConnected())
{
9
Computer Engineering
Lab Solution - Advanced Java Programming
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;
System.out.println("Receiving Sorted Data....");
for(int i=0;i<n;i++)
{
r=din.readInt();
System.out.print(r+" ");
}
s.close();
}
}
10
Computer Engineering
Lab Solution - Advanced Java Programming
Practical-3
1) Create JDBC program which contains following functions:
1. Connect 2. Create Table 3. Insert Records into respective table 4. Update
records of particular table of database 5. Display records 6.Delete Records
from table.
1. Connect
String dbURL = "jdbc:mysql://localhost:3306/Studentinfo ";
String username = "root";
String password = "";
try {
Connection conn = DriverManager.getConnection(dbURL, username, password);
if (conn != null) {
System.out.println("Connected");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
2. Create Table
String dbURL = "jdbc:mysql://localhost:3306/Studentinfo ";
String username = "root";
String password = "";
}
} catch (SQLException ex) {
ex.printStackTrace();
}
11
Computer Engineering
Lab Solution - Advanced Java Programming
5. Display records
String sql = "SELECT * FROM student";
int count = 0;
while (result.next()){
try{
Class.forName("com.mysql.jdbc.Driver");
12
Computer Engineering
Lab Solution - Advanced Java Programming
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/studentinfo","root",
"");
PreparedStatement stmt=con.prepareStatement("insert into
student(rollno,Name) values(?,?)");
stmt.setInt(1,101);//1 specifies the first parameter in the query
stmt.setString(2,"abc");
int i=stmt.executeUpdate();
System.out.println(i+" records inserted");
con.close();
}catch(Exception e)
{
System.out.println(e);
}
13
Computer Engineering
Lab Solution - Advanced Java Programming
Practical-4
1) Write a JDBC program for Callable Statement to retrieve percentage of
student from procedure {get percentage} based on student enrollment
number.Also create a procedure
{ get percentage } which will calculate students percentage from table Result
(Enro_no, Name, Subjec1, Subject2, Subject3) where Enr_no : IN Parameter and
Percentage : OUT Parameter).
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.*;
import javax.swing.*;
import java.util.Scanner;
try {
System.out.println("Connecting to database...");
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3307/StudentDB", "root", "");
System.out.println("enter enroll number");
int enroll = sc.nextInt();
}
}
}
/**
* @author ADMIN
*/
public class practical4 extends HttpServlet {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
hitCount++;
out.println("</html>");
}
}
}
-Web.xml-
<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>practical4</servlet-name>
<servlet-class>practical4</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>practical4</servlet-name>
<url-pattern>/practical4</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
15
Computer Engineering
Lab Solution - Advanced Java Programming
Practical-5
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 doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
{ response.setContentType("text/html;charset=UTF-
8"); try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet practical5i</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>UserName =" + request.getParameter("name") +
"</h1>");
out.println("<h1>Password =" + request.getParameter("pwd") +
"</h1>");
out.println("</body>");
out.println("</html>");
}
}
}
-HTML-
<html>
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="practical5i" method="POST">
<p>Name:<input type="text" name="name"></p>
<p>Password:<input type="password" name="pwd"></p>
16
Computer Engineering
Lab Solution - Advanced Java Programming
</body>
</html>
-Web.xml-
<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>practical5i</servlet-name>
<servlet-class>practical5i</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>practical5i</servlet-name>
<url-pattern>/practical5i</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
II)
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;
public class practical5ii extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
{ response.setContentType("text/html;charset=UTF-
8"); try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
String username = request.getParameter("name");
String password = request.getParameter("pwd");
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet practical5ii</title>");
out.println("</head>");
out.println("<body>");
if(username.equals("abc") && password.equals("abc") )
{
out.println("<h1>login successfully </h1>");
}
else
{
out.println("<h1>Wrong username or password </h1>");
}
out.println("</body>");
17
Computer Engineering
Lab Solution - Advanced Java Programming
out.println("</html>");
}
}
}
-HTML-
<html>
<head>
<title> </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="practical5ii" method="POST">
<p>Name:<input type="text" name="name"></p>
<p>Password:<input type="password" name="pwd"></p>
-Web.xml-
<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>practical5ii</servlet-name>
<servlet-class>practical5ii</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>practical5ii</servlet-name>
<url-pattern>/practical5ii</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
18
Computer Engineering
Lab Solution - Advanced Java Programming
import javax.servlet.http.HttpServletResponse;
/**
*
* @author ADMIN
*/
public class practical6 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
{ response.setContentType("text/html;charset=UTF-
8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet practical6</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Browser =" +request.getHeader("User-Agent") +
"</h1>");
out.println("<h1>Client IP =" +request.getRemoteAddr() + "</h1>");
out.println("<h1>Client Port =" +request.getRemotePort()+ "</h1>");
out.println("<h1>Server IP =" +request.getLocalAddr() + "</h1>");
out.println("<h1>Server Port =" +request.getServerPort() + "</h1>");
out.println("<h1>Method =" +request.getMethod() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
}
-Web.xml-
<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>practical6</servlet-name>
<servlet-class>practical6</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>practical56</servlet-name>
<url-pattern>/practical56</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
19
Computer Engineering
Lab Solution - Advanced Java Programming
Practical-6
1) Design a form to input details of an employee and submit the data to a
servlet. Write code for servlet that will save the entered details as a new
record in database table Employee with fields (EmpId, EName, Email,
Age).
-Register-
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
resp.setContentType("text/html");
PrintWriter pw = resp.getWriter();
try
{
String name = req.getParameter("name");
String email = req.getParameter("email");
String age = req.getParameter("age");
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/studentDB","root","");
PreparedStatement ps=con.prepareStatement("insert into
employee(name,email,age) values(?,?,?)");
ps.setString(1,name);
ps.setString(2,email);
ps.setString(3,age);
int i=ps.executeUpdate();
if(i>0)
pw.print("You are successfully registered...");
}
catch(Exception e)
{
pw.print(e);
}
}
}
-HTML –
<html>
<body>
<form action="Employee" method="get">
Employee Name:<input type="text" name="name"/><br/><br/>
Employee Email:<input type="text" name="email"/><br/><br/>
Employee Age:<input type="text" name="age"/><br/><br/>
<br/><br/>
<input type="submit" value="register"/>
</form>
20
Computer Engineering
Lab Solution - Advanced Java Programming
</body>
</html>
-Web.xml -
<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>Employee</servlet-name>
<servlet-class>Employee</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Employee</servlet-name>
<url-pattern>/Employee</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
-Cookies-
-FirstServlet-
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
Cookie ck=new Cookie("uname",n);//creating cookie object
response.addCookie(ck);//adding cookie in the response
//creating submit button
out.print("<form action='servlet2'>");
out.print("<input type='submit' value='go'>");
out.print("</form>");
out.close();
}catch(Exception e){System.out.println(e);}
}
}
-SecondServlet-
import java.io.*;
21
Computer Engineering
Lab Solution - Advanced Java Programming
import javax.servlet.*;
import javax.servlet.http.*;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie ck[]=request.getCookies();
out.print("Hello "+ck[0].getValue());
out.close();
}catch(Exception e){System.out.println(e);}
}
}
-HTML –
<form action="servlet1" method="post">
Name:<input type="text" name="userName"/><br/>
<input type="submit" value="go"/>
</form>
-Web.xml -
<web-app>
<servlet>
<servlet-name>s1</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>s2</servlet-name>
<servlet-class>SecondServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s2</servlet-name>
<url-pattern>/servlet2</url-pattern>
</servlet-mapping>
</web-app>
-HttpSession -
-FirstServlet-
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
22
Computer Engineering
Lab Solution - Advanced Java Programming
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
HttpSession session=request.getSession();
session.setAttribute("uname",n);
out.print("<a href='servlet2'>visit</a>");
out.close();
}catch(Exception e){System.out.println(e);}
}
}
-SecondServlet-
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession(false);
String n=(String)session.getAttribute("uname");
out.print("Hello "+n);
out.close();
}catch(Exception e){System.out.println(e);}
}
}
-HTML –
<form action="servlet1">
Name:<input type="text" name="userName"/><br/>
<input type="submit" value="go"/>
</form>
-Web.xml -
<web-app>
<servlet>
<servlet-name>s1</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<servlet>
23
Computer Engineering
Lab Solution - Advanced Java Programming
<servlet-name>s2</servlet-name>
24
Computer Engineering
Lab Solution - Advanced Java Programming
<servlet-class>SecondServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s2</servlet-name>
<url-pattern>/servlet2</url-pattern>
</servlet-mapping>
</web-app>
- URL Rewriting -
-FirstServlet-
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
out.close();
}catch(Exception e){System.out.println(e);}
}
}
-SecondServlet-
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.close();
}catch(Exception e){System.out.println(e);}
}
25
Computer Engineering
Lab Solution - Advanced Java Programming
}
-HTML –
<form action="servlet1">
Name:<input type="text" name="userName"/><br/>
<input type="submit" value="go"/>
</form>
-Web.xml -
<web-app>
<servlet>
<servlet-name>s1</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>s2</servlet-name>
<servlet-class>SecondServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s2</servlet-name>
<url-pattern>/servlet2</url-pattern>
</servlet-mapping>
</web-app>
26
Computer Engineering
Lab Solution - Advanced Java Programming
Practical-7
1) Write a Java Servlet to print BE Semester Mark sheet of entered enrolment
number and semester no. by student using JDBC.
-Servlet -
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
resp.setContentType("text/html");
PrintWriter pw = resp.getWriter();
try
{
String sem = req.getParameter("sem");
String enroll = req.getParameter("enroll");
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/studentDB","root","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM student, result
WHERE student.Id = result.studentID AND student.enroll ="+enroll+" AND result.sem
="+sem);
pw.print("<table width=50% border=1>");
pw.print("<caption>Result:</caption>");
pw.print("<tr><td>Subject Name</td><td>Grade</td></tr>");
while(rs.next())
{
pw.print("<tr><td>"+rs.getString("SubjectName")+"</td><td>"+rs.getString("Grade")
+" </td></tr>");
}
pw.print("</table>");
}
catch(Exception e)
{
pw.print(e);
}
}
}
-HTML –
<html>
<body>
<form action="StudentResult">
Enter Enroll no:<input type="text" name="enroll"/><br/>
Enter Sem :<input type="text" name="sem"/><br/>
<input type="submit" value="search"/>
</form>
</body>
</html>
27
Computer Engineering
Lab Solution - Advanced Java Programming
-Web.xml -
<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>StudentResult</servlet-name>
<servlet-class>StudentResult</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>StudentResult</servlet-name>
<url-pattern>/StudentResult</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
-MyFilter-
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
PrintWriter out=resp.getWriter();
String password=req.getParameter("password");
if(password.equals("admin"))
{ chain.doFilter(req, resp);//
}
else{
out.print("username or password error!");
RequestDispatcher rd=req.getRequestDispatcher("index.html");
rd.include(req, resp);
}
}
}
-AdminServlet-
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.*;
28
Computer Engineering
Lab Solution - Advanced Java Programming
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("welcome ADMIN");
out.close();
}
}
-HTML –
<form action="servlet1">
Name:<input type="text" name="name"/><br/>
Password:<input type="password" name="password"/><br/>
<input type="submit" value="login">
</form>
-Web.xml -
<web-app>
<servlet>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<filter>
<filter-name>f1</filter-name>
<filter-class>MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>f1</filter-name>
<url-pattern>/servlet1</url-pattern>
</filter-mapping>
</web-app>
29
Computer Engineering
Lab Solution
Practical-8
1) Write line(s) of code in JSP for following.
I. Session read and write
II. URL rewriting sending and retrieving parameter(s)
III. URL redirection
IV. Print “hello world” as output
V. Include the other JSP file statically
VI. Expression to display date as output
VII. Method of setting the JSP parameters to use in JSTL
is rewritten as
<a href="store/catalog;$jsessionid$DA32242SSGE2">
<%
response.encodeURL ("/store/catalog");
%>
out.println("<a href="/store/catalog">catalog</a>")"
replace it with
out.println("<a href="");
out.println(response.encodeURL ("/store/catalog"));
out.println("">catalog</a>");
Writing forms:-
To write forms for submission, call the response.encodeURL("Logon"); on the
ACTION tag of the form page. For example:
%> >
... </FORM>
<body>
29
Computer Engineering
Lab Solution
2) Write a login.jsp page to get the login information from user and
authenticate user with the database with JSTL SQL tags.
-login.jsp –
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login to our app</title>
</head>
<body>
<h1>Please login</h1>
-loginAuthenticate.jsp –
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="s" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Authentication page</title>
</head>
<body>
30
<c:if test="${ empty param.username or empty param.password}">
<c:redirect url="login.jsp" >
<c:param name="errMsg" value="Please Enter UserName and Password"
/>
</c:redirect>
</c:if>
</c:forEach>
</c:if>
</body>
</html>
-index.jsp –
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!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>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<%@include file="header.jsp" %>
</body>
</html>
-header.jsp –
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<a href="logout.jsp">Logout
<c:out value="${sessionScope['loginUser']}" />
</a>
-logout.jsp –
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!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>Logged out</title>
</head>
<body>
<%
session.removeAttribute("loginUser");
%>
<a href="index.jsp">index.jsp</a>
</body>
</html>
Practical-9
1) Write a servlet that redirect requests alternatively to JSP Pages named Odd
and Even.
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;
if(hitCount%2 == 0)
{
RequestDispatcher rd=request.getRequestDispatcher("/even.html");
rd.forward(request, response);
}
els
e
{ RequestDispatcher rd=request.getRequestDispatcher("/odd.html");
rd.forward(request, response);
}
}
}
}
-Even-
<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>
<div>EVEN Page</div>
</body>
</html>
-Odd -
<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>
<div>ODD Page</div>
</body>
</html>
-Web.xml-
<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>practical13</servlet-name>
<servlet-class>practical13</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>practical13</servlet-name>
<url-pattern>/practical13</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
%>
</
table>
<%
}
catch(Exception e)
{
out.print(e);
}
%>
</body>
</html>
-HTML –
<html>
<body>
<form action="Studentinfo.jsp">
Enter Semester<input type="text" name="sem"/><br/>
<input type="submit" value="search"/>
</form>
</body>
</html>
Practical-10
1) Develop program to get all students data from database using hibernate.
Write necessary xml files.
import org.hibernate.Session;
import org.hibernate.SessionFactory;
public class HibSelect {
public static void main(String[] args)
{
Session session = null;
try
{
SessionFactory sessionFactory = new
org.hibernate.cfg.Configuration().configure().buildSessionFactory();
session =sessionFactory.openSession(); session.beginTransaction();
System.out.println("Populating the database !");
session.save(customer);
session.getTransaction().commit(); System.out.println("Done!");
session.flush();
session.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
- hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver </property>
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/retailer</property>
<property name="hibernate.connection.username">
root</property>
<property name="hibernate.connection.password">
root</property>
<property name="hibernate.connection.pool_size">
10</property>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect</property>
<property name="current_session_context_class">
thread</property>
<property name="cache.provider_class">
org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">
update</property>
<mapping resource="hibernate.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
- hibernate.hbm.xml
<hibernate-mapping>
<class name="hibernatetest.Customer" table="customers">
<id column="C_ID" name="customerID" type="int">
<generator class="native"> </generator></id>
<property name="customerName">
<column name="name"> </column>
</property>
<property name="customerAddress">
<column name="address"> </column>
</property>
<property name="customerEmail">
<column name="email"> </column>
</property>
</class>
</hibernate-mapping>