Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

J2EE LABORATORY [10MCA46]

1. WRITE A JAVA PRAGRAM TO INSERT INTO STUDENT DATABASE AND


RETRIEVE INFORMATION BASED ON PARTICULAR QUERIES(QUERIES
CAN BE GIVEN WHICH COVERS ALLL THE TOPICS OF SECOND UNIT).

SOURCE CODE:

StdInfo.java

import java.sql.*;
import java.io.*;
class StdInfo
{
public static void main(String args[])
{
Connection con =null;
Statement st=null;
PreparedStatement pst=null;
ResultSet rs=null;
String str=null;
boolean b;
try
{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:gan"," ","");

}
catch(ClassNotFoundException e)
{
System.out.println("unable to load Jdbc/Odbc Bridge driver"+e);
System.exit(1);

}
catch(SQLException e)
{
System.out.println(""+e);
System.exit(2);
}

try
{
BufferedReader bufRead=new BufferedReader(new InputStreamReader(System.in));

while(true)
{

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 1


J2EE LABORATORY [10MCA46]

try{
System.out.println("\n 1.Insert\n 2.Query\n 3.Updation\n 4.Exit");
System.out.println("Enter Your Choice");
int ch=Integer.parseInt(bufRead.readLine());
switch(ch)
{
case 1:
System.out.println("\nEnter the Student USN,NAME,
BRANCH,AGE and PERCENTAGE ");
String usn=bufRead.readLine();
String name=bufRead.readLine();
String branch=bufRead.readLine();
int age=Integer.parseInt(bufRead.readLine());
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("Enter the Query to be Execeuted");
str=bufRead.readLine();
st=con.createStatement();
rs=st.executeQuery(str);
ResultSetMetaData rmd= rs.getMetaData();
int col=rmd.getColumnCount();
int count=1;
b =rs.next();
if(!b)
{
System.out.println("Not 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());
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 2


J2EE LABORATORY [10MCA46]

break;

case 3:
System.out.println("Enter the Query for Updation\n");
str=bufRead.readLine();
st=con.createStatement();
int r=st.executeUpdate(str);
if(r==0)
System.out.println("No Rows Updated....!!!!!!!\n");
else
System.out.println("Updation done Successfully......\n");
break;
case 4:
con.close();
System.exit(0);
break;
}
}
catch(SQLException e){
System.out.println(e);
}
catch(Exception e) {
System.out.println(e);

}
}
}

catch(Exception e)
{
System.out.println(e);
}
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 3


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 4


J2EE LABORATORY [10MCA46]

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 5


J2EE LABORATORY [10MCA46]

2. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT DYNAMIC HTML


USING SERVLET (USERNAME AND PASSWORD SHOULD BE ACCPET
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 User Name and Password
<Form action="Login" Method=Post>
<p> <b> Username <Input type="text"
name="username" length=40>
<p> <b> Password <Input type="text"
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+"your password is "+pass+"for log in");
writer.println("<br> <br> <b> UserName:"+username);
writer.println("<br> <br> <b> password:"+pass);
writer.println("<html>");

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 6


J2EE LABORATORY [10MCA46]

writer.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 7


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 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 CURRESPONDING FILE HAS TO BE
DISPLAYED ON SCREEN)

SOURCE CODE

DownloadServlet.Html

<html>
<body>
<center> <h1> The SQL Tutorial<h1>
</center>
<a href="http://localhost:8080/GProg3/DownloadServlet">
Click Here to Know About SQL
</a>
</body>
</html>

DownloadServlet.Java

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

public class DownloadServlet extends HttpServlet


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

res.setContentType("application/msword");
res.setHeader("Content-Disposition","attachment;filename=Sql.docx");
ServletOutputStream output=res.getOutputStream();
FileInputStream file=new FileInputStream("E:\\Sql.docx");
int c=0;
while((c=file.read())!=-1)
{
output.write(c);
}
output.flush();
file.close();
output.close();
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 9


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 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> inlcude and Forward Demo </title>
</head>
<body>
<center>
<h1> INCLUDE AND FORWARD DEMO </h1>
</center>
<b> Please Enter the Mode Of Operation
<form action="IFDemo">
<p>
<p><input type="text" name ="mode" length=40>
<input type="submit" value="submit">
<input type="reset" value="clear">
</form>
</body>
</html>

IFDemo.java

import javax.servlet.http.*;
import javax.servlet.*;
public class IFDemo extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException,
ServletException
{
String mode=req.getParameter("mode");
try {
res.setContentType("text/html");
PrintWriter out=res.getWriter();
RequestDispatcher rd=null;
if(mode.equals("forward"))
{
req.setAttribute("mode","Forward Response.....");
rd=req.getRequestDispatcher("ForwardDemo");
rd.forward(req,res);
}
else if(mode.equals("include"))

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 11


J2EE LABORATORY [10MCA46]

{
req.setAttribute("mode","Include Respone....");
out.println("<html>");
out.println("<head>");
out.println("<title> Include Demo </title>");
out.println("</head>");
out.println("<body>");
out.println("<h1> Hello Form Level </h1>");
out.println("This text is displayed at Level 1");
rd=req.getRequestDispatcher("IncludeDemo");
rd.include(req,res);
out.println("</body>");
out.println("</html>");
out.close();
}
else
{
out.println("<h1> Enter Incude or Forward </h1>");
out.close();
}
}
catch(Exception e) { e.printStackTrace();
}
}
}

ForwardDemo.java

import javax.servlet.http.*;
import javax.servlet.*;
public class ForwardDemo extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res)
{
try{
res.setContentType("text/html");
PrintWriter writer=res.getWriter();
String mode=(String)req.getAttribute("mode");
writer.println("This is another doGet”);
writer.close();
}
catch(Exception e)
{
}
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 12


J2EE LABORATORY [10MCA46]

IncludeDemo.java

import javax.servlet.http.*;
import java.io.*;
public class IncludeDemo 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("<br><b>This is another text of "+mode);
writer.close();
} catch(Exception e){
e.printStackTrace();
}
}
}

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 13


J2EE LABORATORY [10MCA46]

5. WRITE A JAVA PROGRAM TO IMPLEMENT AND DEMONSTRATE get() and


post() METHODS (USING HTTP SERVLET CLASS).

SOURCE CODE

Get.Html

<html>
<head>
<title>
Demonstation of Get and Post Method
</title>
</head>
<body bgcolor="plum">
<center>
<form action="http://localhost:8080/gprog5/GetPost">
<p>
<b> Please Click Sumbit Buttn to Call get Mehtod </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>
Demonstation of Get and Post Method
</title>
</head>
<body bgcolor="plum">
<center>
<form action="http://localhost:8080/gprog5/GetPost" method="post">
<p>
<b> Please Click Sumbit Buttn to Call Post Mehtod </b>
</p> <br>

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 14


J2EE LABORATORY [10MCA46]

<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.http.*;
import javax.servlet.*;
public class GetPost extends HttpServlet
{

public void doPost(HttpServletRequest req,HttpServletResponse res)


throws ServletException, IOException
{
String color=req.getParameter("color");
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
pw.println("<b> Hello Form Post Method <b> <br> <br>");
pw.println("You have Selected "+" "+color+"color");
pw.close();
}

public void doGet(HttpServletRequest req,HttpServletResponse res)


throws ServletException, IOException
{
String color=req.getParameter("color");
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
pw.println("<b> Hello Form Get Method <b> <br> <br>");
pw.println("You have Selected "+" "+color+"color");
pw.close();
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 15


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 16


J2EE LABORATORY [10MCA46]

6. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT THE SendRedirect()


MENTHOD (USING HttpServlet CLASS).

SOURCE CODE

SendRedirect.html

<html>

<head> <title> Redirecting Page </title>


</head>
<body>
<form action="SendRedirect" method="post">
<b> Enter Your Name :
<input type ="text" name="username"> <br>
<b> Enter the passord:
<input type ="password" name="password"> <br>
<input type="submit" value="SUBMIT">
<input type="reset" value="RESET">
</form>
</body>

</html>

SendRedirect.java

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

public class SendRedirect extends HttpServlet


{

public void doPost(HttpServletRequest req,HttpServletResponse res) throws


ServletException , IOException
{
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
String name=req.getParameter("username");
String password=req.getParameter("password");
if(name.equals("ganesh")&&password.equals("hegde"))
{
res.sendRedirect("ValidUser");
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 17


J2EE LABORATORY [10MCA46]

else
{
pw.println("<h3> Invalid Username or Password..!!!");
}
}
}

ValidUSer.java

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

public class ValidUser extends HttpServlet


{

public void doGet(HttpServletRequest req,HttpServletResponse res) throws


ServletException ,
IOException
{
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
pw.println("<center> <h1> WELCOME TO HOME PAGE ..........</h1>
</center>");
pw.close();
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 18


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 19


J2EE LABORATORY [10MCA46]

7. WRITE A JAVA SERVLET PROGRAM TO IMPLEMENT SESSION(USING


HTTP SESSSION INTERFACE).

SOURCE CODE

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

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 , New Comer";
}
else
{
heading ="welcome Again.......";
ac=new Integer(ac.intValue()+1);
}
session.setAttribute("ac",ac);
pw.println("<html> <head> <title>" + title+"</title> </head>");
pw.print(heading+"<br>");
pw.println("SessionID="+session.getId()+"<br>");
pw.println("ac="+ac+"<br>");
pw.close();
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 20


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 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 PRGRAM </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>

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 22


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 23


J2EE LABORATORY [10MCA46]

8. 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="plum">
<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" name="submit" >
<input type="reset" name="reset">
</td>

</tr>

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

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 24


J2EE LABORATORY [10MCA46]

Validation.jsp

<html>
<body>
<%! String uid="ganesh"; %>
<%! String pass="hegde"; %>
<%! 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" />
<%
}
%>
</body>
</html>

Welcome.jsp

<html>
<body bgcolor="cyan">
<center>
<h1> WELCOME TO HOME PAGE </h1>
</center>
</body>
</html>

Error.jsp
<html>
<head> <title>JSP Page</title> </head>
<body bgcolor="pink">
<h1>INVALID ENTRY</h1>
<a href ="http://localhost:8080/gprog8b/">
</a>
</body>
</html>

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 25


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 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> Regisration </title>

</head>
<body bgcolor="plum">
<h1> <pre> <font size="18pt"> Registration Page </font> </pre> <br>
<form action="StudInfo.jsp" method="post">
<pre>
FirstName : <input type="text" name="firstName" length="30" />
SurName : <input type="text" name="surname" length="30" />
USN : <input type="text" name="usn" length="30" />
Course : <input type="text" name="course" length="30" />
Sem : <input type="text" name="sem" length="30" />
Age : <input type="text" name="age" length="30" />
Address : <input type="text" name="address" length="30" />

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


</pre>
<form>
</body>

StudInfo.jsp

<html>
<head>
<title>
Register User
</title>
</head>
<body>
<jsp:useBean id="stud" scope="session" class="com.Student">
<jsp:setProperty name="stud" property="*" />
</jsp:useBean>

<p> your First Name is:

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 27


J2EE LABORATORY [10MCA46]

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

<p> Your Last Name is :


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

<p> Your USN is :


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

<p> Your COURSE Name 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 com;
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(){


return firstName;
}

public String getSurname(){


return surname ;
}
public String getUsn(){

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 28


J2EE LABORATORY [10MCA46]

return usn;
}

public String getCourse(){


return course;
}

public int getAge(){


return age;
}

public int getSem(){


return sem;
}

public String getAddress(){


return address;
}

public void setFirstName(String newFirstName)


{
this.firstName =newFirstName;
}

public void setSurname(String newSurname )


{
this.surname =newSurname;
}

public void setUsn(String newUsn)


{
this.usn =newUsn;
}

public void setCourse(String newCourse)


{
this.course =newCourse;
}

public void setSem(int newSem )


{
this.sem = newSem;
}
public void setAge(int newAge )
{
this.age =newAge;

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 29


J2EE LABORATORY [10MCA46]

public void setAddress(String newAddress )


{
this.address =newAddress;

}
}

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 30


J2EE LABORATORY [10MCA46]

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

SOURCE CODE
AppletJsp.jsp
<%@page language="java" %>
<html>
<head>
<title> Welcome </title>

</head>
<body>
<jsp:plugin type="applet" code="ButtonMoveApplet.class" width="400"
height="400" >

<jsp:fallback>
Unable to Load the File
</jsp:fallback>
</jsp:plugin>
</body>
</html>

ButtonMoveApplet.java

import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;

public class ButtonMoveApplet extends Applet


{
public void init()
{
setBackground(Color.gray);
setForeground(Color.red);
}
@Override
public void paint(Graphics g)
{
g.drawString("Welclome....... Applet Loaded.......!!!!",100,100);

}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 31


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 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.*;
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
{

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 33


J2EE LABORATORY [10MCA46]

Tag parent=getParent();
while(parent!=null)
{
parent=parent.getParent();
nestLevel++;
}
try{
pageContext.getOut().println("<br> tagNestedLevel:"+nestLevel);
}
catch(IOException e)
{
throw new JspException("IOException"+e.toString());
}
return EVAL_BODY_INCLUDE;

}
}

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 34


J2EE LABORATORY [10MCA46]

12. AN EJB APPLICATION THAT DEMONSTRATES SESSION BEAN.

SOURCE CODE:

CallSession.html

<html>
<head>
<title>Arithmetic Operation</title>
</head>
<body>
<h1>Arithmetic Operation</h1>
<form action="CallSess" 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>

CallSess.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;

/**
*
* @author Ganesh
*/
public class CallSess extends HttpServlet {
@EJB
private SessionDemoLocal sessionDemo;

protected void processRequest(HttpServletRequest request, HttpServletResponse b


response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 35


J2EE LABORATORY [10MCA46]

int a=Integer.parseInt(request.getParameter("num1"));
int b= Integer.parseInt(request.getParameter("num2"));
try {

out.println("<html>");
out.println("<head>");
out.println("<title> Arithmetic Operattion </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) = " + sessionDemo.add(a,b) + "</h2>");
out.println("<h2>Subtraction(A-B) = " + sessionDemo.sub(a, b) +"</h2>");
out.println("<h2>Multiplication(A*B) = " + sessionDemo.mul(a, b) +"</h2>");
out.println("<h2>Division(A/B) = " + sessionDemo.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

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 36


J2EE LABORATORY [10MCA46]

* @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";
}// </editor-fold>
}
SessionBeanDemo.java

package com;
import javax.ejb.Stateless;

/**
*
* @author Ganesh
*/
@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;

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 37


J2EE LABORATORY [10MCA46]

}
}

SessionBeanDemoLocal.java

package com;
import javax.ejb.Local;

/**
*
* @author Ganesh
*/
@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);

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 38


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 39


J2EE LABORATORY [10MCA46]

13. AN EJB APPLICATION THAT DEMONSTRATES ENTITY BEAN.

SOURCE CODE
callServlet.html

<html>
<head>
<title>Student Information</title>
</head>
<body>
<br>
<h2>ENTER STUDENT INFORMATION </h2>
<form action=" CallEntity " method="POST">
<pre>
<b>USN :<input type="text" name="usn"/></b>
<b>NAME :<input type="text" name="name"/></b>
<b>BRANCH :<input type="text" name="branch"/></b> <br>
<b><input type="submit" value="Insert StudentInfo"></b>
</pre>
</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;

/**
*
* @author Ganesh
*/
public class CallEntity extends HttpServlet {
@EJB
private StudentFacadeLocal studentFacade;

/**
* Processes requests for both HTTP

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 40


J2EE LABORATORY [10MCA46]

* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
String usn=request.getParameter("usn");
String name=request.getParameter("name");
String branch=request.getParameter("branch");
studentFacade.studadd(usn,name,branch);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/*
* TODO output your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Call</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1> Data Stored Successfully..........</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)

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 41


J2EE LABORATORY [10MCA46]

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";
}// </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;

/**
*
* @author Ganesh
*/
@Entity
@Table(name = "STUDENT")
@XmlRootElement

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 42


J2EE LABORATORY [10MCA46]

@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.findByBranch", query = "SELECT s FROM Student s
WHERE s.branch = :branch")})
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 = "BRANCH")
private String branch;

public Student() {
}

public Student(String usn) {


this.usn = usn;
}

public String getUsn() {


return usn;
}

public void setUsn(String usn) {


this.usn = usn;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 43


J2EE LABORATORY [10MCA46]

public String getBranch() {


return branch;
}

public void setBranch(String branch) {


this.branch = branch;
}

@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;

/**
*
* @author Ganesh

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 44


J2EE LABORATORY [10MCA46]

*/
@Stateless
public class StudentFacade extends AbstractFacade<Student> implements
StudentFacadeLocal {
@PersistenceContext(unitName = "EntityDemo-ejbPU")
private EntityManager em;

@Override
protected EntityManager getEntityManager() {
return em;
}

public StudentFacade() {
super(Student.class);
}

public void persist(Object object) {


em.persist(object);
}

@Override
public void studadd(String usn, String name, String branch) {
Student obj=new Student();
obj.setUsn(usn);
obj.setName(name);
obj.setBranch(branch);
persist(obj);
}
}

StudentFacadeLocal.java
package com;

import java.util.List;
import javax.ejb.Local;

/**
*
* @author Ganesh
*/
@Local
public interface StudentFacadeLocal {

void create(Student student);

void edit(Student student);

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 45


J2EE LABORATORY [10MCA46]

void remove(Student student);

Student find(Object id);

List<Student> findAll();

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

int count();

void studadd(String usn, String name, String branch);


}

AbstractFacade.java
package com;

import java.util.List;
import javax.persistence.EntityManager;

/**
*
* @author Ganesh
*/
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) {

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 46


J2EE LABORATORY [10MCA46]

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);
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();
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 47


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 48


J2EE LABORATORY [10MCA46]

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 49


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 Ganesh
*/
@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"));
System.out.println("Your College Name is :" +
message .getStringProperty("collegename"));
System.out.println("Your Branch Name is
"+message.getStringProperty("course"));

} catch (JMSException ex) {


Logger.getLogger(HelloBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 50


J2EE LABORATORY [10MCA46]

Main.java

package mdbclient1;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.jms.*;

/**
*
* @author Ganesh
*/
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 = null;
Session session = null;

connection = helloFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer = session.createProducer(hello);
Message message=session.createMessage();
message.setStringProperty("name","Ganesh");
message.setStringProperty("collegename","SirMVIT");
message.setStringProperty("course","MCA");
messageProducer.send(message);
System.exit(0);

}
}

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 51


J2EE LABORATORY [10MCA46]

OUTPUT

ganesh.hsirsi@gmail.com facebook.com/hegde.ganesh7 Page 52

You might also like