48
Department of MCA/Sir MVIT/Bangalore 1 J2EE LABORATORY [10MCA46] J2EE Laboratory Subject Code: 10MCA46 I.A Marks: 50 Hours/Week: 3 Exam Hours: 03 Total Hours: 42 Exam Marks: 50 1. Write a JAVA Program to insert data into Student DATA BASE and retrieve info based on particular queries (queries can be given which covers all the topics of 2 nd UNIT). 2. Write a JAVA Servlet Program to implement a dynamic HTML using Servlet (user name and password should be accepted using HTML and displayed using a Servlet). 3. Write a JAVA Servlet Program to Download a file and display it on the screen (A link has to be provided in HTML, when the link is clicked corresponding file has to be displayed on Screen) 4. Write a JAVA Servlet Program to implement RequestDispatcher object (use include() and forward() methods). 5. Write a JAVA Servlet Program to implement and demonstrate get() and Post methods(Using HTTP Servlet Class). 6. Write a JAVA Servlet Program to implement sendRedirect() method(using HTTP Servlet Class). 7. Write a JAVA Servlet Program to implement sessions (Using HTTP Session Interface). 8. a. Write a JAVA JSP Program to print 10 even and 10 odd number. b. Write a JAVA JSP Program to implement verification of a particular user login and display a welcome page. 9. Write a JAVA JSP Program to get student information through a HTML and create a JAVA Bean Class, populate Bean and display the same information through another JSP. 10. Write a JAVA JSP Program which uses <jsp:plugin> tag to run a applet. 11. Write a JAVA JSP Program whch implements nested tags and also uses TagSupport Class. 12. An EJB application that demonstrates Session Bean. 13. An EJB application that demonstrates Entity Bean. 14. An EJB application that demonstrates MDB.

J2EE Lab Manual [10mca46]

Embed Size (px)

DESCRIPTION

J2EE Lab Manual for MCA

Citation preview

Page 1: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 1

J2EE LABORATORY [10MCA46]

J2EE Laboratory

Subject Code: 10MCA46 I.A Marks: 50

Hours/Week: 3 Exam Hours: 03

Total Hours: 42 Exam Marks: 50

1. Write a JAVA Program to insert data into Student DATA BASE and retrieve

info based on particular queries (queries can be given which covers all the

topics of 2nd UNIT).

2. Write a JAVA Servlet Program to implement a dynamic HTML using Servlet

(user name and password should be accepted using HTML and displayed using

a Servlet).

3. Write a JAVA Servlet Program to Download a file and display it on the screen

(A link has to be provided in HTML, when the link is clicked corresponding file

has to be displayed on Screen)

4. Write a JAVA Servlet Program to implement RequestDispatcher object (use

include() and forward() methods).

5. Write a JAVA Servlet Program to implement and demonstrate get() and Post

methods(Using HTTP Servlet Class).

6. Write a JAVA Servlet Program to implement sendRedirect() method(using

HTTP Servlet Class).

7. Write a JAVA Servlet Program to implement sessions (Using HTTP Session

Interface).

8. a. Write a JAVA JSP Program to print 10 even and 10 odd number.

b. Write a JAVA JSP Program to implement verification of a particular user

login and display a welcome page.

9. Write a JAVA JSP Program to get student information through a HTML and

create a JAVA Bean Class, populate Bean and display the same information

through another JSP.

10. Write a JAVA JSP Program which uses <jsp:plugin> tag to run a applet.

11. Write a JAVA JSP Program whch implements nested tags and also uses

TagSupport Class.

12. An EJB application that demonstrates Session Bean.

13. An EJB application that demonstrates Entity Bean.

14. An EJB application that demonstrates MDB.

Page 2: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 2

J2EE LABORATORY [10MCA46]

1. Write a JAVA Program to insert data into Student DATA BASE and

retrieve info based on particular queries (queries can be given which

covers all the topics of 2nd UNIT).

SOURCE CODE:

JDBCDemo.java

import java.sql.*;

import java.io.*;

class JDBCDemo

