0% found this document useful (0 votes)
18 views

Sycs22 Java Journal

Uploaded by

niteshsemwal15
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Sycs22 Java Journal

Uploaded by

niteshsemwal15
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 43

SYCS22 Practical 1 Date:

ADVANCED JAVA PROGRAMMING

PRACTICAL 1
AIM: Write a Java application to demonstrate servlet life cycle.

NewServlet.java
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class NewServlet implements Servlet{


@Override
public void destroy()
{ System.out.println("Servlet is
destroyed");
}

@Override
public ServletConfig getServletConfig()
{ return null;
}
@Override
public void init(ServletConfig arg) throws ServletException{
System.out.println("Server");
}
@Override
public void service(ServletRequest arg, ServletResponse arg1) throws
ServletException{ System.out.println("Servlet service is invoked");
}

@Override
public String getServletInfo()
{ return null;
}
}
OUTPUT:

pg. 1
PRACTICAL 2
Aim: Crete a servlet for login Page
Login.html
Code:
<html>
<head>
<title>Login | Page</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<h2>Sign in</h2>
<form action="Login_Servlet" method="post">
<div class="inputbox">
<input type="text" name="myname" id="name" required="required" />
<span>Full Name</span>
</div>
<div class="inputbox">
<input type="text" name="mypwd" id="email" required="required" />
<span>Password</span>
</div>
<div class="inputbox">
<input type="submit" value="sign in" id="mybtn" />
</div>
</form>
</div>
</body>
</html>

LoginServer.java (Servlet for Login Page)


Code:
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Login_Servlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try ( PrintWriter out = response.getWriter()) {
String n = request.getParameter("myname");
String p = request.getParameter("mypwd");
System.out.println("UserName: " + n + "\nPassword: " + p);
if("Furkan123".equals(n) && "pass123".equals(p)){
RequestDispatcher rd = request.getRequestDispatcher("finalservlet");
rd.forward(request, response);
2
}
else{
out.print("UserName or Password is invalid...");
RequestDispatcher rd = request.getRequestDispatcher("index.html"); // For
Sending the o to another page

rd.include(request, response);
}
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo()
{ return "Short description";
}
Final Servlet.java (for redirection serverlet)
Code:
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class finalservlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {


response.setContentType("text/html;charset=UTF-8");
try ( PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet finalservlet</title>");
out.println("</head>");
out.println("<body>");
String n = request.getParameter("myname");
out.println("<h1>");
out.print("Welcome " + n);
out.println("</h1>");
out.println("<h1>Servlet finalservlet at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
3
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response) }
@Override
public String getServletInfo() { return "Short description";
}

Output:
If Login Credentials are correct then:

If Login Credentials are


invalid:

4
PRACTICAL 3:
Registration.html
Code:
<html>
<head>
<title>Login | Page</title>
<link rel="stylesheet" href="style.css">

</head>
<body>
<div class="container">
<h2>Sign Up</h2>
<form action="registration" method="post">
<div class="inputbox">
<input type="text" name="myname" id="name" required="required" />
<span>Full Name</span>
</div>
<div class="inputbox">
<input type="email" name="myemail" id="email" required="required" />
<span>Email Address</span>
</div>
<div class="inputbox">
<input type="tel" name="myphone" id="getphone" required="required" />
<span>Contact</span>
</div>
<div style="margin-bottom: 25px">
<input type="radio" name="myradio" id="getgender" value="male" />Male
<input type="radio" name="myradio" id="getgender" style="margin-left: 5px"
value="female"/>Female
<input type="radio" name="myradio" id="getgender" style="margin-left: 5px"
value="other" />Other
</div>
<div class="inputbox">
<p>Course</p>
<select name="getcourse">
<option value="select">select</option>
<option value="CS">CS</option>
<option value="IT">IT</option>
<option value="Data Science">Data Science</option>
<option value="BlockChain">BlockChain</option>
</select>
</div>
<div class="inputbox">
<input type="submit" value="sign up" id="mybtn" />
</div>
</form>
5
</div>
</body>
</html>

6
Registration.java (servlet for register.html)
Code:
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");

try ( PrintWriter out =


response.getWriter()) { String n =
request.getParameter("myname"); String eml =
request.getParameter("myemail"); String phn =
request.getParameter("myphone"); String gnd =
request.getParameter("myradio"); String cur =
request.getParameter("getcourse");
if (n.isEmpty() || eml.isEmpty() || phn.isEmpty() || "select".equals(cur) ||
gnd.isEmpty()) {
out.print("<h2 style='color: red;'>Please Fill Complete Form...</h2>");
RequestDispatcher rd = request.getRequestDispatcher("index.html"); // For
Sending the object to another page
rd.include(request, response);
}
else{
out.print("<center>");
out.print("<h2 style='color: red;'>Registration Succssesful</h2>");
out.print("<i>Your Details...</i>");
out.print("<h3>Name: " + n + "</h3>");
out.print("<h3>Contact: " + phn + "</h3>");
out.print("<h3>E-mail: " + eml + "</h3>");
out.print("<h3>Gender: " + gnd + "</h3>");
out.print("<h3>Field: " + cur + "</h3>");
}
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);

7
}
@Override
public String getServletInfo()
{ return "Short description";
}
Output:

If all the fields are filled:

8
If any of field is missing

Web.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="4.0"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
<servlet>
<servlet-name>NewServlet</servlet-name>
<servlet-class>NewServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>My_Server</servlet-name>
<servlet-class>My_Server</servlet-class>
</servlet>
<servlet>
<servlet-name>Login_Servlet</servlet-name>
<servlet-class>Login_Servlet</servlet-class>

</servlet>
<servlet>
<servlet-name>finalservlet</servlet-name>
<servlet-class>finalservlet</servlet-class>
</servlet>
<servlet>
<servlet-name>registration</servlet-name>
<servlet-class>registration</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NewServlet</servlet-name>
<url-pattern>/NewServlet</url-pattern>
9
</servlet-mapping>
<servlet-mapping>
<servlet-name>My_Server</servlet-name>
<url-pattern>/My_Server</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Login_Servlet</servlet-name>
<url-pattern>/Login_Servlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>finalservlet</servlet-name>
<url-pattern>/finalservlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>registration</servlet-name>
<url-pattern>/registration</url-pattern>

</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

10
SYCS22 Practical 5 Date:
PRACTICL 4
Aim: Create a registration and login JSP application

Index.html

<!DOCTYPE html>

<html>

<head>

<title>TODO supply a title</title>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

</head>

<body>

<div>TODO write content</div>

<a href="login.jsp">Login</a> <br> <br>

<a href="register.jsp">Register</a>

</body>

</html>

Output:

11
SYCS22 Practical 5 Date:
Register.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Register JSP Page</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<div class="container">

<h2>Sign Up</h2>

<form action="reg-back.jsp" method="post">

<div class="inputbox">

<input type="text" name="myname" id="name" required="required" />

<span>Full Name</span>

</div>

<div class="inputbox">

<input type="email" name="myemail" id="email" required="required" />

<span>Email Address</span>

</div>

<div class="inputbox">

<input type="tel" name="myphone" id="getphone" required="required" />

<span>Contact</span>

</div>

<div style="margin-bottom: 25px">

<input type="radio" name="myradio" id="getgender1" value="male" />Male

12
SYCS22 Practical 5 Date:
<input type="radio" name="myradio" id="getgender2" style="margin-left: 5px"
value="female"/>Female

<input type="radio" name="myradio" id="getgender3" style="margin-left: 5px"


value="other" />Other

</div>

<div class="inputbox">

<p>Course</p>

<select name="getcourse">

<option value="select">select</option>

<option value="CS">CS</option>

<option value="IT">IT</option>

<option value="Data Science">Data Science</option>

<option value="BlockChain">BlockChain</option>

</select>

</div>

<div class="inputbox">

<input type="submit" value="sign up" id="mybtn" />

</div>

</form>

</div>

</body>

</html>

SQL Table

13
SYCS22 Practical 5 Date:
Reg-back.jsp

<%@page import="java.sql.PreparedStatement"%>

<%@page import="java.sql.DriverManager"%>

<%@page import="java.sql.Connection"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<%

try {

String n = request.getParameter("myname");

String eml = request.getParameter("myemail");

String phn = request.getParameter("myphone");

String gnd = request.getParameter("myradio");

String cur = request.getParameter("getcourse");

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool?


zeroDateTimeBehavi or=CONVERT_TO_NULL", "root", "Furkan123");

out.print("Connecsion is done");

PreparedStatement ps = con.prepareStatement("insert into students(Name, Email,


contact, Gender, Course) values (?,?,?,?,?);");

ps.setString(1, n);

ps.setString(2, eml);

14
SYCS22 Practical 5 Date:
ps.setString(3, phn);

ps.setString(4, gnd);

ps.setString(5, cur);

ps.executeUpdate();

out.print("<h1>Registration Success. </h1>");

} catch (Exception e) {

%>

</body>

</html>

Output:

15
SYCS22 Practical 5 Date:
Login.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Log in JSP Page</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<div class="container">

<h2>Sign in</h2>

<form action="login-back.jsp" method="post">

<div class="inputbox">

<input type="text" name="myemail" id="name" required="required" />

<span>E-Mail</span>

</div>

<div class="inputbox">

<input type="text" name="myphone" id="email" required="required" />

<span>Contact</span>

</div>

<div class="inputbox">

<input type="submit" value="sign in" id="mybtn" />

</div>

</form>

</div>

</body>

</html>

16
SYCS22 Practical 5 Date:
Login-back.jsp

<%@page import="java.sql.ResultSet"%>

<%@page import="java.sql.PreparedStatement"%>

<%@page import="java.sql.DriverManager"%>

<%@page import="java.sql.Connection"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<body>

<h2>Welcome to login backend</h2>

<%

try {

String eml = request.getParameter("myemail");

String phn = request.getParameter("myphone");

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool?


zeroDateTimeBehavior=CON VERT_TO_NULL", "root", "Furkan123");

out.print("Connecsion is done");

PreparedStatement ps = con.prepareStatement("select * from students where Email=? and


contact=?");

ps.setString(1, eml);

ps.setString(2, phn);

boolean status = false;

ResultSet rs = ps.executeQuery();

status = rs.next();

if (status == false)

{ out.print("<h1>Login

Failed...</h1>");

} else {

out.print("<h1>Login Success...</h1>");
17
SYCS22 Practical 5 Date:
}

} catch (Exception c) {

%>

</body>

</html>

Output:

If credentials are valid:

If credentials are Invalid:

18
SYCS22 Practical 5 Date:
PRACTICAL 5
Aim: Write a Java application to access JavaBeans Properties.

Index.html

<!DOCTYPE html>

<html>

<head>

<title>TODO supply a title</title>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

</head>

<body>

<a href='input.jsp'> Redirect Me</a>

</body>

</html>

Output:

Input.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<form action="input-back.jsp" method="POST">

<input type ="text" placeholder="Enter Students Roll No.." name='roll'>


19
SYCS22 Practical 5 Date:
<input type="text" placeholder="Enter Student's Name" name="name">

<input type="text" placeholder="Enter Student's Age" name='age'>

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

</form>

</center>

</body>

</html>

Input-back.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<jsp:useBean id="students" class="MyPack.Students">

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

</jsp:useBean>

<p> Student Roll No:

<jsp:getProperty name="students" property="roll"/>

</p>

<p>Student Name

<jsp:getProperty name="students" property="name" />

</p>

<p>Student Age:

<jsp:getProperty name="students" property="age"/>

</p>

</body>
20
SYCS22 Practical 5 Date:
</html>
Students.java (JavaBeans Class)
package MyPack;
import java.io.Serializable;
public class Students implements Serializable
{ private static final long serialVersionUID = 1L;
public String roll = null;
public String name = null;
public int age = 0;
public Students(){ }
public String getroll(){
return roll;
}
public String getName()
{ return name;
}
public int getAge()
{ return age;
}
public void setRoll(String roll)
{ this.roll = roll;
}
public void setName(String name)
{ this.name = name;
}
public void setAge(int age){
this.age = age;
}
}

Output:

21
SYCS22 Practical 6 Date:
Practical 6

Aim: Write Java application to encoding and decoding JSON in Java.

 Using HaspMap

JSONEncode.java

import java.io.FileNotFoundException;

import java.io.PrintWriter;

import java.util.HashMap;

import org.json.simple.JSONValue;

public class jsonEncode {

public static void main(String args[]) throws

FileNotFoundException{ HashMap io = new HashMap();

io.put("FirstName", "Furkan");

io.put("LastName", "Sayyed");

io.put("Roll No.", "SYCS36");

io.put("Age", 20);

PrintWriter pw = new PrintWriter("D:\\SYCS36\\jsonFile.json");

pw.write(JSONValue.toJSONString(io));

System.out.println("Done Wrting to File...");

pw.flush();

pw.close();

Output:

22
SYCS22 Practical 6 Date:

jsonDecode.java

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import org.json.simple.JSONObject;

import org.json.simple.parser.JSONParser;

import org.json.simple.parser.ParseException;

public class jsonDecode {

public static void main(String[] args) throws FileNotFoundException, IOException, ParseException

{ Object obj = new JSONParser().parse(new FileReader("D:\\SYCS\\jsonFile.json"));

JSONObject jo = (JSONObject) obj;

String firstName = (String )jo.get("FirstName");

String lastName = (String )jo.get("LastName");

String rollno = (String )jo.get("Roll No.");

long Age = (long ) jo.get("Age");

System.out.println(firstName);

System.out.println(lastName);

System.out.println(rollno);

System.out.println(Age);

23
SYCS22 Practical 6 Date:
}

Output:

 Using Array

jsonWithArrayEncode.java

import java.io.FileNotFoundException;

import java.io.PrintWriter;

import java.util.ArrayList;

import org.json.simple.JSONValue;

public class jsonWithArrayEncode {

public static void main(String[] args) throws FileNotFoundException

{ ArrayList arr = new ArrayList();

arr.add("Tony");

arr.add("Stark");

arr.add("Mark 85");

arr.add(2025);

PrintWriter pw = new PrintWriter("D:\\SYCS36\\jsonFile2.json");

pw.write(JSONValue.toJSONString(arr));

System.out.println("Writing Done Using ArrayList");

pw.flush();

pw.close();

Output:

24
SYCS22 Practical 6 Date:

jsonWithArrayDecode.java

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import org.json.simple.JSONArray;

import org.json.simple.parser.JSONParser;

import org.json.simple.parser.ParseException;

public class jsonWithArrayDecode {

public static void main(String[] args) throws FileNotFoundException, IOException,

ParseException{ Object obj = new JSONParser().parse(new FileReader("D:\\SYCS36\\

jsonFile2.json")); JSONArray arr = (JSONArray) obj;

String firstName = (String) arr.get(0);

String lastName = (String) arr.get(1);

String roll = (String) arr.get(2);

long age = (long) arr.get(3);

System.out.println("First Name: " + firstName);

System.out.println("Last Name: " +lastName);

System.out.println("Mark: "+ roll);

System.out.println("Year: " + age);

} Output:

25
SYCS22 Practical no.7 Date:
Practical 7

Aim: Create a simple JPA application to store and retrieve Book details.

26
SYCS22 Practical no. Date:

28
SYCS22 Practical no. Date:
Creating a session bean to manage database.

28
SYCS22 Practical no. Date:
Creating a class to collect data from the webform.

28
SYCS22 Practical no. Date:
DATASOURCEBEAN.JAVA
import javax.annotation.sql.DataSourceDefinition;
import javax.ejb.Singleton;
import javax.ejb.Startup;
@Singleton
@Startup
@DataSourceDefinition(name="java:global/jdbc/MYSQLTEST",
className="com.mysql.jdbc.Driver",
url="jdbc:mysql://localhost:3306/SYCS46",
user="root",
password="BHAVANS"
)
public class DataSourceBean {
}
Book.java
package Entity;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;
@Entity
@Table(name = "book")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Book.findAll", query = "SELECT b FROM Book b"),
@NamedQuery(name = "Book.findById", query = "SELECT b FROM Book b WHERE b.id = :id"),

@NamedQuery(name = "Book.findByName", query = "SELECT b FROM Book b WHERE b.name =


:name"),
@NamedQuery(name = "Book.findByPrice", query = "SELECT b FROM Book b WHERE b.price =
:price")})
public class Book implements Serializable
{ private static final long serialVersionUID =
1L; @Id
@Basic(optional = false)
@Column(name = "id")
private String id;
@Column(name = "name")
private String name;
@Column(name = "price")
private String price;
public Book() {
}
public Book(String id, String name, String price)
{ this.id = id;
this.name = name;
this.price = price;
}
public String getId()
28
SYCS22 Practical no. Date:
{ return id;
}
public void setId(String id) {
this.id = id;
}
public String getName()
{ return name;
}
public void setName(String name)
{ this.name = name;

}
public String getPrice()
{ return price;
}
public void setPrice(String price)
{ this.price = price;
}
@Override
public int hashCode()
{ int hash = 0;
hash += (id != null ? id.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 Book)) {
return false;
}
Book other = (Book) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id)))
{ return false;
}
return true;
}
@Override
public String toString() {
return "Entity.Book[ id=" + id + " ]";
}
}
WebData.java

package View;
import Session.BookFacade;
//import javax.annotation.ManagedBean;
import javax.faces.bean.ManagedBean;
import javax.ejb.EJB;
import javax.faces.bean.SessionScoped;
import javax.inject.Named;
@ManagedBean(name="webData")
@Named
@SessionScoped
public class WebData {
28
SYCS22 Practical no. Date:
@EJB
private BookFacade bf;
private String id;
private String name;
private String price;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName()
{ return name;
}
public void setName(String name)
{ this.name = name;
}
public String getPrice() {

return price;
}
public void setPrice(String price)
{ this.price = price;
}

public void save(){


try{
bf.Save(id, name, price);
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
AbstractFacade.java
package Session;
import Entity.Book;
import javax.ejb.EJBException;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Stateless
public class BookFacade extends AbstractFacade<Book> {
@PersistenceContext(unitName = "BookJPAPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager()
{ return em;

28
SYCS22 Practical no. Date:
}
public BookFacade() {
super(Book.class);
}
public void Save(String id, String name, String price)
{
try{
Book myBook = new Book(id, name, price);
em.persist(myBook);
}
catch(Exception e) {
throw new EJBException(e.getMessage());
}
}
}
BookFacade.java
package Session;
import Entity.Book;
import javax.ejb.EJBException;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Stateless
public class BookFacade extends AbstractFacade<Book> {
@PersistenceContext(unitName = "BookJPAPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager()
{ return em;

}
public BookFacade() {
super(Book.class);
}
public void Save(String id, String name, String price)
{
try{
Book myBook = new Book(id, name, price);
em.persist(myBook);
}
catch(Exception e) {
throw new EJBException(e.getMessage());
}
}
}

Persistence.xml

<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">

71
SYCS22 Practical no. Date:
<persistence-unit name="BookJPAPU" transaction-type="JTA">

<jta-data-source>java:global/jdbc/Mysql_Test</jta-data-source>

<exclude-unlisted-classes>false</exclude-unlisted-classes>

</persistence-unit>

</persistence>

Index.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"

xmlns:h="http://xmlns.jcp.org/jsf/html"

xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<f:view>
<h:form>
<table border="1">
<thead>
<tr>
<th>Data:</th> <th>Data:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Id:</td> <td><h:inputText value="#{webData.id}"></h:inputText></td>
</tr>
<tr>
<td>Name:</td> <td><h:inputText value="#{webData.name}"></h:inputText></td>
</tr>
<tr>
<td>Price:</td> <td><h:inputText value="#{webData.price}"></h:inputText></td>
</tr>
</tbody>
</table>
<h:commandButton value="submit" action="#{webData.save()}"></h:commandButton>
</h:form>
</f:view>
</h:body>
</html>

72
SYCS22 Practical no. Date:

Output:

73
SYCS22 Practical No.8 Date:
Practical 8
AIM: Develop a hibernate application to store and retrieve employee details in mysql database.

74
SYCS22 Practical No.8 Date:

CODE (index.jsp) :
<%@page import="org.hibernate.ObjectNotFoundException"%>
<%@page import="view.TblEmp"%>
<%@page import="org.hibernate.cfg.Configuration"%>
<%@page import="org.hibernate.Transaction"%>
<%@page import="org.hibernate.Session"%>
<%@page import="org.hibernate.SessionFactory"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form>
Insert Details<br><br>
Emp Name <input type="text" name="ename"><br>
Emp City <input type="text" name="ecity"><br>
<input type="submit" name="eins" value="Submit"><br>
<hr>
</form>
<form>
<hr>
Retrieve Details<br><br>
Emp ID <input type="text" name="eid"><br>
<input type="submit" name="eret" value="Show Emp"><br>
</form>
<form>
<hr><hr>
Update Details <br><br>

75
SYCS22 Practical No.8 Date:
Emp ID <input type="text" name="eid"><br>
Emp Name <input type="text" name="ename"><br>
Emp City <input type="text" name="ecity"><br>
<input type="submit" name="eupd" value="Update"><br>
<hr>
</form>
<form>
<hr>
Delete Details <br><br>
Emp ID <input type="text" name="eid"><br>
<input type="submit" name="edel" value="Show Emp"><br>
</form>
<%!
SessionFactory sf;
Session session;
Transaction tx;

%>

<%
if(request.getParameter("eins")!=null)
{
sf = new Configuration().configure().buildSessionFactory();
this.session= sf.openSession();
tx= this.session.getTransaction();
TblEmp emp = new TblEmp();
emp.setName(request.getParameter("ename"));
emp.setCity(request.getParameter("ecity"));
tx.begin();
this.session.save(emp);
tx.commit();
this.session.close();
out.println("Data Inserted");
}
else if(request.getParameter("eret")!=null)
{
sf = new Configuration().configure().buildSessionFactory();
this.session= sf.openSession();
try{
TblEmp emp=(TblEmp)this.session.load(TblEmp.class,
Integer.parseInt(request.getParameter("eid")));

out.println(emp.getName()+" "+emp.getCity());
}
catch(ObjectNotFoundException e)
{ out.println("No Data Found");
}
this.session.close();

}
else if(request.getParameter("eupd")!=null)
{
sf = new Configuration().configure().buildSessionFactory();
this.session= sf.openSession();
76
SYCS22 Practical No.8 Date:
tx= this.session.getTransaction();
try{
TblEmp emp = new TblEmp();
emp.setId(Integer.parseInt(request.getParameter("eid")));
emp.setName(request.getParameter("ename"));
emp.setCity(request.getParameter("ecity"));
tx.begin();
this.session.update(emp);
tx.commit();
}
catch(ObjectNotFoundException e)
{ out.println("No Data Found");
}
this.session.close();
out.println("Data Inserted");
}
else if(request.getParameter("edel")!=null)
{
sf = new Configuration().configure().buildSessionFactory();
this.session= sf.openSession();
tx= this.session.getTransaction();
TblEmp emp = new TblEmp();
emp.setId(Integer.parseInt(request.getParameter("eid")));
tx.begin();
this.session.delete(emp);
tx.commit();
this.session.close();
out.println("Data Inserted");
}
%>
</body>
</html>

Hibernate-cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"


"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/library?
zeroDateTimeBehavior=conv ertToNull</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">Furkan123</property>
<mapping resource="view/TblEmp.hbm.xml"/>
</session-factory>

77
SYCS22 Practical No.8 Date:
</hibernate-configuration>
Hibernate-revenge.xml

<hibernate-reverse-engineering>

<schema-selection match-catalog="library"/>

<table-filter match-name="tbl_emp"/>

</hibernate-reverse-engineering>

TblEmp.hbm.xml

<hibernate-mapping>

<class name="view.TblEmp" table="tbl_emp" catalog="library" optimistic-lock="version">

<id name="id" type="java.lang.Integer">

<column name="id" />

<generator class="identity" />

</id>

<property name="name" type="string">

<column name="name" length="200" />

</property>

<property name="city" type="string">

<column name="city" length="200" />

</property>

</class>

</hibernate-mapping>

TBlEmp.java

package view;

public class TblEmp implements java.io.Serializable

{ private Integer id;

private String name;

private String city;

public TblEmp() {

public TblEmp(String name, String city)

{ this.name = name;

this.city = city;

78
SYCS22 Practical No.8 Date:
}
public Integer getId()
{ return this.id;
}
public void setId(Integer id)
{ this.id = id;
}
public String getName()
{ return this.name;
}
public void setName(String name)
{ this.name = name;
}
public String getCity() {
return this.city;
}
public void setCity(String city)
{ this.city = city;
}
}
Output:

79
SYCS22 Practical No.8 Date:

80
SYCS22 Practical no. Date:

81

You might also like