Softwares to Install
JDK 11
https://www.oracle.com/in/java/technologies/javase-jdk11-downloads.html
Apache Tomcat Server (version 9)
https://tomcat.apache.org/download-90.cgi
Eclipse EE (2021)
https://www.eclipse.org/downloads/packages/release/neon/3/eclipse-ide-java-ee-developers
Xampp for MySQL (latest version)
https://www.apachefriends.org/download.html
Postman for REST API
https://www.postman.com/downloads/
Addition of Two Numbers
class Main {
public static void main(String args[]) {
System.out.println(args[0]);
System.out.println(args[1]);
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[1]);
int add = num1 + num2;
System.out.println(String.format("%s + %s = %s", num1, num2, add));
}
}
Inheritance
class Bank {
protected int balance;
public Bank(int bal) {
this.balance = bal;
System.out.println(String.format("Account opened with Balance: %s", this.balance));
}
public void deposit(int amt) {
System.out.println(String.format("Deposit Amount: %s", amt));
this.balance += amt;
}
public void withdraw(int amt) {
System.out.println(String.format("Withdraw Amount: %s", amt));
this.balance -= amt;
}
public void showBalance() {
System.out.println(String.format("Available Balance: %s", this.balance));
}
}
class HDFC extends Bank {
public HDFC(int bal) {
super(bal);
}
}
class SBI extends Bank {
public SBI(int bal) {
super(bal);
}
public void withdraw(int amt) {
super.withdraw(amt);
super.balance -= 20;
}
}
class Main {
public static void main(String args[]) {
Bank bobj = new Bank(1000);
bobj.showBalance();
bobj.deposit(500);
bobj.showBalance();
bobj.withdraw(300);
bobj.showBalance();
System.out.println("====================");
HDFC hobj = new HDFC(2000);
hobj.showBalance();
hobj.deposit(500);
hobj.showBalance();
hobj.withdraw(300);
hobj.showBalance();
System.out.println("====================");
SBI sobj = new SBI(3000);
sobj.showBalance();
sobj.deposit(500);
sobj.showBalance();
sobj.withdraw(300);
sobj.showBalance();
}
}
Exception Handling
class Main {
public static void main(String args[]) {
try {
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[1]);
try {
int div = num1 / num2;
System.out.println(String.format("Division of %s and %s is %s", num1, num2, div));
} catch (Exception e) {
System.out.println(e);
}
} catch (ArrayIndexOutOfBoundsException aie) {
System.out.println(aie);
} catch (Exception e) {
System.out.println(e);
}
}
}
Servlet Demo
Servlet Life Cycle

