Java Cheat Sheet

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

  1. 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" />

83 Replies to “Java Cheat Sheet”

  1. замена замков Вскрытие авто – профессиональная помощь в открытии вашего автомобиля без повреждений кузова и замков. Оперативный выезд и гарантия качества.

  2. https://www.diveboard.com/jasonejohnson11/posts/the-complete-guide-to-choosing-the-right-gas-fireplace-for-your-home-B2YtU2O We went through a fairly long process choosing a gas fireplace during a home renovation, and what stood out the most was how various brands handle heat output and installation details. Some models are clearly designed for aesthetics first, while others put more emphasis on efficiency. I personally found it useful to compare venting options, control systems, and long-term maintenance requirements before choosing a final model. For anyone planning a similar upgrade, it’s worth taking the time to understand how gas fireplaces actually perform during regular use, not just how they appear in marketing images.

  3. La esencia fundamental de AviaMasters es su innovador gameplay aГ©reo. Distinto de la mayorГ­a de juegos de crash, aquГ­ mГЎs allГЎ de ver, sino que tambiГ©n experimentas la tensiГіn de cada elecciГіn.

    aviamasters.nom.es

  4. https://www.reverbnation.com/comfortglow4?profile_view_source=header_icon_nav
    Choosing a heater can be surprisingly detailed once you start comparing brands like Comfort Glow with other home heating options. Differences in construction quality, heating technology, and usability become more noticeable after reviewing real-world experiences.

    I found that looking beyond spec sheets and focusing on how heaters perform in typical household conditions makes the decision easier. Dependable operation, safety features, and even heat tend to matter more than extra features in the long run.

  5. мусорные мешки Мусорные мешки, доступные в различных размерах и материалах, адаптированы для решения широкого спектра задач. От небольших мешков для бытового мусора до крупногабаритных вариантов для промышленных отходов, каждый тип предназначен для определенного применения.

  6. спа-технолог Современные онлайн-платформы предлагают широкий спектр бьюти-профессий, от классических до самых инновационных. Вы можете выбрать программу, соответствующую вашим интересам и целям, будь то спа-технолог, массажист, косметик-эстетист или даже мастер пирсинга. Каждая программа разработана ведущими экспертами отрасли и включает в себя теоретические знания, практические навыки и индивидуальную поддержку преподавателей.

  7. спа Стерлитамак Подарочные сертификаты Стерлитамак – это идеальный способ подарить близким и друзьям заботу о здоровье и красоте. Подарите им возможность насладиться профессиональным массажем, расслабляющей спа программой или другими приятными процедурами. Подарочный сертификат в Стерлитамаке – это универсальный и полезный подарок, который обязательно придется по вкусу каждому.

  8. разработка конструкции упаковки из гофрокартона Упаковка из картона – символ экологичности и заботы о будущем. Картон – возобновляемый ресурс, идеально подходящий для товаров, требующих защиты и одновременно демонстрирующих ответственность производителя перед окружающей средой. Выбирая картон, вы делаете вклад в устойчивое развитие.

  9. 1win сайт 1win В мире азартных развлечений 1win занимает особое место, предлагая пользователям захватывающий опыт ставок и игр. Платформа 1win известна своим разнообразием опций: от спортивных прогнозов до слотов и живого казино. Регистрация проста, а бонусы делают старт еще привлекательнее.

  10. аренда Mercedes V class с водителем на один день mercedes v class аренда с водителем Конкретизируя модель, «mercedes v class аренда с водителем» фокусируется на одном из самых востребованных автомобилей бизнес-класса. Его узнаваемый силуэт и безупречная репутация делают его идеальным инструментом для создания имиджа и решения транспортных задач любой сложности в руках опытного водителя-профессионала.

  11. упаковка картон Разработка коробок из картона – это креативный процесс, сочетающий в себе функциональность и эстетику. Дизайнеры разрабатывают коробки различных форм и размеров, используя современные материалы и технологии печати, чтобы создать упаковку, которая будет привлекать внимание покупателей и защищать товар от повреждений.

  12. промокоды 1win промокоды 1win Соберите коллекцию промокодов 1win для максимальной выгоды. Промокоды 1win на фрибеты или кэшбэк активируются легко и повышают шансы на выигрыш. Следите за обновлениями промокодов 1win, чтобы оставаться в топе игроков с дополнительными преимуществами.

  13. аренда минивэна мерседес с водителем трансфер мерседес москва «Трансфер мерседес москва» — четкий и географически точный запрос. Он отражает потребность в премиальном трансферном обслуживании исключительно в пределах столицы, будь то разовая поездка на встречу или регулярные бизнес-переезды по городу.

  14. стоимость арматуры Арматура В величественном танце создания, где бетон и сталь сплетаются в монолитные объятия, арматура выступает незримым, но всемогущим дирижером. Этот стальной скелет, сокрытый в утробе зданий и мостов, является квинтэссенцией прочности, даря сооружениям долговечность и непоколебимость перед лицом стихии. Словно нервная система, арматура пронизывает бетонное тело, распределяя нагрузки и предотвращая разрушительные трещины, обеспечивая безопасность и комфорт будущих поколений.

  15. арматура 8 Купить Арматуру Принятие решения купить арматуру – это ответственный шаг, определяющий будущее сооружения. Это выбор в пользу сертифицированной стали, надежного поставщика и уверенности в долговечности возводимого объекта.

  16. Если вы хотите глубже разобраться в теме онлайн-казино и понять, на что стоит обращать внимание при выборе платформы, обязательно изучите материал по ссылке https://belygorod.ru/vote/pgs/?top_13238.html. В статье собрана полезная информация, которая помогает избежать типичных ошибок и лучше ориентироваться в мире азартных игр. Такой разбор особенно полезен тем, кто играет регулярно и хочет делать это осознанно.

  17. Онлайн-казино Vavada гарантирует быстрый вход без блокировок.
    Бонусные акции и фриспины помогают получать дополнительные выигрыши.
    После входа доступны приветственные бонусы, что делает старт максимально комфортным.
    Рабочие адреса делают сервис надёжным.
    Узнать подробности и войти можно по ссылке вавада зеркало — приведены инструкции по входу.
    Играйте ответственно, чтобы игра оставалась в удовольствие.

  18. арматура 12 мм Купить Арматуру Принятие решения о покупке – ответственный шаг. «Купить арматуру» – это значит выбрать качество, подтвержденное сертификатами, и надежного партнера, способного обеспечить своевременную поставку.

  19. Hey there! I could have sworn I’ve been to this website before but after reading through some of the post I realized it’s new to me. Anyways, I’m definitely glad I found it and I’ll be book-marking and checking back frequently!

  20. При временных ограничениях доступа поможет вход зеркало, которое обеспечит стабильное соединение с платформой. Зеркальный вход полностью безопасен и защищён шифрованием данных. Все функции личного кабинета работают идентично основному сайту. Переключение между основным доменом и зеркалом не прерывает игровую сессию. Рекомендуется сохранить несколько актуальных адресов для быстрого доступа.

  21. Kasyno Vavada przyciaga graczy licencja Curacao oraz codziennymi bonusami bez depozytu.
    Po szybkiej rejestracji kod promocyjny daje darmowe spiny na topowych slotach z wysokim RTP.
    Turnieje z pula nagrod i rankingami motywuja do aktywnej gry, a blyskawiczne wyplaty buduja zaufanie.
    Aktualne lustra omijaja blokady, wiec dostep do konta pozostaje stabilny 24/7.
    Sprawdz najnowsze promocje i instrukcje aktywacji kodu tutaj: https://markflowerphotography.com/.
    Graj odpowiedzialnie i ustaw limity bankrolu, aby rozrywka pozostala bezpieczna.

  22. Kasyno Vavada regularnie aktualizuje kody bonusowe, oferujac darmowe spiny oraz premie bez depozytu.
    Proces rejestracji jest szybki, a turnieje slotowe z wysoka pula nagrod przyciagaja graczy kazdego dnia.
    Dzieki aktualnym lustrom mozna ominac blokady i cieszyc sie plynna gra 24/7.
    Nowe promocje oraz instrukcje wyplat znajdziesz tutaj: vavada polska.
    Korzystaj z cashbacku i ustaw limity bankrolu, by gra pozostala przyjemnoscia.

Leave a Reply

Your email address will not be published.