{

public static void main(String args[])

{

Connection con=null;

Statement st=null;

PreparedStatement pst=null;

ResultSet rs=null;

String str=null;

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:odbc:vas","","");

}

catch(ClassNotFoundException e)

{

System.out.println("\nUnable to load JDBC/ODBC Bridge Driver"+e);

System.exit(1);

}

catch(SQLException e)

{

System.out.println("Cannot able to connect with database"+e);

}

try

{

BufferedReader bufRead = new BufferedReader(new InputStreamReader(System.in))

;

while(true)

{

try{

System.out.println("\nSTUDENT INFORMATION MANAGEMENT SYSTEM");

System.out.println("\n1.Insert Info \n2.Query \n3.Updation \n4.Exit");

System.out.print("\nEnter your choice : ");

int ch=Integer.parseInt(bufRead.readLine());

switch(ch)

{

case 1: System.out.println("\nEnter the student usn, name, branch,age and

percentage\n");

String usn=bufRead.readLine();

String name=bufRead.readLine();

String branch=bufRead.readLine();

int age=Integer.parseInt(bufRead.readLine());

Page 3: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 3

J2EE LABORATORY [10MCA46]

float per=Float.parseFloat(bufRead.readLine());

pst=con.prepareStatement("insert into student values(?,?,?,?,?)");

pst.setString(1,usn);

pst.setString(2,name);

pst.setString(3,branch);

pst.setInt(4,age);

pst.setFloat(5,per);

pst.execute();

break;

case 2: System.out.println("\nEnter the query to be executed\n");

str=bufRead.readLine();

st=con.createStatement();

rs=st.executeQuery(str);

ResultSetMetaData rmd=rs.getMetaData();

int col=rmd.getColumnCount();

int count=1;

boolean b=rs.next();

if(!b)

{

System.out.println("No Data Found");

}

else

{

do

{

System.out.print("RECORD " +(count++)+" => ");

for(int i=0;i<col;i++)

System.out.print(rs.getString(i+1)+"\t");

System.out.println();

}while(rs.next());

}

break;

case 3: System.out.println("\nEnter the query for updation");

str=bufRead.readLine();

st=con.createStatement();

int r=st.executeUpdate(str);

if(r==0)

System.out.println("\nNo rows Updated");

else

System.out.println("\nYour upddation has been done successfully");

break;

case 4: con.close();

System.exit(0);

break;

}

}

catch(SQLException e)

{

System.out.println(e);

}

catch(Exception e)

{

Page 4: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 4

J2EE LABORATORY [10MCA46]

System.out.println(e);

}

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

OUTPUT

Page 5: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 5

J2EE LABORATORY [10MCA46]

Page 6: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 6

J2EE LABORATORY [10MCA46]

2. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT A DYNAMIC

HTML USING SERVLET (USER NAME AND PASSWORD SHOULD BE ACCEPTED USING HTML AND DISPLAYED USING A SERVLET).

SOURCE CODE:

Login.html

<html>

<head>

<title>Login Page</title>

</head>

<body>

<center><h1>Login Page</h1></center>

<b>Please enter your username and password

<form action="Login" method="POST">

<p><b>Username :<input type="text" name="username" length=40>

<p><b>Password :<input type="password" name="pass" length=40>

<p> <input type="submit" value="Submit">

</form>

</body>

</html>

Login.java

import javax.servlet.http.*;

import java.io.*;

public class Login extends HttpServlet

{

public void doPost(HttpServletRequest request,HttpServletResponse response)

{

String username=request.getParameter("username");

String pass=request.getParameter("pass");

try

{

response.setContentType("text/html");

PrintWriter writer=response.getWriter();

writer.println("<html><body>");

writer.println("<h4>Thank you, "+username+".You are now logged into the

system.</h4>");

writer.println("<br><B>User Information");

writer.println("<br><br><B>UserName: "+username);

writer.println("<br><B>Password: "+pass);

writer.println("</body></html>");

writer.close();

}catch(Exception e){

e.printStackTrace();

}

}

}

Page 7: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 7

J2EE LABORATORY [10MCA46]

OUTPUT

Page 8: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 8

J2EE LABORATORY [10MCA46]

3. WRITE A JAVA SERVLET PROGRAM TO DOWNLOAD A FILE AND

DISPLAY IT ON THE SCREEN (A LINK HAS TO BE PROVIDED IN HTML, WHEN THE LINK IS CLICKED CORRESPONDING FILE HAS

TO BE DISPLAYED ON SCREEN)

SOURCE CODE:

Download.html

<html>

<body>

<h1>The SQL Tutorial</h1>

<h3>

<a href="http://localhost:8080/PROG3/DownloadServlet">Click here

to Learn SQL</a>

</h3>

</body>

</html>

DownloadServlet.java

import javax.servlet.http.*;

import javax.servlet.*;

import java.io.*;

public class DownloadServlet extends HttpServlet

{

public void doGet(HttpServletRequest request,HttpServletResponse

response)throws IOException,ServletException

{

response.setContentType("application/msword");

response.setHeader("Content-

Disposition","attachment;filename=SQL.doc");

ServletOutputStream output=response.getOutputStream();

FileInputStream file=new FileInputStream("F:\\SQL.doc");

int c=0;

while((c=file.read())!=-1)

{

output.write(c);

}

output.flush(); output.close(); file.close();

}

}

Page 9: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 9

J2EE LABORATORY [10MCA46]

OUTPUT

Page 10: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 10

J2EE LABORATORY [10MCA46]

4. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT

REQUESTDISPATCHER OBJECT (USE include() AND forward() METHODS).

SOURCE CODE:

IFDemo.html

<html>

<head>

<title>include and forward Demo</title>

</head>

<body>

<center><h1>include forward Demo</h1></center>

<b>Please enter mode of operation

<form action="/PROG4/IFDemo">

<p><input type="text" name="mode" length=40>

<p> <input type="submit" value="Submit">

<input type="reset" value="Clear">

</form>

</body>

</html>

IFDemo.java

import javax.servlet.http.*;

import javax.servlet.*;

import java.io.*;

public class IFDemo extends HttpServlet

{

public void doGet(HttpServletRequest request,HttpServletResponse response)

{

String mode=request.getParameter("mode");

try

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

RequestDispatcher rd=null;

if(mode.equals("forward"))

{

request.setAttribute("mode","Forward Response....");

rd=request.getRequestDispatcher("ForwardDemo");

rd.forward(request,response);

}

else if(mode.equals("include"))

{

request.setAttribute("mode","Include Response...");

out.println("<html>");

out.println("<head>");

out.println("<title>Includes Demo</title>");

out.println("</head>");

Page 11: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 11

J2EE LABORATORY [10MCA46]

out.println("<body>");

out.println("<h1>Hello from Level 1</h1>");

out.println("This text is displayed at Level 1.");

rd = request.getRequestDispatcher("IncludeDemo");

rd.include(request, response);

out.println("</body>");

out.println("</html>");

out.close();

}

else

{

out.println("<h3> Enter only include or forward</h3>");

out.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

}

ForwardDemo.java

import javax.servlet.http.*;

import java.io.*;

public class ForwardDemo extends HttpServlet

{

public void doGet(HttpServletRequest request,HttpServletResponse response)

{

try

{

response.setContentType("text/html");

PrintWriter writer=response.getWriter();

String mode=(String)request.getAttribute("mode");

writer.println("Another doGet ");

writer.println(mode);

writer.close();

}catch(Exception e){

e.printStackTrace();

}

}

}

IncludeDemo.java

import javax.servlet.http.*;

import java.io.*;

public class IncludeDemo extends HttpServlet

{

public void doGet(HttpServletRequest request,HttpServletResponse response)

{

try

{

Page 12: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 12

J2EE LABORATORY [10MCA46]

response.setContentType("text/html");

PrintWriter writer=response.getWriter();

String mode=(String)request.getAttribute("mode");

writer.println("<br><b>This is another text of "+mode);

writer.close();

}catch(Exception e){

e.printStackTrace(); }

}

}

OUTPUT

Page 13: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 13

J2EE LABORATORY [10MCA46]

Page 14: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 14

J2EE LABORATORY [10MCA46]

5. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT AND

DEMONSTRATE GET AND POST METHODS(USING HTTP SERVLET CLASS).

SOURCE CODE:

Get.html

<html><head><title>Demonstration of Get and Post Method</title><head>

<body bgcolor="pink">

<center>

<form action="http://localhost:8080/PROG5/getpost">

<p><b>Press submit button to call Get method</b></p><br>

<B>color:</B>

<select name="color"size="1">

<option value="red">red</option>

<option value="green">green</option>

<option value="blue">blue</option>

</select>

<br><br>

<input type=submit value="submit">

</form>

</body></html>

Post.html

<html><head><title>Demonstration of Get and Post Method</title><head>

<body bgcolor="pink">

<center>

<form action="http://localhost:8080/PROG5/getpost" method="post">

<p><b>Press submit button to call Post method</b></p><br>

<B>color:</B>

<select name="color"size="1">

<option value="red">red</option>

<option value="green">green</option>

<option value="blue">blue</option>

</select>

<br><br>

<input type=submit value="submit">

</form>

</body>

</html>

getpost.java

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class getpost extends HttpServlet

{

public void doPost(HttpServletRequest request, HttpServletResponse response)

Page 15: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 15

J2EE LABORATORY [10MCA46]

throws ServletException,IOException

{

String color=request.getParameter("color");

response.setContentType("text/html");

PrintWriter pw=response.getWriter();

pw.println("<b>Hello from Post method</b><br><br>");

pw.println("You have selected" + " " + color + " " + "color");

pw.close();

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException,IOException

{

String color=request.getParameter("color");

response.setContentType("text/html");

PrintWriter pw=response.getWriter();

pw.println("<b>Hello from Get method</b><br><br>");

pw.println("You have selected" + " " + color + " " + "color");

pw.close();

}

}

OUTPUT

Page 16: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 16

J2EE LABORATORY [10MCA46]

Page 17: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 17

J2EE LABORATORY [10MCA46]

6. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT sendRedirect()

METHOD(USING HTTP SERVLET CLASS).

SOURCE CODE

SendRedirect.html

<html>

<head>

<title>Redirecting the page</title>

</head>

<body>

<form action = "SendRedirect" method = "post">

<b>Enter your name -----:

<input type = "text" name = "username"><br>

<b>Enter your password :

<input type = "password" name = "password"><br>

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

<input type = "reset" value = "RESET">

</form>

</body>

</html>

SendRedirect.java

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

public class SendRedirect extends HttpServlet

{

public void doPost(HttpServletRequest request, HttpServletResponse

response) throws ServletException, IOException

{

response.setContentType("text/html");

PrintWriter pw = response.getWriter();

String name = request.getParameter("username");

String password = request.getParameter("password");

if(name.equals("vit") && password.equals("vit"))

{

response.sendRedirect("ValidUser");

}

else

{

pw.println("<h3>Invalid UserName or Password ....");

}

}

}

ValidUser.java

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

public class ValidUser extends HttpServlet

{

Page 18: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 18

J2EE LABORATORY [10MCA46]

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException

{

response.setContentType("text/html");

PrintWriter pw = response.getWriter();

pw.println("<center><h1>Welcome to Sir MVIT Home

Page</h1></center>");

pw.close();

}

}

OUTPUT

Page 19: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 19

J2EE LABORATORY [10MCA46]

7. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT SESSIONS

(USING HTTP SESSION INTERFACE).

SOURCE CODE

ShowSession.java

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class ShowSession extends HttpServlet

{

public void doGet(HttpServletRequest req,HttpServletResponse res)throws

ServletException,IOException

{

res.setContentType("text/html");

PrintWriter pw=res.getWriter();

String title="Session Tracking Example";

HttpSession session=req.getSession(true);

String heading;

Integer ac=(Integer)session.getAttribute("ac");

if(ac==null)

{

ac=new Integer(0);

heading ="welcome,Newcomer";

}

else

{

heading="Welcome back";

ac=new Integer(ac.intValue()+1);

}

session.setAttribute("ac",ac);

pw.println("<html><head><title>"+title+"</title></head>");

pw.println(heading+"<br>");

pw.println("sessionID = "+session.getId()+"<br>");

pw.println("ac = "+ac+"<br>");

pw.close();

}

}

Page 20: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 20

J2EE LABORATORY [10MCA46]

OUTPUT

Page 21: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 21

J2EE LABORATORY [10MCA46]

8. a. WRITE A JAVA JSP PROGRAM TO PRINT 10 EVEN AND 10 ODD

NUMBER.

SOURCE CODE

EvenOdd.jsp

<html>

<head>

<title>

JSP Program

</title>

</head>

<body>

<br>

<h1>Ten Odd Numbers</h1><br>

<%

for(int i=1;i<=20;i++)

if(i%2!=0)

{

%>

<b><font size="4"><%=i%></font></b>

&nbsp;&nbsp;&nbsp;&nbsp;

<%

}

%>

<br><br>

<h1>Ten Even Numbers</h1><br>

<%

for(int i=1;i<=20;i++)

if(i%2==0)

{

%>

<b><font size="4"><%=i%></font></b>

&nbsp;&nbsp;&nbsp;&nbsp;

<%

}

%>

</body>

</html>

Page 22: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 22

J2EE LABORATORY [10MCA46]

OUTPUT

Page 23: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 23

J2EE LABORATORY [10MCA46]

B. WRITE A JAVA JSP PROGRAM TO IMPLEMENT VERIFICATION OF

A PARTICULAR USER LOGIN AND DISPLAY A WELCOME PAGE.

SOURCE CODE

Login.jsp

<html>

<head>

<title>Login Page</title>

</head>

<body bgcolor="#fffff">

<form action="Validation.jsp">

<table border="0">

<tr>

<td>

User id :</td><td><input type="text" name="uname"/><br>

</td>

</tr>

<tr>

<td>

password :</td><td><input type="password" name="password"/><br>

</td>

</tr>

<tr>

<td align="center">

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

<input type="reset" value="reset">

</td>

</tr>

</table>

</form>

</body>

</html>

Validation.jsp

<html>

<body>

<%! String uid="vas";%>

<%! String pass="mvit";%>

<%! String id,password; %>

<% id=request.getParameter("uname"); %>

<% password=request.getParameter("password"); %>

<%

if(uid.equals(id) && pass.equals(password))

{

%>

<jsp:forward page="Welcome.jsp"/>

<% }

else {

%>

<jsp:forward page="Error.jsp"/>

Page 24: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 24

J2EE LABORATORY [10MCA46]

<% }

%>

</body>

</html>

Welcome.jsp

<body><center><h1> Welcome to Home Page</h1></center></body>

Error.jsp

<body> <h1>Invalid Entry ....</h1>

<a href="http://localhost:8080/PROG8B/">< BACK</a>

</body>

Page 25: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 25

J2EE LABORATORY [10MCA46]

OUTPUT

Page 26: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 26

J2EE LABORATORY [10MCA46]

9. WRITE A JAVA JSP PROGRAM TO GET STUDENT INFORMATION

THROUGH A HTML AND CREATE A JAVA BEAN CLASS, POPULATE BEAN AND DISPLAY THE SAME INFORMATION THROUGH

ANOTHER JSP.

SOURCE CODE

Registration.html

<html>

<head>

<title>Registration Page</title>

</head>

<body>

<h1>Registration Page</h1>

<form action="StuInfo.jsp" method="post">

<table>

<tr>

<td align="right">First name : </td>

<td align="left"><input type="text" name="firstName" length="30"

/></td>

</tr>

<tr>

<td align="right">Surname :</td>

<td align="left"><input type="text" name="surname" length="30"

/></td>

</tr>

<tr>

<td align="right">USN :</td>

<td align="left"><input type="text" name="usn" length="30"

/></td>

</tr>

<tr>

<td align="right">Course :</td>

<td align="left"><input type="text" name="course" length="30"

/></td>

</tr>

<tr>

<td align="right">Sem :</td>

<td align="left"><input type="text" name="sem" length="30"

/></td>

</tr>

<tr>

<td align="right">Age :</td>

<td align="left"><input type="text" name="age" length="30"

/></td>

</tr>

<tr>

<td align="right">Address :</td>

<td align="left"><input type="text" name="address" length="30"

/></td>

Page 27: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 27

J2EE LABORATORY [10MCA46]

</tr>

</table>

<p><input type="submit" value="Submit"/>

<input type="reset" value="Reset"/></p>

</form>

</body>

</html>

StuInfo.jsp

<html>

<head>

<title>Register User</title>

</head>

<body>

<jsp:useBean id="stud" scope="session" class="mvit.Student">

<jsp:setProperty name="stud" property="*"/>

</jsp:useBean>

<h3>These are the values you submitted </h3>

<p>Your first name is <%= stud.getFirstName() %>.</p>

<p>Your last name is

<jsp:getProperty name="stud" property="surname"/>.</p>

<p>Your user USN is

<jsp:getProperty name="stud" property="usn"/>.</p>

<p>Your Selected Course is

<jsp:getProperty name="stud" property="course"/>.</p>

<p>Your Sem is

<jsp:getProperty name="stud" property="sem"/>.</p>

<p>Your age is

<jsp:getProperty name="stud" property="age"/>.</p>

<p>Your Address is

<jsp:getProperty name="stud" property="address"/>.</p>

</body>

</html>

Student.java

package mvit;

public class Student

{

private String firstName;

private String surname;

private String usn;

private String course;

private int sem;

private int age;

private String address;

private long contact;

public String getFirstName()

{

Page 28: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 28

J2EE LABORATORY [10MCA46]

return firstName;

}

public void setFirstName(String newFirstName)

{ this.firstName=newFirstName;

}

public String getSurname()

{ return surname; }

public void setSurname(String newSurName)

{

this.surname=newSurName;

}

public String getUsn()

{

return usn;

}

public void setUsn(String newUsn)

{ this.usn=newUsn;

}

public String getCourse()

{

return course;

}

public void setCourse(String newCourse)

{ this.course=newCourse;

}

public int getAge()

{ return age; }

public void setAge(int newAge)

{

this.age=newAge;

}

public int getSem()

{ return sem; }

public void setSem(int newSem)

{

this.sem=newSem;

}

public String getAddress()

{

return address;

}

public void setAddress(String newAddress){ this.address=newAddress;

}}

Page 29: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 29

J2EE LABORATORY [10MCA46]

OUTPUT

Page 30: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 30

J2EE LABORATORY [10MCA46]

10. WRITE A JAVA JSP PROGRAM WHICH USES <JSP:PLUGIN> TAG TO

RUN A APPLET.

SOURCE CODE

AppJsp.jsp

<%@ page language="java" %>

<html>

<head>

<title>Welcome JSP-Applet Page</title>

</head>

<body>

<jsp:plugin type="applet" code="AppJspDemo.class" width="400" height="400">

<jsp:fallback>

<p>Unable to load applet</p>

</jsp:fallback>

</jsp:plugin>

</body>

</html>

AppJspDemo.java

import java.io.*;

import java.awt.*;

import java.util.*;

import java.applet.*;

import java.awt.event.*;

public class AppJspDemo extends Applet {

public void init() {

setBackground(Color.blue);

setForeground(Color.yellow);

}

public void paint(Graphics g){

g.drawString("Welcome JSP-Applet",100,100);

}

}

Page 31: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 31

J2EE LABORATORY [10MCA46]

OUTPUT

Page 32: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 32

J2EE LABORATORY [10MCA46]

11. WRITE A JAVA JSP PROGRAM WHCH IMPLEMENTS NESTED TAGS

AND ALSO USES TAGSUPPORT CLASS.

SOURCE CODE

Nested.jsp

<%@taglib uri="/WEB-INF/tlds/nested.tld" prefix="mine"%>

<mine:nest>

<mine:nest>

<mine:nest/>

</mine:nest>

</mine:nest>

Nested.tld

<taglib>

<tlib-version>1.0</tlib-version>

<jsp-version>1.2</jsp-version>

<short-name>mine</short-name>

<description>simple library.Author Rod Johnson</description>

<tag>

<name>nest</name>

<tag-class>com.NestedLevelTag</tag-class>

<body-content>JSP</body-content>

<description>

Hi

</description>

</tag>

</taglib>

NestedLevelTag.java

package com;

import java.io.IOException;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.tagext.Tag;

import javax.servlet.jsp.tagext.TagSupport;

public class NestedLevelTag extends TagSupport{

private int nestLevel=0;

public int doStartTag() throws JspException {

nestLevel=0;

Tag parent=getParent();

while(parent!=null)

{

parent=parent.getParent();

nestLevel++;

}

try{

pageContext.getOut().println("<br> Tag nested level: "+nestLevel);

Page 33: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 33

J2EE LABORATORY [10MCA46]

}

catch(IOException e)

{

throw new JspException("IOException -"+e.toString());

}

return EVAL_BODY_INCLUDE;

}

}

OUTPUT

Page 34: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 34

J2EE LABORATORY [10MCA46]

12. AN EJB APPLICATION THAT DEMONSTRATES SESSION BEAN.

SOURCE CODE:

CallServlet.html

<html>

<head>

<title>Login Page</title>

</head>

<body>

<h1>Arithmetic Operation</h1>

<form action="CallSession" method="POST">

<p><b>Enter value for A :<input type="text"

name="num1"/></b></p>

<p><b>Enter value for B :<input type="text"

name="num2"/></b></p>

<p><b><input type="submit" value="Perform Operation"></b></p>

</form>

</body>

</html>

CallSession.java

package com;

import java.io.IOException;

import java.io.PrintWriter;

import javax.ejb.EJB;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class CallSession extends HttpServlet {

@EJB

private SessionBeanDemoLocal sessionBeanDemo;

protected void processRequest(HttpServletRequest request, HttpServletResponse

response)

throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

int a,b;

a=Integer.parseInt(request.getParameter("num1"));

b= Integer.parseInt(request.getParameter("num2"));

try {

out.println("<html>");

out.println("<head>");

Page 35: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 35

J2EE LABORATORY [10MCA46]

out.println("<title>Arithmetic Operation</title>");

out.println("</head>");

out.println("<body>");

out.println("<h1>Arithmetic Operation</h1>");

out.println("<h2>A = "+a+" B= "+b+"</h2>");

out.println("<pre><h2>Addition(A+B) = " +

sessionBeanDemo.add(a,b) + "</h2>");

out.println("<h2>Subtraction(A-B) = " + sessionBeanDemo.sub(a, b) +

"</h2>");

out.println("<h2>Multiplication(A*B) = " + sessionBeanDemo.mul(a, b) +

"</h2>");

out.println("<h2>Division(A/B) = " + sessionBeanDemo.div(a, b) +

"</h2></pre>");

out.println("</body>");

out.println("</html>");

} finally {

out.close();

}

}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the

+ sign on the left to edit the code.">

/**

* Handles the HTTP

* <code>GET</code> method.

*

* @param request servlet request

* @param response servlet response

* @throws ServletException if a servlet-specific error occurs

* @throws IOException if an I/O error occurs

*/

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

/**

* Handles the HTTP

* <code>POST</code> method.

*

* @param request servlet request

* @param response servlet response

* @throws ServletException if a servlet-specific error occurs

* @throws IOException if an I/O error occurs

*/

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse

response)

throws ServletException, IOException {

processRequest(request, response);

}

Page 36: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 36

J2EE LABORATORY [10MCA46]

/**

* Returns a short description of the servlet.

*

* @return a String containing servlet description

*/

@Override

public String getServletInfo() {

return "Short description";

}// </editor-fold>

}

SessionBeanDemo.java

package com;

import javax.ejb.Stateless;

/**

*

* @author VASANTH

*/

@Stateless

public class SessionBeanDemo implements SessionBeanDemoLocal {

@Override

public int add(int a, int b) {

return a+b;

}

@Override

public int sub(int a, int b) {

return a-b;

}

@Override

public int mul(int a, int b) {

return a*b;

}

@Override

public int div(int a, int b) {

return a/b;

}

}

Page 37: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 37

J2EE LABORATORY [10MCA46]

SessionBeanDemoLocal.java

package com;

import javax.ejb.Local;

@Local

public interface SessionBeanDemoLocal {

int add(int a, int b);

int sub(int a, int b);

int mul(int a, int b);

int div(int a, int b);

}

Page 38: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 38

J2EE LABORATORY [10MCA46]

OUTPUT

Page 39: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 39

J2EE LABORATORY [10MCA46]

13. AN EJB APPLICATION THAT DEMONSTRATES ENTITY BEAN.

SOURCE CODE:

CallServlet.html

<html>

<head>

<title>Login Page</title>

</head>

<body>

<h1>ENTER STUDENT INFORMATION </h1>

<form action="CallEntity" method="POST">

<p><b>USN ---------- :<input type="text" name="usn"/></b></p>

<p><b>NAME ------ :<input type="text" name="name"/></b></p>

<p><b>BRANCH -- :<input type="text" name="course"/></b></p>

<p><b><input type="submit" value="Insert Student

Info"></b></p>

</form>

</body>

</html>

CallEntity.java

package com;

import java.io.IOException;

import java.io.PrintWriter;

import javax.ejb.EJB;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class CallEntity extends HttpServlet {

@EJB

private StudentFacadeLocal studentFacade;

protected void processRequest(HttpServletRequest request, HttpServletResponse

response)

throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

String usn,name,course;

usn=request.getParameter("usn");

name=request.getParameter("name");

course=request.getParameter("course");

studentFacade.addStu(usn,name,course);

try {

out.println("<html>");

Page 40: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 40

J2EE LABORATORY [10MCA46]

out.println("<head>");

out.println("<title>Servlet CallEntity</title>");

out.println("</head>");

out.println("<body>");

out.println("<h1>Student record sucessfully stored ....</h1>");

out.println("</body>");

out.println("</html>");

} finally {

out.close();

}

}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the

+ sign on the left to edit the code.">

/**

* Handles the HTTP

* <code>GET</code> method.

*

* @param request servlet request

* @param response servlet response

* @throws ServletException if a servlet-specific error occurs

* @throws IOException if an I/O error occurs

*/

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

processRequest(request, response);

}

/**

* Handles the HTTP

* <code>POST</code> method.

*

* @param request servlet request

* @param response servlet response

* @throws ServletException if a servlet-specific error occurs

* @throws IOException if an I/O error occurs

*/

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse

response)

throws ServletException, IOException {

processRequest(request, response);

}

/**

* Returns a short description of the servlet.

*

* @return a String containing servlet description

*/

@Override

public String getServletInfo() {

return "Short description";

Page 41: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 41

J2EE LABORATORY [10MCA46]

}// </editor-fold>

}

Student.java

package com;

import java.io.Serializable;

import javax.persistence.*;

import javax.validation.constraints.NotNull;

import javax.validation.constraints.Size;

import javax.xml.bind.annotation.XmlRootElement;

@Entity

@Table(name = "STUDENT")

@XmlRootElement

@NamedQueries({

@NamedQuery(name = "Student.findAll", query = "SELECT s FROM Student s"),

@NamedQuery(name = "Student.findByUsn", query = "SELECT s FROM Student s

WHERE s.usn = :usn"),

@NamedQuery(name = "Student.findByName", query = "SELECT s FROM Student

s WHERE s.name = :name"),

@NamedQuery(name = "Student.findByCourse", query = "SELECT s FROM

Student s WHERE s.course = :course")})

public class Student implements Serializable {

private static final long serialVersionUID = 1L;

@Id

@Basic(optional = false)

@NotNull

@Size(min = 1, max = 20)

@Column(name = "USN")

private String usn;

@Size(max = 20)

@Column(name = "NAME")

private String name;

@Size(max = 20)

@Column(name = "COURSE")

private String course;

public Student() {

}

public Student(String usn) {

this.usn = usn;

}

public String getUsn() {

return usn;

}

public void setUsn(String usn) {

this.usn = usn;

}

Page 42: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 42

J2EE LABORATORY [10MCA46]

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getCourse() {

return course;

}

public void setCourse(String course) {

this.course = course;

}

@Override

public int hashCode() {

int hash = 0;

hash += (usn != null ? usn.hashCode() : 0);

return hash;

}

@Override

public boolean equals(Object object) {

// TODO: Warning - this method won't work in the case the id fields are not set

if (!(object instanceof Student)) {

return false;

}

Student other = (Student) object;

if ((this.usn == null && other.usn != null) || (this.usn != null &&

!this.usn.equals(other.usn))) {

return false;

}

return true;

}

@Override

public String toString() {

return "com.Student[ usn=" + usn + " ]";

}

}

StudentFacade.java

package com;

import javax.ejb.Stateless;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

Page 43: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 43

J2EE LABORATORY [10MCA46]

@Stateless

public class StudentFacade extends AbstractFacade<Student> implements

StudentFacadeLocal {

@PersistenceContext(unitName = "EntityBeanDemo-ejbPU")

private EntityManager em;

@Override

protected EntityManager getEntityManager() {

return em;

}

public StudentFacade() {

super(Student.class);

}

@Override

public void persist(Object object) {

em.persist(object);

}

@Override

public void addStu(String usn, String name, String course) {

Student obj=new Student();

obj.setUsn(usn);

obj.setName(name);

obj.setCourse(course);

persist(obj);

}

}

StudentFacadeLocal.java

package com;

import java.util.List;

import javax.ejb.Local;

@Local

public interface StudentFacadeLocal {

void create(Student student);

void edit(Student student);

void remove(Student student);

Student find(Object id);

List<Student> findAll();

List<Student> findRange(int[] range);

Page 44: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 44

J2EE LABORATORY [10MCA46]

int count();

void addStu(String usn, String name, String course);

public void persist(java.lang.Object object);

}

AbstractFacade.java

package com;

import java.util.List;

import javax.persistence.EntityManager;

public abstract class AbstractFacade<T> {

private Class<T> entityClass;

public AbstractFacade(Class<T> entityClass) {

this.entityClass = entityClass;

}

protected abstract EntityManager getEntityManager();

public void create(T entity) {

getEntityManager().persist(entity);

}

public void edit(T entity) {

getEntityManager().merge(entity);

}

public void remove(T entity) {

getEntityManager().remove(getEntityManager().merge(entity));

}

public T find(Object id) {

return getEntityManager().find(entityClass, id);

}

public List<T> findAll() {

javax.persistence.criteria.CriteriaQuery cq =

getEntityManager().getCriteriaBuilder().createQuery();

cq.select(cq.from(entityClass));

return getEntityManager().createQuery(cq).getResultList();

}

public List<T> findRange(int[] range) {

javax.persistence.criteria.CriteriaQuery cq =

getEntityManager().getCriteriaBuilder().createQuery();

cq.select(cq.from(entityClass));

javax.persistence.Query q = getEntityManager().createQuery(cq);

Page 45: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 45

J2EE LABORATORY [10MCA46]

q.setMaxResults(range[1] - range[0]);

q.setFirstResult(range[0]);

return q.getResultList();

}

public int count() {

javax.persistence.criteria.CriteriaQuery cq =

getEntityManager().getCriteriaBuilder().createQuery();

javax.persistence.criteria.Root<T> rt = cq.from(entityClass);

cq.select(getEntityManager().getCriteriaBuilder().count(rt));

javax.persistence.Query q = getEntityManager().createQuery(cq);

return ((Long) q.getSingleResult()).intValue();

}

}

OUTPUT

Page 46: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 46

J2EE LABORATORY [10MCA46]

Page 47: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 47

J2EE LABORATORY [10MCA46]

14. AN EJB APPLICATION THAT DEMONSTRATES MDB.

SOURCE CODE:

HelloBean.java

package hello; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.ActivationConfigProperty; import javax.ejb.MessageDriven; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; /** * * @author VASANTH */ @MessageDriven(mappedName = "jms/hello", activationConfig = { @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") }) public class HelloBean implements MessageListener { public HelloBean() { } @Override public void onMessage(Message message) { try { System.out.println("Hello "+message.getStringProperty("name")); } catch (JMSException ex) { Logger.getLogger(HelloBean.class.getName()).log(Level.SEVERE, null, ex); } } } Main.java /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mdbclient;

Page 48: J2EE Lab Manual [10mca46]

Department of MCA/Sir MVIT/Bangalore 48

J2EE LABORATORY [10MCA46]

import javax.annotation.Resource; import javax.jms.*; /** * * @author VASANTH */ public class Main { @Resource(mappedName = "jms/hello") private static Queue hello; @Resource(mappedName = "jms/helloFactory") private static ConnectionFactory helloFactory; /** * @param args the command line arguments */ public static void main(String[] args) throws JMSException { // TODO code application logic here Connection connection = helloFactory.createConnection(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer messageProducer = session.createProducer(hello); Message message=session.createMessage(); message.setStringProperty("name", "Vikram"); messageProducer.send(message); System.exit(0); } } OUTPUT