- form.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Addition of 2 numbers</title>
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x"
crossorigin="anonymous">
</head>
<body class="container">
<form action="CalcServlet" class="m-5">
<div class="row">
<div class="col">Number 1</div>
<div class="col">
<input type="text" name="num1" placeholder="Enter number" autofocus>
</div>
</div>
<div class="row">
<div class="col">Number 1</div>
<div class="col">
<input type="text" name="num2" placeholder="Enter number">
</div>
</div>
<div class="row">
<div class="col">
<input class="btn btn-primary" type="submit" value="Calculate" />
</div>
</div>
</form>
</body>
</html>
2. CalcServlet
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;
/**
* Servlet implementation class AddServlet
*/
@WebServlet("/CalcServlet")
public class CalcServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CalcServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
response.getWriter().write(String.format("%s + %s = %s", num1, num2, num1+num2));
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
response.getWriter().write(String.format("%s * %s = %s", num1, num2, num1*num2));
}
protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
response.getWriter().write(String.format("%s - %s = %s", num1, num2, num1-num2));
}
protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
response.getWriter().write(String.format("%s / %s = %s", num1, num2, num1/num2));
}
protected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
response.getWriter().write(String.format("%s %% %s = %s", num1, num2, num1%num2));
}
}
DATABASE SQL
CREATE DATABASE
CREATE DATABASE company;
CREATE TABLE
CREATE TABLE users(
id INT,
NAME VARCHAR(100) NOT NULL,
age TINYINT NOT NULL,
city VARCHAR(200) NOT NULL
);
ALTER TABLE
ALTER TABLE
users MODIFY id INT PRIMARY KEY AUTO_INCREMENT;
MySQL JDBC
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class CRUDLDemo {
public static void main(String args[]) {
String conn_str = "jdbc:mysql://localhost:3306/company";
String dbusername = "root";
String dbpassword = "";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(conn_str, dbusername, dbpassword);
String select_sql = "SELECT * FROM users";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(select_sql);
while (rs.next()) {
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("name"));
System.out.println(rs.getInt("age"));
System.out.println(rs.getString("city"));
}
// String insert_sql = "INSERT INTO users VALUES (NULL, 'Priyanka', 30, 'Mumbai', NOW(), NOW())";
// Statement stmt = conn.createStatement();
// int result = stmt.executeUpdate(insert_sql);
// System.out.println(result);
// String delete_sql = "DELETE FROM users WHERE id = 3";
// Statement stmt = conn.createStatement();
// int result = stmt.executeUpdate(delete_sql);
// System.out.println(result);
// String update_sql = "UPDATE users SET city = 'Panvel' WHERE id = 2";
// Statement stmt = conn.createStatement();
// int result = stmt.executeUpdate(update_sql);
// System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
select.jsp
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
String conn_string = "jdbc:mysql://localhost:3306/company";
String db_username = "root";
String db_password = "";
Connection conn = null;
try{
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(conn_string, db_username, db_password);
} catch(Exception e) {
out.println(e);
}
String select_sql = "SELECT * FROM users";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(select_sql);
while(rs.next()) {
out.println(String.format("Id: %s | Name: %s | Age: %s | City: %s<br>", rs.getInt("id"), rs.getString("name"), rs.getInt("age"), rs.getString("city")));
}
%>
insert.jsp
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%
String conn_string = "jdbc:mysql://localhost:3306/company";
String db_username = "root";
String db_password = "";
Connection conn = null;
try{
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(conn_string, db_username, db_password);
} catch(Exception e) {
out.println(e);
}
String insert_sql = "INSERT INTO users VALUES (NULL, 'Priyanka', 30, 'Mumbai', NOW(), NOW())";
Statement stmt = conn.createStatement();
int result = stmt.executeUpdate(insert_sql);
if(result == 1) {
out.println("Record inserted successfully...");
} else {
out.println("Something went wrong...");
}
%>
update.jsp
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%
String conn_string = "jdbc:mysql://localhost:3306/company";
String db_username = "root";
String db_password = "";
Connection conn = null;
try{
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(conn_string, db_username, db_password);
} catch(Exception e) {
out.println(e);
}
String update_sql = "UPDATE users SET name = 'Palkar' WHERE id = 4";
Statement stmt = conn.createStatement();
int result = stmt.executeUpdate(update_sql);
if(result == 1) {
out.println("Record updated successfully...");
} else {
out.println("Something went wrong...");
}
%>
delete.jsp
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%
String conn_string = "jdbc:mysql://localhost:3306/company";
String db_username = "root";
String db_password = "";
Connection conn = null;
try{
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(conn_string, db_username, db_password);
} catch(Exception e) {
out.println(e);
}
String delete_sql = "DELETE FROM users WHERE id = 4";
Statement stmt = conn.createStatement();
int result = stmt.executeUpdate(delete_sql);
if(result == 1) {
out.println("Record deleted successfully...");
} else {
out.println("Something went wrong...");
}
%>
functions.jsp
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%!
public Connection getConnection() {
String conn_string = "jdbc:mysql://localhost:3306/company";
String db_username = "root";
String db_password = "";
Connection conn = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(conn_string, db_username, db_password);
} catch (Exception e) {
System.out.println(e);
}
return conn;
}
public void authorize(HttpSession session, HttpServletResponse response) {
if(session.getAttribute("username") == null) {
try {
response.sendRedirect("login_form.jsp?msg=Please login to access this page");
} catch(Exception e) {
e.printStackTrace();
}
}
}
%>
include functions and header
<%@include file="functions.jsp" %>
<jsp:include page="header.jsp" />