Professional Documents
Culture Documents
UTTAR PRADESH
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
// AuthServlet.java
package com.example.LAB01;
import java.io.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.*;
<head>
<title>Login Page</title>
<style>
.form-container {
max-width: 300px;
min-height: 150px;
background-color: #f2f2f2;
padding: 20px;
border-radius: 10px;
margin: 100px auto;
}
input {
display: block;
margin: 10px auto;
padding: 2px;
width: 200px;
}
</style>
</head>
<body>
<div class="form-container">
<form action="auth">
<input type="text" name="fname" id="fname" placeholder="First Name">
<input type="text" name="lname" id="lname" placeholder="Last Name">
<input type="submit" value="Get" formmethod="GET" />
<input type="submit" value="Post" formmethod="POST" />
</form>
</div>
</body>
</html>
// Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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"
version="4.0">
<servlet>
<servlet-name>auth</servlet-name>
<servlet-class>com.example.LAB01.AuthServlet</servlet-class>
<init-param>
<param-name>message</param-name>
<param-value>Name recorder</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>auth</servlet-name>
<url-pattern>/auth</url-pattern>
</servlet-mapping>
</web-app>
Output:
Result:
A basic webpage displaying all the details was created.
Experiment-2
Aim:
Write a program to provide database connectivity using Database Driver to a Student table to insert,
update, delete data using Servlets.
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Student Form</title>
</head>
<body>
<h1>Student Form</h1>
<div class="form-container">
<form id="s-form">
<label for="fname"></label><input type="text" placeholder="First Name"
name="fname" id="fname" required />
<label for="lname"></label><input type="text" placeholder="Last Name"
name="lname" id="lname" required />
<label for="course"></label><input type="text" placeholder="Course"
name="course" id="course" required />
<button type="submit" id="submit">Add</button>
</form>
<a href="pages/display.jsp">View Records</a>
</div>
</body>
<script>
const submitButton = document.getElementById('submit');
submitButton.addEventListener('click', handleSubmit);
console.log(response.status);
if (response.status == 200){
form.reset();
alert("Response was added successfully");
}
}
</script>
</html>
Display.jsp
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Display</title>
<style>
</head>
<body>
<table id="s-table">
<tr>
<th>
ID
</th>
<th>
First Name
</th>
<th>
Last Name
</th>
<th>
Course
</th>
</tr>
</table>
<a href="/">Back</a>
</body>
<script>
function createTable(data){
const table = document.getElementById('s-table');
let rows = 1;
for (let student of data){
const row = table.insertRow(rows);
rows += 1;
const id = row.insertCell(0);
id.innerText = student['_id'];
</html>
DatabaseConnector.java
package com.ajp.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
StudentDatabaseConnector.java
package com.ajp.database;
import com.ajp.model.Student;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
public StudentDatabaseConnector(){
try {
DatabaseConnector db = new DatabaseConnector();
Connection con = db.getConnection();
PreparedStatement insert = con.prepareStatement(query);
insert.setString(1, student.getFname());
insert.setString(2, student.getLname());
insert.setString(3, student.getCourse());
insert.executeUpdate();
insert.close();
con.close();
} catch (SQLException se) {
System.out.println(se.getClass().getName() + ": " + se.getMessage());
}
}
try{
DatabaseConnector db = new DatabaseConnector();
Connection con = db.getConnection();
while(stud.next()){
Student s = new Student();
s.set_id(stud.getInt("_id"));
s.setFname(stud.getString("fname"));
s.setLname(stud.getString("lname"));
s.setCourse(stud.getString("course"));
students.add(s);
}
get.close();
con.close();
} catch (SQLException se) {
System.out.println(se.getClass().getName() + ": " + se.getMessage());
}
return students;
}
}
Add.java
package com.ajp.lab02;
import com.ajp.database.StudentDatabaseConnector;
import com.ajp.model.Student;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.stream.Collectors;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("application/json");
try{
JSONObject body = getPayload(request);
s.setFname((String)body.get("fname"));
s.setLname((String)body.get("lname"));
s.setCourse((String) body.get("course"));
}catch(IOException|ParseException e){
System.out.println(e.getClass().getName() + ": " + e.getMessage());
}
StudentDatabaseConnector sdb = new StudentDatabaseConnector();
sdb.addStudent(s);
response.setStatus(200);
request.getRequestDispatcher("").forward(request, response);
}
return payload;
}
}
Display.java
package com.ajp.lab02;
import com.ajp.database.StudentDatabaseConnector;
import com.ajp.model.Student;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import java.io.*;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
for(Student s: list){
JSONObject student = new JSONObject();
student.put("_id", s.get_id());
student.put("fname", s.getFname());
student.put("lname", s.getLname());
student.put("course", s.getCourse());
res.add(student);
}
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>Employee Records</title>
</head>
<body>
<form action="add" method="post">
<input type="number" name="_id" id="_id" placeholder="Employee ID" required />
<input type="text" name="name" id="name" placeholder="Name" required />
<input type="email" name="email" id="email" placeholder="Email" required />
<button type="submit">Submit</button>
</form>
<hr>
<table id="emp-table">
<tr>
<th>Employee ID</th>
<th>Name</th>
<th>Email</th>
<th>Action</th>
</tr>
</table>
</body>
<script>
function createTable(data){
const table = document.getElementById('emp-table');
let rows = 1;
for (let employee of data){
const row = table.insertRow(rows);
rows += 1;
const id = row.insertCell(0);
id.innerText = employee['_id'];
}
}
function deleteHandler(event){
const _id = event.target.attributes.getNamedItem("_id").value;
const name = event.target.attributes.getNamedItem("name").value;
const email = event.target.attributes.getNamedItem("email").value;
Get.java
package com.ajp.EmployeeRecords.View;
import com.ajp.EmployeeRecords.Database.EmployeeDatabaseConnector;
import com.ajp.EmployeeRecords.Model.Employee;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;
response.setStatus(200);
response.setContentType("application/json");
EmployeeDatabaseConnector empDB = new EmployeeDatabaseConnector();
Vector<Employee> list = empDB.getAll();
for(Employee e: list){
JSONObject employee = new JSONObject();
employee.put("_id", e.getid());
employee.put("name", e.getName());
employee.put("email", e.getEmail());
res.add(employee);
}
Add.java
package com.ajp.EmployeeRecords.View;
import com.ajp.EmployeeRecords.Database.EmployeeDatabaseConnector;
import com.ajp.EmployeeRecords.Model.Employee;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
response.setStatus(200);
response.sendRedirect("/");
}
}
Delete.java
package com.ajp.EmployeeRecords.View;
import com.ajp.EmployeeRecords.Database.EmployeeDatabaseConnector;
import com.ajp.EmployeeRecords.Model.Employee;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setStatus(200);
response.setContentType("application/json");
EmployeeDatabaseConnector empDB = new EmployeeDatabaseConnector();
empDB.delete(e);
response.setStatus(200);
}
}
Output:
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Student Form</title>
</head>
<body>
<h1>Login Form</h1>
<div class="form-container">
<form id="form" action="auth" method="GET">
<label for="username"></label><input type="text" placeholder="Username"
name="username" id="username" required />
<label for="password"></label><input type="password" placeholder="Password"
name="password" id="password" required />
<button type="submit" id="submit">Login</button>
</form>
</div>
</body>
</html>
Auth.java
package com.ajp.cookie;
import com.ajp.cookie.utils.Encrypt;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
response.addCookie(cookie);
try{
PrintWriter out = response.getWriter();
out.print("<html><head><title>Cookie</title></head><body>");
out.print("Your login details are encrypted and saved in a cookie <br />");
out.print("<a href=\"view\">Click here to view your details. </a>");
out.print("</body></html>");
}catch(Exception e){
e.printStackTrace();
}
}
View.java
package com.ajp.cookie;
import com.ajp.cookie.utils.Encrypt;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>Cookies</title>
</head>
<body>
<br/>
<a href="cookie">Click here to write cookies</a>
</body>
</html>
Cookie.java
package com.example.persi;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
response.addCookie(ck1);
response.addCookie(ck2);
response.sendRedirect("/");
}
}
Output:
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
View.java
package com.ajp.cookieDemo;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
response.setStatus(200);
int visit;
String visitor;
if (hash.get("visit" ) == null){
visit = 1;
visitor = "New Visitor";
}
else if (Integer.parseInt(hash.get("visit").getValue())== 1 ){
visit = 2;
visitor = "Repeat Visitor";
}
else{
visit = 3;
visitor = "Frequent Visitor";
}
}catch(Exception e){
e.printStackTrace();
}
}
}
Output:
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix = "s" uri = "/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<title>Employee Form</title>
</head>
<body>
<s:form action = "/employee" method = "post">
<s:textfield name = "name" label = "Name" size = "20" />
<s:textfield name = "age" label = "Age" size = "20" />
<s:submit name = "submit" label = "Submit" align="center" />
</s:form>
</body>
</html>
Success.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title>Success</title>
</head>
<body>
Employee Information is captured successfully.
</body>
</html>
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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"
version="4.0">
<display-name>Struts 2</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<struts>
<constant name = "struts.devMode" value = "true" />
<package name = "emp" extends = "struts-default">
<action name = "employee"
class = "com.example.struts.Employee"
method = "execute">
<result name = "input">/index.jsp</result>
<result name = "success">/success.jsp</result>
</action>
</package>
</struts>
Employee.java
package com.example.struts;
import com.opensymphony.xwork2.ActionSupport;
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Calculator</title>
</head>
<body bgcolor="lightgreen">
<h1>Basic Operations</h1>
<hr>
Result.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="com.ajp.ejbex.*, javax.naming.*"%>
<%@ page import="java.util.Properties" %>
<%!
private CalculatorBeanInterface ops = null;
float result = 0;
<%
try {
String s1 = request.getParameter("num1");
String s2 = request.getParameter("num2");
String s3 = request.getParameter("group1");
System.out.println(s3);
if (s3.equals("add")) {
result = ops.add(num1, num2);
} else if (s3.equals("sub")) {
result = ops.subtract(num1, num2);
} else if (s3.equals("multi")) {
result = ops.multiply(num1, num2);
} else {
result = ops.divide(num1, num2);
}
%>
<p>
<b>The result is:</b> <%= result%>
<p>
<%
}
}// end of try
catch (Exception e) {
e.printStackTrace();
//result = "Not valid";
}
%>
CalculatorBeanInterface.java
package com.ajp.ejbex;
import javax.ejb.Remote;
@Remote
public interface CalculatorBeanInterface {
public int add(int a, int b);
CalculatorBean.java
package com.ajp.ejbex;
import javax.annotation.Resource;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.inject.Named;
@Stateless(name = "CalculatorBean")
@Named("MyBean")
public class CalculatorBean implements CalculatorBeanInterface {
@Resource
private SessionContext context;
}
Output:
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Ejb3 Stateful Tutorial</title>
</head>
<body bgcolor="#FFFFCC">
Form.jsp
<%--
Document : form
Created on : Mar 5, 2022, 12:28:24 PM
Author : Administrator
--%>
<body>
<h1>Bank Transaction Request Form</h1>
<hr><br>
<table>
<form action="webclient.jsp" method="POST">
<tr><td></tr></td>
<tr><td>Enter the amount in rupees:
<input type="text" name="amt" size="10"></tr></td>
<br>
<tr><td><b>Select your choice:</b></tr></td>
<tr><td><input type="radio" name="group1" value ="dep">Deposit</tr></td>
<tr><td><input type="radio" name="group1" value ="with">Withdraw<br></tr></td>
<tr><td>
<input type="submit" value="Transmit">
<input type="reset" value="Reset"></tr></td>
<tr><td></tr></td>
</form>
</table>
</body>
</html>
WebClient.jsp
<%--
Document : WebClient
Created on : Mar 5, 2022, 12:25:07 PM
Author : Administrator
--%>
<%!
public BankInterface account = null;
float bal=0;
try {
String s1 = request.getParameter("amt");
String s2 = request.getParameter("group1");
if ( s1 != null) {
Float amt = new Float(s1);
if(s2.equals("dep"))
bal=account.deposit(amt.floatValue());
else if(s2.equals("with"))
bal=account.withdraw(amt.floatValue());
else
%>
<p>Please select your choice</p>
<%
}
else
%>
<br>Please enter the amount<br>
<p>
The Transaction is complete<br>
<b>Your Current Balance is:</b> <%= bal%>
<p>
<%
}// end of try
catch (Exception e) {
e.printStackTrace ();
}
%>
BankInterface.java
package com.ajp.Stateful;
import javax.ejb.Local;
import javax.ejb.Stateful;
@Local
public interface BankInterface extends Stateful {
BankBean.java
package com.ajp.Stateful;
import javax.ejb.Stateful;
import java.lang.annotation.Annotation;
@Stateful
public class BankBean implements BankInterface{
private float balance = 0;
@Override
public String name() {
return null;
}
@Override
public String mappedName() {
return null;
}
@Override
public String description() {
return null;
}
@Override
public boolean passivationCapable() {
return false;
}
@Override
public Class<? extends Annotation> annotationType() {
return null;
}
}
Output:
Software used:
IntelliJ Idea Ultimate, Java 15 and Java EE 8
Source Code:
Index.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>Employee</title>
</head>
<body>
<form action="add" method="POST">
<input type="text" placeholder="Name" name="name" id="name" required/>
<input type="number" placeholder="ID" name="_id" id="_id" required/>
<button type="submit">Submit</button>
</form>
</body>
</html>
EmployeeEntity.java
package entity;
import javax.persistence.*;
import java.util.Objects;
@Entity
@Table(name = "employee", schema = "entity")
public class EmployeeEntity {
private int id;
private String name;
@Id
@Column(name = "_id")
public int getId() {
return id;
}
@Basic
@Column(name = "name")
public String getName() {
return name;
}
return true;
}
@Override
public int hashCode() {
int result = id;
result = 31 * result + (name != null ? name.hashCode() : 0);
return result;
}
}
EmployeeBeanInterface.java
package com.ajp.Entity;
import entity.EmployeeEntity;
import javax.ejb.Local;
@Local
public interface EmployeeBeanInterface {
void add(EmployeeEntity employee);
}
EmployeeBean.java
package com.ajp.Entity;
import entity.EmployeeEntity;
import javax.ejb.Stateless;
import javax.persistence.*;
@Stateless
public class EmployeeBean implements EmployeeBeanInterface{
@Override
public void add(EmployeeEntity employee) {
EntityManagerFactory entityManagerFactory =
Persistence.createEntityManagerFactory("default");
EntityManager entityManager = entityManagerFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
try {
transaction.begin();
entityManager.persist(employee);
transaction.commit();
} finally {
if (transaction.isActive()) {
transaction.rollback();
}
entityManager.close();
entityManagerFactory.close();
}
}
}
AddServlet.java
package com.ajp.Entity;
import entity.EmployeeEntity;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Properties;
@WebServlet(name="AddServlet", value="/add")
public class AddServlet extends HttpServlet {
@Override
public void init(ServletConfig config){
Properties p = new Properties();
p.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.core.LocalInitialContextFactory");
try {
InitialContext ic = new InitialContext(p);
emp = (EmployeeBeanInterface) ic.lookup("EmployeeBeanLocal");
} catch (NamingException e) {
e.printStackTrace();
}
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response){
Integer ID = Integer.parseInt(request.getParameter("_id"));
String name = request.getParameter("name");
emp.add(employee);
}
}
Output: