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" />
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
ко ланта ко ланта
Hi there, I wish for to subscribe for this web site to get most up-to-date updates, so where can i do it please help.
byueuropaviagraonline
цветы оптом в москве дешево склад с доставкой Заказать живые розы быстро
замена замков Вскрытие авто – профессиональная помощь в открытии вашего автомобиля без повреждений кузова и замков. Оперативный выезд и гарантия качества.
переезд на краби краби таиланд обзор
https://auto.qa/rent/car/
скачать русский тикток мод русский тикток мод
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.
хостес в корее кто такая хостес в корее
Зеркала для ванных Поворотное зеркало с подсветкой: удобное зеркало с подсветкой и возможностью поворота для идеального макияжа.
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
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.
https://pawndetroit.com/
https://lagodigarda.com/
Лучшие тексты и рецензии о книгах Подборки литературных романов и острая критика современной прозы
Зеркала для салонов Зеркало коридор – визуально расширьте пространство и добавьте света в свою прихожую с помощью наших зеркал для коридоров.
https://users.software.informer.com/1xbet_free_promo_code_today_philippines/
https://www.ttlxshipping.com/en/forum/topic/1473/%E0%B8%A3%E0%B8%B1%E0%B8%9A-pre-order-%E0%B9%80%E0%B8%A7%E0%B9%87%E0%B8%9A-max-lu.taobao-%E0%B8%A3%E0%B8%B6%E0%B9%80%E0%B8%9B%E0%B8%A5%E0%B9%88%E0%B8%B2%E0%B8%84%E0%B9%88%E0%B8%B0&p=263
пошив штор на заказ Шторы в коттедж на заказ – это возможность подчеркнуть индивидуальность загородного дома, создать гармоничное сочетание интерьера и экстерьера.
мусорные мешки Мусорные мешки, доступные в различных размерах и материалах, адаптированы для решения широкого спектра задач. От небольших мешков для бытового мусора до крупногабаритных вариантов для промышленных отходов, каждый тип предназначен для определенного применения.
кайтинг на пхукете кайт тайланд
http://rauk.ru/jdownloads/inc/sovety_po_prohoghdeniyu_igry_lego_marvel_super_heroes_2_prohoghdenie_igry_038.html
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
спа-технолог Современные онлайн-платформы предлагают широкий спектр бьюти-профессий, от классических до самых инновационных. Вы можете выбрать программу, соответствующую вашим интересам и целям, будь то спа-технолог, массажист, косметик-эстетист или даже мастер пирсинга. Каждая программа разработана ведущими экспертами отрасли и включает в себя теоретические знания, практические навыки и индивидуальную поддержку преподавателей.
спа Стерлитамак Подарочные сертификаты Стерлитамак – это идеальный способ подарить близким и друзьям заботу о здоровье и красоте. Подарите им возможность насладиться профессиональным массажем, расслабляющей спа программой или другими приятными процедурами. Подарочный сертификат в Стерлитамаке – это универсальный и полезный подарок, который обязательно придется по вкусу каждому.
разработка конструкции упаковки из гофрокартона Упаковка из картона – символ экологичности и заботы о будущем. Картон – возобновляемый ресурс, идеально подходящий для товаров, требующих защиты и одновременно демонстрирующих ответственность производителя перед окружающей средой. Выбирая картон, вы делаете вклад в устойчивое развитие.
http://wecantstop.clanweb.eu/profile.php?lookup=609
1win сайт 1win В мире азартных развлечений 1win занимает особое место, предлагая пользователям захватывающий опыт ставок и игр. Платформа 1win известна своим разнообразием опций: от спортивных прогнозов до слотов и живого казино. Регистрация проста, а бонусы делают старт еще привлекательнее.
аренда Mercedes V class с водителем на один день mercedes v class аренда с водителем Конкретизируя модель, «mercedes v class аренда с водителем» фокусируется на одном из самых востребованных автомобилей бизнес-класса. Его узнаваемый силуэт и безупречная репутация делают его идеальным инструментом для создания имиджа и решения транспортных задач любой сложности в руках опытного водителя-профессионала.
упаковка картон Разработка коробок из картона – это креативный процесс, сочетающий в себе функциональность и эстетику. Дизайнеры разрабатывают коробки различных форм и размеров, используя современные материалы и технологии печати, чтобы создать упаковку, которая будет привлекать внимание покупателей и защищать товар от повреждений.
промокоды 1win промокоды 1win Соберите коллекцию промокодов 1win для максимальной выгоды. Промокоды 1win на фрибеты или кэшбэк активируются легко и повышают шансы на выигрыш. Следите за обновлениями промокодов 1win, чтобы оставаться в топе игроков с дополнительными преимуществами.
аренда минивэна мерседес с водителем трансфер мерседес москва «Трансфер мерседес москва» — четкий и географически точный запрос. Он отражает потребность в премиальном трансферном обслуживании исключительно в пределах столицы, будь то разовая поездка на встречу или регулярные бизнес-переезды по городу.
http://www.maurighcolori.it/node/2172
http://en.retriever.cz/profile.php?lookup=32404
стоимость арматуры Арматура В величественном танце создания, где бетон и сталь сплетаются в монолитные объятия, арматура выступает незримым, но всемогущим дирижером. Этот стальной скелет, сокрытый в утробе зданий и мостов, является квинтэссенцией прочности, даря сооружениям долговечность и непоколебимость перед лицом стихии. Словно нервная система, арматура пронизывает бетонное тело, распределяя нагрузки и предотвращая разрушительные трещины, обеспечивая безопасность и комфорт будущих поколений.
https://videochat-18.com/
сертификационная компания Центр сертификации официальный сайт Центр сертификации официальный сайт публикует актуальную информацию о своей деятельности.
арматура 8 Купить Арматуру Принятие решения купить арматуру – это ответственный шаг, определяющий будущее сооружения. Это выбор в пользу сертифицированной стали, надежного поставщика и уверенности в долговечности возводимого объекта.
https://dianachat.ru/
Если вы хотите глубже разобраться в теме онлайн-казино и понять, на что стоит обращать внимание при выборе платформы, обязательно изучите материал по ссылке https://belygorod.ru/vote/pgs/?top_13238.html. В статье собрана полезная информация, которая помогает избежать типичных ошибок и лучше ориентироваться в мире азартных игр. Такой разбор особенно полезен тем, кто играет регулярно и хочет делать это осознанно.
Онлайн-казино Vavada гарантирует быстрый вход без блокировок.
Бонусные акции и фриспины помогают получать дополнительные выигрыши.
После входа доступны приветственные бонусы, что делает старт максимально комфортным.
Рабочие адреса делают сервис надёжным.
Узнать подробности и войти можно по ссылке вавада зеркало — приведены инструкции по входу.
Играйте ответственно, чтобы игра оставалась в удовольствие.
https://pornochats.ru/
1xbet registration promo code saudi arabia
центр испытаний и сертификации Сертификация товара цена Сертификация товара цена зависит от вида продукции, схемы сертификации и аккредитации органа по сертификации.
арматура 12 мм Купить Арматуру Принятие решения о покупке – ответственный шаг. «Купить арматуру» – это значит выбрать качество, подтвержденное сертификатами, и надежного партнера, способного обеспечить своевременную поставку.
1xbet thailand promo code 2026
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!
code promo 1xbet senegal 2026
code promo pour 1xbet
промокод 1хбет на ставку
https://www.google.dj/url?q=https://www.bigcatalliance.org/news/bonus_d_inscription_au_casino_1xbet.html
joker промокод
joker casino промокод бездепозитный бонус
промокод на 1win сегодня
Продать лекарства Беларусь Хочу продать лекарства. Мы поможем осуществить вашу идею.
1win casino промокод
Продать лекарства выкуп Где можно продать лекарства. Узнайте, как превратить неиспользованные лекарства в деньги.
Продам лекарства Екатеринбург Продать оставшиеся лекарства в Москве.
1win промокод без депозита
промокод 1вин при регистрации на сегодня
Продать ленвима Продать Китруда. Иммунотерапия рака.
знакомятся Искал Ростов знакомства в телеграме — нашёл нормальный чат.
Продать стиварга Продать Перьета.
договариваются о встречах Искал Ростов знакомства в телеграме — нашёл нормальный чат.
работа на удаленке без опыта Онлайн работа дома для мам — забота о малыше и заработок
онлайн работа без опыта Фриланс в интернете — безграничные горизонты
Общаются Искал Ростов знакомства в телеграме — нашёл нормальный чат.
https://novoevnukovo.ru/index.php?topic=10112.new#new
удаленная работа отзывы работа на удаленке вакансии
ключ тг buckshot roulette
Новости Стим dying light
Продать револейд Продать мекинист
Продам Мавирет Продать зенлистик
Продать зенлистик Продать арфлейда
btcchange24
купить биткоин
биткоин купить
При временных ограничениях доступа поможет вход зеркало, которое обеспечит стабильное соединение с платформой. Зеркальный вход полностью безопасен и защищён шифрованием данных. Все функции личного кабинета работают идентично основному сайту. Переключение между основным доменом и зеркалом не прерывает игровую сессию. Рекомендуется сохранить несколько актуальных адресов для быстрого доступа.
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.
цветы заказать москва недорого
variant2
Keep on writing, great job!
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.