Java Internship Report
Java Internship Report
A internship report submitted in partial fulfillment of the requirements for the Award of
Degree of
BACHELOR OF TECHNOLOGY
In
MECHANICAL ENGINEERING
Submitted by
TAMARAPALLI VENKATA BALA SAI NAGA VINAY – 21221A0338
Certified At
EXTERNAL EXAMINER
INSTITUTION VISION & MISION
VISION
To became leading technical institute of academic excellence
by imparting high patterns of discipline through innovative programs of global
standards making our students technologically superior and ethically strong to
serve the nation.
MISSION
VISION
MISSION
Talent Shine India Pvt. Ltd., in collaboration with APSCHE, offers a free
online internship in Java Full Stack Development for engineering students. This
initiative aims to equip participants with essential front-end and back-end
development skills using Java, one of the most widely-used programming
languages in the industry.
The internship is delivered through a dedicated Learning Management System
(LMS) portal that provides structured, interactive content. Students engage with
video tutorials, coding exercises, quizzes, and modules tailored to different skill
levels, allowing flexible, self-paced learning from any location.
Upon successful completion, students receive a certificate recognizing their
achievement in Java Full Stack Development. This certification serves as a
credible validation of their skills and enhances their employability in the
competitive tech job market.
By combining accessible education and practical experience, Talent Shine India
Pvt. Ltd. and APSCHE aim to bridge skill gaps and empower students from all
backgrounds. The program helps future engineers gain industry-relevant
expertise and confidently take their first steps into the software development
field.
The internship not only focuses on technical knowledge but also encourages
students to develop soft skills such as problem-solving, adaptability, and time
management. These skills are essential for success in both academic and
professional environments, especially in a remote work setting.
Through this initiative, Talent Shine India Pvt. Ltd. and APSCHE demonstrate
their commitment to inclusive, future-ready education. By supporting aspiring
developers across diverse regions, they contribute to building a skilled, digitally
empowered workforce for tomorrow.
Ultimately, this internship program stands as a model of how collaborative efforts
between academia and industry can create meaningful learning experiences. It
offers students a gateway to explore real-world applications of their knowledge
and prepares them to thrive in the evolving tech landscape.
CONTENTS
➢ Master SQL commands for database and table creation, data insertion, and
querying.
➢ Learn HTML tags for text formatting, multimedia, tables, lists, i frames, and
forms.
This report outlines the successful completion of a virtual internship in Java Full
Stack Development, conducted by Talent Shine India Pvt. Ltd. in collaboration
with APSCHE. The internship was designed to provide engineering students with
practical exposure to both front-end and back-end technologies using Java as the
core programming language.
The program covered a comprehensive curriculum that included front-end
technologies such as HTML, CSS, JavaScript, and React, along with back-end
components like Core Java, JDBC, Servlets, and Spring Boot. It also included
database handling using MySQL and version control with Git and GitHub. This
full-stack approach enabled interns to understand the complete software
development lifecycle, from designing user interfaces to building secure and
scalable server-side applications.
Delivered entirely online through a structured Learning Management System
(LMS), the internship allowed students to learn at their own pace through video
lectures, coding exercises, assignments, and quizzes. Regular progress tracking,
mentor support, and project-based learning enhanced the overall experience,
ensuring practical skill development alongside theoretical understanding.
Throughout the internship, students not only gained hands-on experience in web
development but also improved key professional skills such as problem-solving,
time management, and remote collaboration. The final assessment and project
submission served as a demonstration of each participant’s ability to apply the
concepts learned during the course.
In conclusion, this internship provided valuable industry-relevant skills in Java
Full Stack Development and prepared participants to contribute effectively to
real-world software projects. The program serves as a stepping stone for aspiring
developers aiming to build careers in the rapidly evolving field of web and
application development.
2.Introduction to Java
Java Full Stack:
A full-stack developer is a person who can develop application's
backend and frontend. Java full-stack is basically a term used for a web developer
that uses Java to develop the entire technology stack is referred to as Java full
stack developer.
• Java is a popular programming language, created in 1995.
• It is owned by Oracle, and more than 3 billion devices run Java.
• Java works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc.).
• It is easy to learn and simple to use.
• It is open source and free.
• It is secure, fast and powerful.
• Java is an object oriented language which gives a clear structure to programs
and allows code to be reused, lowering development costs.
• It is used for:
Mobile applications (specially Android apps)
Desktop applications
Web applications
Web servers and
application servers Games
Syntax:
public class Main{
public static void main(String[] args){
System.out.println(“Hello World”);
}
}
• Every line of code that runs in Java must be inside a class. In our example, we
named the class Main. A class should always start with an uppercase first letter
• Java is case-sensitive: "MyClass" and "myclass" has different meaning.
• The name of the java file must match the class name. When saving the file,
save it using the class name and add ".java" to the end of the filename.
• Any code inside the main() method will be executed.
• Inside the main() method, we can use the println() method to print a line of
text to the screen
IDENTIFIERS:
• Java identifiers are names given to variables, methods, classes, and other
program elements in Java programming language.
• Java identifiers must start with a letter, a currency character "$", or an
underscore "_". The first character cannot be a digit.
• Java identifiers can contain letters, digits, underscores, and currency
characters. The name can be of any length.
• Java is case-sensitive, which means that "name" and "Name" are two different
identifiers.
• Identifiers should not be a Java keyword, which are reserved words in Java
that have a specific meaning and cannot be used as an identifier.
• Examples of valid identifiers in Java are "myVariable", "_count",
"MAX_VALUE", "calculateSum", "MyClass".
Variables:
• Variables are containers for storing data values.
• In Java, there are different types of variables, for example:
String - stores text, such as "Hello". String values are
surrounded by double quotes
Int - stores integers (whole numbers), without
decimals, such as 123 or -123
float - stores floating point numbers, with decimals,
such as 19.99 or 19.99
char - stores single characters, such as 'a' or 'B'. Char
values are surrounded by single quotes
boolean - stores values with two states: true or false.
• To create a variable, you must specify the type and assign it a value.
The float and double data types can store fractional numbers. Note that you
should end the value with an "f" for floats and "d" for doubles.
A floating point number can also be a scientific number with an"e" to indicate
the power of 10.
• Type casting is when you assign a value of one primitive data type to
another type.
• In Java, there are two types of casting:
Widening Casting (automatically) - converting a smaller type toa larger type
size
byte -> short -> char -> int -> long -> float -> double
Example:
int myInt = 9;
double myDouble = myInt;
Example:
double myDouble = 9.78d; int myInt = (int) myDouble;
Operators:
• Operators are used to perform operations on variables and values.
• Java divides the operators into the following groups: Arithmetic operators
Assignment operators, Comparison operators ,Logical operators ,Bitwise
operators.
Conditional Statements:
• Java has the following conditional statements:
Syntax:
if (condition) {
// block of code to be executed if the condition is true
}
Use else to specify a block of code to be executed, if the same condition is false.
Syntax:
if (condition) {
// block of code to be executed if the condition is true
} else {
// block of code to be executed if the condition is false
}
Use else if to specify a new condition to test, if the first conditionis false.
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and condition2 is true
} else {
// block of code to be executed if the condition1 is false and condition2 is false
}
Use switch to specify many alternative blocks of code to be executed.
Syntax:
switch(expression) { case x:
case y:
default:
// code block
}
The switch expression is evaluated once.
The value of the expression is compared with the values of each case.
If there is a match, the associated block of code is executed. The break and
default keywords are optional.
Loops:
• Loops can execute a block of code as long as a specified condition is
reached.
• Loops are handy because they save time, reduce errors, and they make
code more readable.
While Loop:
The while loop loops through a block of code as long as a specified condition
is true. Syntax:
while (condition) {
// code block to be executed
}
Do/While Loop:
The do/while loop is a variant of the while loop. This loop will execute the code
block once, before checking if the condition is true, then it will repeat the loop
as long as the condition is true.
Syntax:
do {
// code block to be executed
}
while (condition);
For Loop:
When you know exactly how many times you want to loop through a blockof
code, use the for loop instead of a while loop.
Syntax:
for (statement 1; statement 2; statement 3)
{ // code block to be executed
}
Statement 1 is executed (one time) before the execution of the code block.
Statement 2 defines the condition for executing the code block. Statement 3 is
executed (every time) after the code block has been executed.
Arrays:
• Arrays are used to store multiple values in a single variable, instead of
declaring separate variables for each value.
• To declare an array, define the variable type with square brackets:
Example: String[]
cars;
• You can access an array element by referring to the index number.
• This statement accesses the value of the first element in cars:
Example:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
// Outputs Volvo
Multidimensional Arrays:
• A multidimensional array is an array of arrays.
• Multidimensional arrays are useful when you want to store data as a
tabular form, like a table with rows and columns.
• To create a two-dimensional array, add each array within its own setof
curly braces. Example:
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
System.out.println(myNumbers[1][2]); // Outputs7
Methods:
• A method is a block of code which only runs when it is called.
• You can pass data, known as parameters, into a method.
• Methods are used to perform certain actions, and they are also knownas
functions.
• Why use methods? To reuse code: define the code once, and use it many
times.
• A method must be declared within a class. It is defined with the name of
the method, followed by parentheses ( ).
Example:
public class Main {
static void myMethod() {
// code to be executed}}
myMethod() is the name of the method.
static means that the method belongs to the Main class and not an object of the
Main class. You will learn more about objects and howto access methods
through objects.
void means that this method does not have a return value.
OOP helps to keep the Java code DRY "Don't Repeat Yourself", and makes the
code easier to maintain, modify and debug.
Object:
OOP makes it possible to create full reusable applicationswith less code and
shorter development time
Any entity that has state and behavior is known as an object. For example, a
chair, pen, table, keyboard, bike, etc. It can be physical or logical.
An Object can be defined as an instance of a class. An object contains an
address and takes up some space in memory. Objects can communicate without
knowing the details of each other's data or code. The only necessary thing is the
type of message accepted and the type of response returned by the objects.
Example: A dog is an object because it has states like color, name, breed, etc. as
well as behaviors like wagging the tail, barking, eating, etc.
Class:
Collection of objects is called class. It is a logical entity.
A class can also be defined as a blueprint from which you can create an
individual object. Class doesn't consume any space. Inheritance:
When one object acquires all the properties and behaviors of a parent object, it
is known as inheritance. It provides code reusability. It is used to achieve
runtime polymorphism.
Polymorphism:
If one task is performed in different ways, it is known as polymorphism. For
example: to convince the customer differently, to draw something, for example,
shape, triangle, rectangle, etc.
In Java, we use method overloading and method overriding to achieve
polymorphism.
Another example can be to speak something; for example, a cat speaks meow,
dog barks woof, etc.
Abstraction:
Hiding internal details and showing functionality is known as abstraction. For
example phone call, we don't know the internal processing.
In Java, we use abstract class and interface to achieve abstraction.Encapsulation
Binding (or wrapping) code and data together into a single unit are known as
encapsulation. For example, a capsule, it is wrapped with different medicines. A
java class is the example of encapsulation. Java bean is the fully encapsulated
class because all the data members are private here.
Inheritance in Java:
Inheritance in Java is a mechanism in which one object acquires all the
properties and behaviors of a parent object. It is an important part of OOPs
(Object Oriented programming system).
The idea behind inheritance in Java is that you can create new classes that are
built upon existing classes. When you inherit from an existing class, you can
reuse methods and fields of the parent class. Moreover, you can add new
methods and fields in your current class also.
Inheritance represents the IS-A relationship which is also known as a parent-
child relationship.
• Class: A class is a group of objects which have common properties. It is a
template or blueprint from which objects are created.
• Sub Class/Child Class: Subclass is a class which inherits the other class.
It is also called a derived class, extended class, or child class.
Types of Inheritance:
• Single Inheritance
• Multiple Inheritance
• Multi-Level Inheritance
• Hierarchical Inheritance
• Hybrid Inheritance
Abstraction in Java
Abstraction is a process of hiding the implementation details and showing only
functionality to the user.
Another way, it shows only essential things to the user and hides the internal
details, for example, sending SMS where you type the text and send the
message. You don't know the internal processing about the message delivery.
Abstraction lets you focus on what the object does instead of how it does it.
Ways to achieve Abstraction
There are two ways to achieve abstraction in java
1. Abstract class (0 to 100%)
2. Interface (100%) Abstract class in Java
A class which is declared as abstract is known as an abstract class. It can have
abstract and non-abstract methods. It needs to be extended and its method
implemented. It cannot be instantiated.
• An abstract class must be declared with an abstract keyword.
• It can have abstract and non-abstract methods.
• It cannot be instantiated.
• It can have constructors and static methods also.
• It can have final methods which will force the subclass not to change the
body of the method.
Example: abstract class Bike{
abstract void run();
}
class Honda4 extends Bike{
void run(){System.out.println("running safely..");} public static void
main(String args[]){
Bike obj = new Honda4(); obj.run();
}
}
Polymorphism:
Polymorphism means "many forms", and it occurs when we have many classes
that are related to each other by inheritance.
obj.run();
}
}
Encapsulation:
Encapsulation in Java is a process of wrapping code and data together into a
single unit, for example, a capsule which is mixed of several medicines.
We can create a fully encapsulated class in Java by making all the data
membersof the class private. Now we can use setter and getter methods to set
and get the data in it.
The Java Bean class is the example of a fully encapsulated class. Advantage of
Encapsulation in Java
By providing only a setter or getter method, you can make the class read-only or
write-only. In other words, you can skip the getter or setter methods.
It provides you the control over the data. Suppose you want to set the value of
id which should be greater than 100 only, you can write the logic inside the
setter method. You can write the logic not to store the negative numbers in the
setter methods.
It is a way to achieve data hiding in Java because other class will not be able to
access the data through the private data members.
The encapsulate class is easy to test. So, it is better for unit testing.
The standard IDE's are providing the facility to generate the getters and setters.
So, it is easy and fast to create an encapsulated class in Java.
Java Package:
A java package is a group of similar types of classes, interfaces and sub-
packages. Package in java can be categorized in two form, built-in package and
user- defined package.
There are many built-in packages such as java, lang, awt, javax, swing, net,
io,util, sql etc.
Here, we will have the detailed learning of creating and using user-defined
packages.
Advantage of Java Package:
1) Java package is used to categorize the classes and interfaces so that they
can be easily maintained.
2) Java package provides access protection.
3) Java package removes naming collision.
There are three ways to access the package from outside the package.
1. import package.*;
2. import package.classname;
3. fully qualified name. Access Modifiers in Java:
There are two types of modifiers in Java: access modifiers and non-access
modifiers.
The access modifiers in Java specifies the accessibility or scope of a field,
method, constructor, or class. We can change the access level of fields,
constructors, methods, and class by applying the access modifier on it. Thereare
four types of Java access modifiers:
1. Private: The access level of a private modifier is only within the class. It
cannot be accessed from outside the class.
2. Default: The access level of a default modifier is only within the package.
It cannot be accessed from outside the package. If you do not specify any access
level, it will be the default.
3. Protected: The access level of a protected modifier is within the package
and outside the package through child class. If you do not make the child class,
it cannot be accessed from outside the package.
4. Public: The access level of a public modifier is everywhere. It can be
accessed from within the class, outside the class, within the package and outside
the package.
There are many non-access modifiers, such as static, abstract, synchronized,
native, volatile, transient, etc
Exception Handling in Java
The Exception Handling in Java is one of the powerful mechanism to handle the
runtime errors so that the normal flow of the application can be maintained.
What is Exception in Java?
In Java, an exception is an event that disrupts the normal flow of the program.It
is an object which is thrown at runtime.
What is Exception Handling?
Exception Handling is a mechanism to handle runtime errors such as
ClassNotFoundException, IOException, SQLException, RemoteException, etc.
The core advantage of exception handling is to maintain the normal flow of the
application. An exception normally disrupts the normal flow of the
application;that is why we need to handle exceptions.
SQL
What is a Database?
Data is the new fuel of this world but only data is unorganized information, so
to organize that data we make a database. A database is the organized collection
of structured data which is usually controlled by a database management system
(DBMS). Databases help us with easily storing, accessing, and manipulating
data held on a computer.
Why to learn SQL?
SQL helps you to easily get information from data at high efficiency. To
manipulate the data in databases like Create, Read, Edit, and delete we use SQL
queries. Users can interact with data stored in relational database
management systems. Anyone who knows the English language can easily write
SQL queries. Some of the key features of SQL are given below:
Without a lot of coding knowledge we can manage a database with SQL.
SQL works with database systems from Oracle, IBM, Microsoft, etc.
Simple and easy to learn.
SQL is ANSI and ISO standard language for database manipulations.
SQL retrieves large amounts of data very fast.
Applications of SQL
In data-driven industries where managing databases is very important in regular,
Here are some important SQL applications.
• To support client/server architecture, software engineers use SQL to
establish the connection between back-end and front-end.
• SQL can also be used in the 3-tier architecture of a client, an application
server, and a database.
• SQL is used as a Data Definition Language(DDL) in which we can
independently create a database, define the structure, use it, and discard it when
its work is done.
• SQL is used as a Data Manipulation Language(DML) in which we can
enter data, modify data, extracting data.
• SQL is used as a Data Control Language(DCL) it specifies how we can
protect our database against corruption and misuse.
HTML
HTML is an acronym which stands for Hyper Text Markup
Language which is used for creating web pages and web applications. Let's see
what is meant by Hypertext Markup Language, and Web page.
Hyper Text: HyperText simply means "Text within Text." A text has a link
within it, is a hypertext. Whenever you click on a link which brings you to a
new webpage, you have clicked on a hypertext. HyperText is a way to link two
or more web pages (HTML documents) with each other.
Markup language: A markup language is a computer language that is used
to apply layout and formatting conventions to a text document. Markup
language makes text more interactive and dynamic. It can turn text into images,
tables, links, etc.
Web Page: A web page is a document which is commonly written in
HTML and translated by a web browser. A web page can be identified by
entering an URL. A Web page can be of the static or dynamic type. With the
help of HTML only, we can create static web pages.
Hence, HTML is a markup language which is used for creating attractive
web pages with the help of styling, and which looks in a nice format on a web
browser. An HTML document is made of many HTML tags and each HTML tag
contains different content.
Java script
JavaScript (js) is a light-weight object-oriented programming language
which is used by several websites for scripting the webpages. It is an
interpreted, full-fledged programming language that enables dynamic
interactivity on websites when applied to an HTML document. It was
introduced in the year 1995 for adding programs to the webpages in the
Netscape Navigator browser. Since then, it has been adopted by all other
graphical web browsers. With JavaScript, users can build modern web
applications to interact directly without reloading the page every time. The
traditional website uses js to provide several forms of interactivity and
simplicity.
Although, JavaScript has no connectivity with Java programming
language. The name was suggested and provided in the times when Java was
gaining popularity in the market. In addition to web browsers, databases such as
CouchDB and MongoDB uses JavaScript as their scripting and query language.
Application of JavaScript
JavaScript is used to create interactive websites. It is mainly used for:
Client-side validation,
Dynamic drop-down menus,
Displaying date and time,
Displaying clocks etc.
Spring Boot is a project that is built on the top of the Spring Framework.
It provides an easier and faster way to set up, configure, and run both simple
and web-based applications.
It is a Spring module that provides the RAD (Rapid Application
Development) feature to the Spring Framework. It is used to create a stand-
alone Spring-based application that you can just run because it needs minimal
Spring configuration.
In short, Spring Boot is the combination of Spring Framework and
Embedded Servers.
In Spring Boot, there is no requirement for XML configuration
(deployment descriptor). It uses convention over configuration software design
paradigm that means it decreases the effort of the developer.
We can use Spring STS IDE or Spring Initializr to develop
Spring Boot Java applications.
Why should we use Spring Boot Framework?
We should use Spring Boot Framework because:
The dependency injection approach is used in Spring Boot.
It contains powerful database transaction management capabilities.
It simplifies integration with other Java frameworks like JPA/Hibernate
ORM, Struts, etc.
It reduces the cost and development time of the application.
Along with the Spring Boot Framework, many other Spring sister
projects help to build applications addressing modern business needs. There are
the following Spring sister projects are as follows:
Spring Data: It simplifies data access from the relational and NoSQL
databases.
Spring Batch: It provides powerful batch processing.
Spring Security: It is a security framework that provides robust security
to applications.
Conclusion
In conclusion, a Java Full Stack Developer requires a diverse range of technical
and soft skills to develop and maintain web-based applications. They need to be
proficient in both front-end and back-end development, understand security
protocols, testing and debugging methodologies, design patterns, cloud
technologies, and be customer-focused.