EJT Lab Record Arup
EJT Lab Record Arup
AIM: Write a page counter Servlet to display how many times the webpage is
accessed
Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Integer hit = (Integer) application.getAttribute("hitCounter");
if(hit == null || hit==0){
hit = 1;
}else{
hit += 1;
}
application.setAttribute("hitCounter", hit);
out.print("Number of hits = "+ hit);
%>
</body>
</html>
Output:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise- 2
AIM: Write a Servlet program to display the date and time the webpage was last
accessed by any user.
Code:
package test;
import java.io.*;
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet("/pqr")
public class ServletProgram1 extends HttpServlet{
String lastAccessed="Not accessed before";
public static int counter=0;
public void init() {}
public void service(ServletRequest req, ServletResponse res)
throws IOException, ServletException{
PrintWriter pw = res.getWriter();
res.setContentType("text/html");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd
HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
dtf.format(now);
pw.println("---Welcome to this website\n This website has been visited---
"+counter+"Times"+"<br/>"+"Last Visit:"+lastAccessed);
counter++;
lastAccessed=dtf.format(now);
}
public void destroy() {}
Output:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise- 3
AIM: Write a Servlet program that displays the details of a student like a Name,
Roll No, Sex, Semester, Hobbies, and Programming Languages known when a
user submits a form using suitable controls such as text field, combo box, list
box, radio button, checkbox etc.
RegisterServlet.java
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RegisterServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
String fname=req.getParameter("fname");
String lname=req.getParameter("lname");
String gender=req.getParameter("sal");
String sem=req.getParameter("sem");
String hobbies=req.getParameter("hobby");
String plang=req.getParameter("plang");
String roll=req.getParameter("roll");
pw.println("<div style='width:600px;margin:auto;margin-top:50px;'>");
pw.println("<table class='table table-hover table-striped'>");
pw.println("<tr>");
pw.println("<td>Roll NO.</td>");pw.println("<td>" + roll+ "</td>");
pw.println("</tr>");pw.println("<tr>");pw.println("<td>Name</td>");
pw.println("<td>" + fname+" "+lname + "</td>");pw.println("</tr>");
pw.println("<tr>");
pw.println("<td>Gender</td>");pw.println("<td>" + gender + "</td>");
pw.println("</tr>");pw.println("<tr>");
pw.println("<td>Semester</td>");
pw.println("<td>" + sem + "</td>");pw.println("</tr>"); pw.println("<tr>");
pw.println("<td>Hobbies</td>");pw.println("<td>" + hobbies + "</td>");
pw.println("</tr>");pw.println("<tr>");
pw.println("<td>Programing Language</td>");pw.println("<td>" +plang+ "</td>");
pw.println("</tr>");pw.println("</table>");
pw.println("</div>");
pw.close();
}
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID"
version="4.0">
<display-name>ServletRequest</display-name>
<welcome-file-list>
<welcome-file>home.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>default.htm</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>abc</servlet-name>
<servlet-class>com.servlet.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>abc</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
</web-app>
Home.html
<!DOCTYPE html>
<head>
<title> Registration form</title>
</head>
<body style="background: gainsboro;">
<h2 style="size: 20px; text-align: center;">REGISTRATION FORM</h2>
<fieldset>
<div class="content">
<form style="text-align: left"name="SBregister" action="register"
method="post">
<p><b>Name:</b>
<input type="text" placeholder="First Name" name="fname"/>
<input type="text" placeholder="Last Name" name="lname"/><br><br>
<b>Roll No: </b><input type="text" name="roll">
<b>Sex:</b>
<input type="radio" name="sal" id="salu" value="Male">Male.
<input type="radio" name="sal" id="salu1" value="Female">Female.
<input type="radio" name="sal" id="salu2" value="Others">Others.
<b>Semester:</b>
<input type="radio" name="sem" id="sem1" value="Semester 1">Semester 1
<input type="radio" name="sem" id="sem2" value="Semester 2">Semester 2
<input type="radio" name="sem" id="sem3" value="Semester 3">Semester 3
<input type="radio" name="sem" id="sem4" value="Semester 4">Semester 4
<b>Hobbies:</b>
<input type="text" name="hobby" id="hobby"/>
<b>Programming Language:</b>
<select name="plang" id="plang">
<option value="Python">Python</option>
<option value="C++">C++</option>
<option value="C">C</option>
<option value="java">Java</option>
</select>
<input type="submit" style="color: green; float: right" value="Sign Up">
<input type="reset" value="Reset" style="color: red;float: right">
<input type="checkbox" id="tandc"> Agree to the terms and conditions>>>
<a href="lm.html">Learn More</a>
</form>
</fieldset>
</body>
</html>
Output:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise- 4
AIM: Write a Servlet program that validates user login. When a user submits
user id and password using a login form, a Servlet retrieves the same and
validates it against the stored values. Store the values of user id and password
as init parameters in web.xml file.
Home.html
<!DOCTYPE html>
<head>
<title> Registration form</title>
</head>
<body style="background: gainsboro;">
<h2 style="size: 20px; text-align: center;">LOGIN FORM</h2>
<fieldset>
<div class="content">
<form style="text-align: left"name="SBregister" action="register" method="post">
<b>Email:</b><br><input type="email" name="email">
<b>Password : </b><br><input type="password" name="password" >
<input type="submit" style="color: green; float: right" value="Sign In">
<input type="reset" value="Reset" style="color: red;float: right">
</form>
</fieldset>
</body>
</html>
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>ServletRequest</display-name>
<welcome-file-list>
<welcome-file>home.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>default.htm</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>abc</servlet-name>
<servlet-class>com.servlet.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>abc</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
</web-app>
RegisterServlet.java
package com.servlet;
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 RegisterServlet extends HttpServlet{
String email,password;
public void init() {email="[email protected]";password="911411";};
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
String gemail=req.getParameter("email");
String gpassword=req.getParameter("password");
+ "<script
src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js\"></script>\r\n"
+ "\r\n" + "<!-- Popper JS -->\r\n"
pw.println("<div style='width:600px;margin:auto;margin-
top:50px;'>");
pw.println("<table class='table table-hover table-striped'>");
if(!password.equals(gpassword)||!email.equals(gemail)) {
pw.println("<tr>");
pw.println("<td>Password or Email, didn't match</td>");
pw.println("</tr>");
}
else {
pw.println("<tr>");
pw.println("<td>Login Details Macthed <br> Welcome.</td>");
pw.println("</tr>");
pw.println("</table>");
pw.println("</div>");
pw.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException {
// TODO Auto-generated method stub
doGet(req,res);
}
}
Output:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise- 5
home.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body class="container-fluid">
<div class="card" id="div1">
<h2 class="card-header text-center text-light bg-danger">Registration
Form</h2>
<form class="form" action="register" method="get">
<table class="table table-hover table-striped">
<tr><td>Name:</td><td><input type="text" name="name"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
<tr><td>Mobile:</td><td><input type="text" name="mobile"></td></tr>
<tr><td><input type="submit" value="register" class="btn btn-outline-success">
</td><td><input type="reset" value="reset" class="btn btn-outline-danger"></td></tr>
</table>
</form>
</div>
</body>
</html>
RegisterServlet.java
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/register")
public class RegisterServlet extends HttpServlet{
//create the query
private static final String INSERT_QUERY ="INSERT INTO PERSON
(NAME,EMAIL,MOBILE) VALUES(?,?,?)";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException {
//get PrintWriter
PrintWriter pw = res.getWriter();
//set Content type
res.setContentType("text/hmtl");
//read the form values
String name = req.getParameter("name");
String email = req.getParameter("email");
String mobile = req.getParameter("mobile");
//load the jdbc driver
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//create the connection
try(Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/contact","root","");
PreparedStatement ps = con.prepareStatement(INSERT_QUERY);){
//set the values
ps.setString(1, name);
ps.setString(2, email);
ps.setString(3, mobile);
//execute the query
int count = ps.executeUpdate();
if(count==0) {
pw.println("Record not stored into database");
}else {
pw.println("Record Stored into Database")}
}catch(SQLException se) {
pw.println(se.getMessage());
se.printStackTrace();
}catch(Exception e) {
pw.println(e.getMessage());
e.printStackTrace() }
//close the stream
pw.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException {
// TODO Auto-generated method stub
doGet(req, resp);
}
}
StudentDetails.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="06_RespCustDetails.jsp">
Roll No:
<input type="text" name="custID" size="4"><br>
Student Name:
<input type="text" name="custName" size="25"><br>
Gender:
<input type="text" name="locationZip" size="10"><br>
Semester:
<input type="text" name="sem" size="10"><br>
<input type="submit" name="submit" value="Register">
</form>
</body>
</html>
Output:
Sanjay
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise- 6
AIM: Write a JSP program that will search the contact database (developed in
Sl. No.5) using the person’s mobile number and display it.
index.jsp
<%@page import="java.io.PrintWriter"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head><title>TODO supply a title</title></head>
<body>
<div class="container">
<div class="form-group"><h2>Find Person Details</h2></div>
<div class="form-group">
<form method="get" action="servlett">
<div class="form-group">
<h3>Write the Mobile number:</h3>
</div>
<input type="text" name="mobile" >
<input type="submit" value="Search Record">
</form>
</div>
</div>
</div>
</body>
</html>
RegisterServlet.java
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/servlett")
public class RegisterServlet extends HttpServlet
{
int i;
Connection con;
PreparedStatement pst;
ResultSet rs;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
try {
i++;
PrintWriter out = response.getWriter();
response.setContentType("text/html");
String qmobile= request.getParameter("mobile");
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/contact","root","");
pst = con.prepareStatement("select name,email,mobile from person where
mobile=?");
pst.setString(1, qmobile);
rs = pst.executeQuery();
out.println("<table width=60% border= 1 >");
out.println("<tr><td colspan=4 " );
out.println("<center><h2>Result of Search Page</h2></center>");
out.println("</td></tr>");
out.println("<tr>");
out.println("<th>Name</th>");
out.println("<th>Mobile</th>");
out.println("<th>Email</th>");
out.println("</tr>");
while(rs.next()){
out.println("<tr>");
out.println("<td>" + rs.getString("name") + "</td> ");
out.println("<td>" + rs.getString("email") + "</td> ");
out.println("<td>" + rs.getString("mobile") + "</td> ");
out.println("</tr>");}
out.println("</table>")}
catch (ClassNotFoundException ex) {
}catch (Exception e)
{ throw new ServletException("error", e); }
}
public void destory(){
i = 0;
}}
OUTPUT:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise- 7
AIM: Write a JSP program that will accept student details such as name, roll no,
gender, and semester using HTML form. When the form is submitted it will
display the details of the student just submitted. Use a Java Bean to hold the
data.
Student.java
package tube.codingexamples.beans;
public class Student {
//1.1: Create Fields for Customer (Note: Private)
private String custID = "";
private String custName = "";
private String locationZip = "";
private String sem = "";
//1.2: Bean Setter and Getter
public String getCustID() {
return custID}
public void setCustID(String custID) {
this.custID = custID}
public String getCustName() {
return custName;}
public void setCustName(String custName) {
this.custName = custName;}
public String getLocationZip() {
return locationZip}
public void setLocationZip(String locationZip) {
this.locationZip = locationZip}
public String getSem() {
return sem}
public void setSem(String sem) {
this.sem = sem}}
RespCustDetails.jsp
StudentDetails.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!-- Sample 02: Create Form Fields Matching with Bean Fields -->
<form action="06_RespCustDetails.jsp">
Roll No:
<input type="text" name="custID" size="4"><br>
Student Name:
<input type="text" name="custName" size="25"><br>
Gender:
<input type="text" name="locationZip" size="10"><br>
Semester:
<input type="text" name="sem" size="10"><br>
<input type="submit" name="submit" value="Register">
</form>
</body>
</html>
2224100018
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise- 8
AIM: Develop a web application following the MVC model (combine Servlet, JSP and
Java Beans) to develop an employee database. Perform operations such as inserting
employee records, and searching employees by Employee ID.
employeeregister.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Employee Register</title>
</head>
<body>
<div align="center">
<h1>Employee Detail Form</h1>
<form action="<%= request.getContextPath() %>/employeeregister" method="post">
<table style="with: 80%">
<td>Employee Name</td>
<td><input type="text" name="name" /></td>
<td>Employee ID</td>
<td><input type="text" name="id" /></td>
<td>Employee Salary</td>
<td><input type="text" name="salary" /></td>
<td>Employee Address</td>
<td><input type="text" name="address" /></td>
</table><br/>
<input type="submit" value="Submit" />
</form><br/>
<button><a href="RetrieveEmployee.jsp" style="text-decoration: none;color:
black;">Search
Employee</a></button>
</div>
</body>
</html>
employeedetails.jsp
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%
String id = request.getParameter("userid");
String driver = "com.mysql.jdbc.Driver";
String connectionUrl = "jdbc:mysql://localhost:3306/";
String database = "employeedb";
String userid = "student";
String password = "student";
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
%>
<!DOCTYPE html>
<html>
<body>
<h1>Retrieve data from database in jsp</h1>
<table border="1">
<td>Employee Name</td>
<td>Employee ID</td>
<td>Employee Salary</td>
<td>Employee Address</td>
</tr>
<%
try{
connection = DriverManager.getConnection(connectionUrl+database, userid, password);
statement=connection.createStatement();
String sql ="select * from employee";
resultSet = statement.executeQuery(sql);
while(resultSet.next()){
%>
<tr>
<td><%=resultSet.getString("EmpName") %></td>
<td><%=resultSet.getString("EmpID") %></td>
<td><%=resultSet.getFloat("EmpSalary") %></td>
<td><%=resultSet.getString("EmpAddr") %></td>
</tr>
<%
}
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</body>
</html>
RetrieveEmployee.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Employee Details</title>
</head>
<body>
<form action=findEmployee method=post>
<table>
<tr>
<td>Enter Employee ID:</td><td><input type="text" name=empId> </td></tr>
<tr><td><input type="submit" value=submit> </td></tr>
</table>
</form><br/>
<a href="employeeregister.jsp" >Register Employee</a>
findEmployee.java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/findEmployee")
public class findEmployee extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
try {
PrintWriter out=response.getWriter();
response.setContentType("text/html");
Class.forName("com.mysql.cj.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/employeedb","student","stu
dent");
String empId=request.getParameter("empId");
PreparedStatement ps=con.prepareStatement("select * from employee where EmpID=?");
ps.setString(1,empId);
ResultSet rs=ps.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();
if(rs.next()){
for (int i = 1; i <= columnsNumber; i++) {
if (i > 1)
out.println("<br>");
String columnValue = rs.getString(i);
out.println(rsmd.getColumnName(i) + ":"+ columnValue + "\n ")}
out.println("\n")}
else {
out.println("No Data Found !!!<br>");
out.println("<a href=RetrieveEmployee.jsp>Please Try again!</a>"); }
}catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException e) {
e.printStackTrace();
}}}
EmployeeServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/employeeregister")
public class EmployeeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private EmployeeDao employeeDao;
public void init() {
employeeDao = new EmployeeDao()}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String Name = request.getParameter("name");
String Id = request.getParameter("id");
Float Salary =Float.parseFloat(request.getParameter("salary"));
String Address = request.getParameter("address");
Employee employee = new Employee();
employee.setName(Name);
employee.setId(Id);
employee.setSalary(Salary);
employee.setAddress(Address);
try {
int result = employeeDao.registerEmployee(employee);
if(result>0) {
out.println("You are successfully registered!!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
employeedisplay.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class employeedisplay extends HttpServlet
{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws
IOException,
ServletException{
PrintWriter out = res.getWriter();
res.setContentType("text/html");
out.println("<html><body>");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/studentdb", "student",
"student");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from employee");
out.println("<table border=1 width=50% height=50%>");
out.println("<tr><th>EmpId</th><th>EmpName</th><th>Salary</th><tr>");
while (rs.next()){
String name = rs.getString("EmpName");
String id = rs.getString("EmpID");
String salary = Float.toString(rs.getFloat("EmpSalary"));
String address = rs.getString("EmpAddr");
out.println("<tr><td>" + name + "</td><td>" + id + "</td><td>" + salary +
"</td></tr>" + address
+ "</td></tr>")}
out.println("</table>");
out.println("</html></body>");
con.close()}
catch (Exception e){
out.println("error");
}
}
}
EmployeeDao.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class EmployeeDao {
public int registerEmployee(Employee employee) throws ClassNotFoundException {
String INSERT_USERS_SQL = "INSERT INTO employee" +
" (EmpName, EmpID, EmpSalary, EmpAddr) VALUES " +
" (?, ?, ?, ?);";
int result = 0;
Class.forName("com.mysql.jdbc.Driver");
try (Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/employeedb", "student", "student");
// Step 2:Create a statement using connection object
PreparedStatement preparedStatement =
connection.prepareStatement(INSERT_USERS_SQL))
{
preparedStatement.setString(1, employee.getName());
preparedStatement.setString(2, employee.getId());
preparedStatement.setFloat(3, employee.getSalary());
preparedStatement.setString(4, employee.getAddress());
System.out.println(preparedStatement);
result = preparedStatement.executeUpdate();
} catch (SQLException e) {
Employee.java
import java.io.Serializable;
public class Employee implements Serializable
private static final long serialVersionUID = 1L;
private String Name;
private String Id;
private Float Salary;
private String Address;
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
public String getId() {
return Id;
}
public void setId(String Id) {
this.Id = Id;
}
public Float getSalary() {
return Salary;
}
public void setSalary(Float Salary) {
this.Salary = Salary;
}
public String getAddress() {
return Address;
}
public void setAddress(String Address) {
this.Address = Address;
}
OUTPUT:
}
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise 9
Using Java Server Faces (JSF) technology, develop an application to accept student
details and display it. Use appropriate components such as text field, radio button,
check box, combo box, list box to accept student name, gender, semester, languages
known, and hobbies.
Code:
Managed Bean (StudentBean.java):
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
Public class StudentBean
{
private String name;
private String gender;
private String semester;
private String[] languagesKnown;
private String[] hobbies;
public String submit() {
// Process student details (e.g., store in database)
return "display"; // Navigate to display page
}
}
<h2>Student Details</h2>
<h:panelGrid columns="2">
<h:outputLabel value="Name:"/>
<h:outputText value="#{studentBean.name}"/>
</h:panelGrid>
</h:body>
</
OUTPUT:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise 10
Develop a JSF application for login. Hardcode the userid and password values in the
managed bean. If the login is success, it displays a success page and if the login fails it
will display the login form with the error message. Define page navigation in the
faces config.xml for page navigation.
@ManagedBean
@SessionScoped
public class LoginBean
{
private String username;
private String password;
private String errorMessage;
xmlns="http://www.w3.org/1999/xhtml
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Login</title>
</h:head>
<h:body>
<h:form>
<h:panelGridcolumns="2">
<h:outputLabelvalue="Username:"/>
<h:inputTextvalue="#{loginBean.username}"/>
<h:outputLabelvalue="Password:"/>
<h:inputSecretvalue="#{loginBean.password}"/>
<h:commandButtonvalue="Login" action="#{loginBean.login}"/>
</h:panelGrid>
<h:outputText value="#{loginBean.errorMessage}" style="color: red;"/>
</h:form>
</h:body>
</html>
Use code with caution. Learn more
3. Success Page (success.xhtml):
XML
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Success</title>
</h:head>
<h:body>
<h:outputText value="Login successful!"/>
</h:body>
</html>
Use code with caution. Learn more
4. faces-config.xml:
XML
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
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-facesconfig_2_2.xsd"
version="2.2">
<navigation-rule>
<from-view-id>/login.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/success.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
OUTPUT:
Login Page:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise 11
Develop a JSF application for simple arithmetic operations using two numbers. The
webpage will have two input text fields to accept the numbers, one output text field to
display the result and four command buttons to perform the operations. Use number
converter as required by the application.
Code:
Java
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
@ManagedBean
@SessionScoped
public class ArithmeticBean {
private double number1;
private double number2;
private double result;
public void add(){
result = number1 + number2;
}
public void subtract(){
result = number1 - number2;
}
public void multiply(){
result = number1 * number2;
}
public void divide(){
result = number1 / number2;
}
}
@FacesConverter("numberConverter")
public class NumberConverter implements Converter
{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String
value){
try {
return Double.parseDouble(value);
} catch (NumberFormatException e) {
return null;
}
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value{
return value == null ? "" : value.toString();
}
}
<h:outputLabel value="Result:"/>
<h:outputText value="#{arithmeticBean.result}"/>
</h:panelGrid>
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise 12
Develop a JSF application to check if a student scores a pass or fail in a subject. The
webpage will have one input text field to accept the score, one output text field to
display the result and one command button to submit data. Use range validator as
required by the application to validate a student’s score between 0 and 100.
Code:
Java
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class StudentScoreBean {
private int score;
private String result;
OUTPUT:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise 13
Develop JSF application using AJAX
Code:
HelloWorld.java
package com.w3spoint.business;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
/**
* Managed bean.
* @author w3spoint
*/
@ManagedBean(name="helloWorld")
@SessionScoped
public class HelloWorld {
//Managed bean property
private String userName;
//Getter - setters
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getHelloMessage() {
if(userName == null || userName.equals("")){
return "";
}else{
return "Hello " + userName;
}
}
}
faces-config.xml
<?xml version="1.0" encoding="windows-1252"?>
<faces-config version="2.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
</faces-config>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>faces</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>faces</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
</web-app>
helloworld.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!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://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>JSF hello world example using ajax.</title>
</h:head>
<h:body>
<h2>JSF hello world example using ajax.</h2>
<h:form>
<h:inputText id="name" value="#{helloWorld.userName}"/>
<br/> <br/>
<h:commandButton value="Say Hello">
<f:ajax execute="name" render="sayHello" />
</h:commandButton>
<h2>
<h:outputText id="sayHello"
value="#{helloWorld.helloMessage}"/>
</h2>
</h:form>
</h:body>
</html>
OUTPUT:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025
Exercise 14
Code:
CalculateBean
package net.roseindia.ejb3.stateless;
import java.math.*;
import javax.ejb.Remote;
import java.lang.annotation.*;
@Remote
public interface CalculatorRemote {
public float add(float x, float y);
public float subtract(float x, float y);
public float multiply(float x, float y);
public float division(float x, float y);
}
Enterprise Bean Class:
package net.roseindia.ejb3.stateless;
import java.math.*;
import javax.ejb.Stateless;
import javax.ejb.Remote;
@Stateless(name="CalculatorBean")
@Remote(CalculatorRemote.class)
public class CalculatorBean implements CalculatorRemote{
public float add(float x, float y){
return x + y;
}
public float subtract(float x, float y){
return x - y;
}
public float multiply(float x, float y){
return x * y;
}
public float division(float x, float y){
return x / y;
}}
form.jsp
<html>
<head>
<title>Calculator</title>
</head>
<body bgcolor="pink">
<h1>Calculator</h1>
<hr>
<form action="WebClient.jsp" method="POST">
<p>Enter first value:
<input type="text" name="num1" size="25"></p>
<br>
<p>Enter second value:
<input type="text" name="num2" size="25"></p>
<br>
<b>Seclect your choice:</b><br>
<input type="radio" name="group1" value ="add">Addition<br>
<input type="radio" name="group1" value ="sub">Subtraction<br>
<input type="radio" name="group1" value ="multi">Multiplication<br>
<input type="radio" name="group1" value ="div">Division<br>
<p>
<input type="submit" value="Submit">
<input type="reset" value="Reset"></p>
</form>
</body>
</html>
OUTPUT:
Submitted by:
Name: Arup Dash
Regd No.: 2224100025