Professional Documents
Culture Documents
J2EE Laboratory Subject Code: 10MCA46 Hours/Week: 3 Total Hours: 42 I.A Marks: Exam Hours: Exam Marks: 50 03 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.
OUTPUT
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(); } } }
OUTPUT
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("ContentDisposition","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(); } }
OUTPUT
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>");
10
11
OUTPUT
12
13
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)
14
OUTPUT
15
16
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 {
17
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
18
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(); } }
19
OUTPUT
20
8.
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> <% } %> <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> <% } %> </body> </html>
21
OUTPUT
22
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
23
24
OUTPUT
25
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>
26
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() {
27
this.address=newAddress;
28
OUTPUT
29
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); } }
30
OUTPUT
31
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++; }
32
OUTPUT
33
CallSession.java package com; import import import import import import import java.io.IOException; java.io.PrintWriter; javax.ejb.EJB; javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse;
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>");
34
35
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; }
36
37
OUTPUT
38
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>");
39
40
Student.java package com; import import import import import java.io.Serializable; javax.persistence.*; javax.validation.constraints.NotNull; javax.validation.constraints.Size; 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; }
41
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 + " ]"; } }
42
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);
43
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);
44
OUTPUT
45
46
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;
Department of MCA/Sir MVIT/Bangalore 47
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
48