Professional Documents
Culture Documents
AYESHa Seminar
AYESHa Seminar
Belagavi, Karnataka
An Internship Report
On
“Professional Practice of Java, SQL, Hibernate and Springs”
Submitted by:
Mr. Gagana V
Trainer, QSpiders
Bengaluru.
CERTIFICATE
This is to certify that the Internship entitled “Professional Practice of Java, SQL, Hibernate
and Springs” has been successfully completed by GOUSIA BEE bearing USN:
3BR20EE022, a student of VIII semester, for the partial fulfilment of the requirements for the
Bachelor Degree in Electrical & Electronics Engineering of the Visvesvaraya Technological
University, Belagavi during the academic year 2023-2024.
External Viva
1).......................................... ........................................
2).......................................... ........................................
DECLARATION
Signature of Student
Date: GOUSIA BEE
Place: Ballari 3BR20EE022
ACKNOWLEDGEMENT
The satisfaction that I feel at the successful completion of Internship on “Professional Practice
of Java, SQL, Hibernate and Springs” it would be incomplete if I did not mention the names
of people, whose noble gesture, affection, guidance, encouragement, and support crowned my
efforts with success.
I express my deep sense of gratitude to the Management of BITM, Ballari, for providing me
the congenial environment in the college for successful completion of my internship.
I am extremely grateful to respective Guide Prof. Arathi P B B.E., M. Tech and coordinator Prof.
Farzana Begum K B.E., M. Tech and Prof. Arathi P B B.E., M. Tech. for their noble gesture,support,
co-ordination, and valuable suggestions given to me in completing the Internship. I also thank
Dr. Sharanareddy M. Tech, Ph.D., H.O.D. Dept. of EEE, Dr. Yadavalli Basavaraj M. Tech, Ph.D.,
Principal, BITM and Management of BITM for extending their support and encouragement in
completion of my internship.
I extended sincere thanks to all the teaching and non-teaching staff members of, Electrical and
Electronics Engineering Department of B I T M, Ballari for constant support and help during
the internship seminar.
My heartful thanks to our parents, family members and friends whose patience and kind
cooperation at all the stages enable us to complete this internship seminar successfully.
GOUSIA BEE
3BR20EE022
Table of Contents
Sl. No Title Page No.
Cover Page I
Inner Cover Page II
College Certificate III
Certificate IV
Declaration by the Student V
Acknowledgement VI
Executive Summary VII
Table of Contents VIII
Chapter 1 Company Profile 1
1.1 Company Caption 1
1.2 Company Logo 1
1.3 Company Name 1
1.4 Address 1
1.5 Phone number and fax number 1
1.6 Website URL 1
1.7 Email address 1
1.8 Company Headquarters 1
1.9 Competitive performance 1
1.10 Major organization Milestones 2
Chapter 2 About The Company 3
2.1 History of the Organization 3
2.2 Organization Structure, Products, Services Offered by the 3
Company
2.3 Number of Employees in the Organization 4
2.4 Employees Structure of the Organization 4
2.5 Financial Details 4
2.5 Process Adopted 4
2.7 Introduction about the Department 4
2.8 Roles and Responsibilities of Individuals in the Department 5
2.9 Number of systems and Their specifications 5
2.10 organization structure of the Department 5
2.11 My Role in the Company 6
Chapter 3 Tasks Performed 7
3.1 Introduction about the Concepts 7
3.1.1 Java 7-12
3.1.2 SQL 13-18
3.1.3 Hibernate 18-21
3.1.4 Spring 21-29
3.2 Assessments Solved 30
3.2.1 Java Example 30
3.2.2 SQL Example 31
Chapter 4 Reflection (Specific Outcomes) 32
4.1 Experience in the Organization 32
4.2 Technical Outcomes of the Project 32
4.3 Non- Technical Outcomes of the Project 32
4.3.1 Verbal and Writing Communication 32
4.3.2 Oral Communication Skills 33
4.3.3 Time Management 33
4.3.4 Personality development 33
4.3.5 Resource Utilization Skills 34
Conclusion 35
References 36
List Of Figures
Figure No Figure Name Page No
2.1 Employee Structure of the Organization 4
2.2 Organization Structure of the Department 5
Professional Practice Of JAVA, SQL, Hibernate, Springs 2022-23
CHAPTER 1
COMPANY PROFILE
1.1 Company Caption
“QSpiders is a place where businesses find talent and dreams take flight.”
1.4 Address
No.01, 3rd cross Basappa Layout, Gavi Puram Extn, Kempe Gowda Nagar,
Bengaluru, Karnataka 560019.
1.8 Headquarters
Bangalore, Karnataka
1.9 Competitive Performance
Ranked 2nd among 126 competitors
CHAPTER 2
ABOUT THE COMPANY
2.1 History of the Organization
QSpiders is a best-in-class learning solutions organization headquartered in
India’s IT capital, Bangalore. It offers a wide range of courses in the area of software testing and
are official partners of the ISTQB®. A “finishing school” in many ways, the institute provides
young job aspirants the perfect launch-pad to build a rewarding career in the growing IT sector.
From its humble beginnings, QSpiders has exponentially grown to be the world’s largest software
testing training organization spread across countries. At QSpiders, we ensure training is imparted
by specialists with proven subject matter expertise and who have spent over a decade intheir area
of specialization. Our faculty are highly competent, skilled and dedicated to giving their best
towards the professional development of our students. Besides training, QSpiders also provide
placement assistance to their students and most of the big corporates in the corporate world hire
our trained talent. It is indeed their pleasure to have placed over thousands of job- seekers in various
IT firms across India over the years with an aim to place thousands more! Building competency
into over 5000 students a month, QSpiders is where talent meets opportunity and it believe search
for the dream job or the dream professional ends here.
Vice President
Operations Head
Branch Heads
Agile Methodology.
2.8 Introduction about the Department
• Train on Mobile Application Technologies.
• Train on QA Technologies.
• Train on Full Stack Development.
Manager
Lead
Sr. Member
Associates
1. The first task that must be performed by an application developer is to collect the
requirements.
2. The intern must be able to understand and visualize the requirements collected in order to
frame the objectives required for developing the application.
3. Further the intern must identify the tools that are required for the development.
4. Develop a plan in order to carry out the tasks assigned to them on a step-by-step basis.
5. Break down the program specifications into simplest elements and translate the logic into
a programming language.
6. Combine all the logics of the program design by integrating the logics.
7. Debugging the program and minimize the errors present in the logic.
9. Generate a report by writing a detailed documentation for the operation of the program.
CHAPTER 3
TASKS PERFORMED
6. Interpreted: The Java interpreter can execute Java byte codes directly on any
machine to which the interpreter has been ported.
7. High Performance: While the performance of interpreted byte codes is usuallymore
than Adequate, there are situations where higher performer is required.
8. Multithreaded: The benefits of multithreading are better interactive responsiveness and
real-time behavior.
9. Dynamic: In a number of ways, Java is a more dynamic language than C or C++.It was
designed to adapt to an evolving environment.
• General form of a class: A class is declared by use of the class keyword. The general form
of a class definition is shown as:
Class class_name{
type instance-variable1;type
instance-variable2;
type method-name(parameter-list)
{
//body of method
ii) OBJECTS: Objects are the basic run time entity or in other words object is an instance of a class.
Each object made from a class can have its values for the instance variables of that class.
• Syntax for the Object: class_nameobject_name= newclass_name();
Example: Class Dog{
int size;
String breed;
String name;void
bark(){
System.out.println(“Ruff! Ruff!”);
}
Class DogTestDrive{
Public static void main (String[] args){Dog
d=new Dog();
d.size=40;
d.bark();
}
}
iii) METHODS:
A class has one or more methods. Methods must be declared inside the class. Within
the curly braces of a method, write the instructions for how that method should be
performed. Method code is basically a set of statements, and you can think of a method
kind of like a function or procedure.
public class class_name{
returntypemethod_name(){
//statements;
}
}
iv) INHERITANCE:
● When one class inherits from another, it is called Inheritance.
● The class which is inherited is called superclass and the class which inherits iscalled
subclass.
Example: Public class Doctor{ Boolean
worksAtHospital;void
treatPatient( ) {
//Perform a checkup
}
}
Public class FamilyDoctor extends Doctor{
Boolean makesHouseCalls;
voidgiveAdvice( ) {
//give homespun advice
}
}
Public class Surgeon extends Doctor{void
treatPatient( ) {
//perform surgery
}
void makeIncision( ) {
//make incision(yikes!)
}
}
v) ABSTRACTION:
The process of abstraction in Java is used to hide certain details and only show the
essential features of the object. Through the process of abstraction, a programmer hides
all but the relevant data about an object in order to reduce complexity and increase
efficiency.
vi) ENCAPSULATION
vii) CONSTRUCTORS
A class contains constructors that are invoked to create objects from the class blueprint.
Constructor declarations look like method declarations-except that they use the name of the
class and have no return type.
For Example: Bicycle has one constructor:
Public Bicycle (intstartCadence, intstartSpeed, intstartGear) {gear =
startGear;
cadence = startCadence;
speed = startSpeed;
}
To create a new Bicycle object called myBike, a constructor is called by the newoperator:
Bicycle myBike = new Bicycle(30, 0, 8);
d) Default: Default constraint is used to declare a default value to a column if a value is not specified.
By default, in SQL, the default value for all the columns is NULL.
e) Primary Key: Primary key is used to uniquely identify a record from the table. The column which
is made as primary key is both unique as well as “NOTNULL”. The column which is unique
as well as not null is eligible to become primary key.
f) Foreign key: Foreign key is used to create a relationship across multiple tables. Foreign key
is also called ass referral integrity constraint. A foreign key is also called as “REFERAL
INTEGRITY CONSTRAINT”.
c) JOINS:
Join is one of the capabilities of SELECT clause. It is used to display rows and columns
from different tables. According to joins, there are two types:
a) Inner join.
b) Outer join.
INNER JOIN OUTER JOIN
b) Update: This command is used to update one record, multiple records or all records of
the table. Without “WHERE” clause, the expression in the “SET” clause is appliedto
all the columns of the table i.e., all the columns are updated.
Syntax: UPDATE tablename SET expression WHERE condition;
Example: UPDATE emp SET sal=50000 WHERE empno=1234;
c) Delete: This command is used to delete one record, multiple records or all records from
the table.
Syntax: DELETE FROM tablename WHERE condition;
Example: DELETE FROM emp WHERE empno=1234;
3.1.3 HIBERNATE
Hibernate (Framework):
Hibernate ORM (or simply Hibernate) is an object–relational mapping tool for the Java
programming language. It provides a framework for mapping an object-oriented domain model
to a relational database. Hibernate handles object–relational impedance mismatch problems by
replacing direct, persistent database accesses with high-level object handling functions.
Hibernate is free software that is distributed under the GNU Lesser General Public License 2.1.
Hibernates primary feature is mapping from Java classes to database tables, and mapping from
Java data types to SQL data types. Hibernate also provides data query and retrieval facilities. It
generates SQL calls and relieves the developer from the manual handling and object conversion
of the result set.
Mapping
The mapping of Java classes to database tables is implemented by the configuration of an XML
file or by using Java Annotations. When using an XML file, hibernate can generate skeleton
source code for the persistence classes. This is auxiliary when annotations are used. Hibernate
can use the XML file or the Java annotations to maintain the database schema.
There are provided facilities to arrange one-to-many and many-to-many relationships between
classes. In addition to managing associations between objects, hibernate can also manage
reflexive associations wherein an object has a one-to-many relationship with other instances of
the class type. Hibernate supports the mapping of custom value types. This makes the following
scenarios possible:
Overriding the default SQL type when mapping a column to a property. Mapping Java Enums
to columns as though they were regular properties. Mapping a single property to multiple
columns. Objects in an object-oriented application follow OOP principles, while objects in the
back end follow database normalization principles, resulting in different representation
Hibernate provides a SQL inspired language called Hibernate Query Language (HQL) for
writing SQL-like queries against Hibernate's data objects. Criteria Queries are provided as an
object-oriented alternative to HQL. Criteria Query is used to modify the objects and provide the
restriction for the objects. HQL (Hibernate Query Language) is the object-oriented version of
SQL. It generates database independent queries so that there is no need to write database-
specific queries. Without this capability, changing the database would require individual SQL
queries to be changed as well, leading to maintenance issues.
Persistence
Hibernate provides transparent persistence for Plain Old Java Objects (POJOs). The only strict
requirement for a persistent class is a no-argument constructor, though not necessarily public.
Proper behavior in some applications also requires special attention to the equals() and
hashCode() methods in the object classes.[2] Hibernate recommends providing an identifier
attribute, and this is planned to be a mandatory requirement in a future release.
Collections of data objects are typically stored in Java collection classes, such as
implementations of the Set and List interfaces. Java generics, introduced in Java 5, are also
supported. Hibernate can be configured to lazy load associated collections. Lazy loading is the
default as of Hibernate 3.
Related objects can be configured to cascade operations from one object to the other. For
example, a parent Album class object can be configured to cascade its save and delete operations
to its child Track class objects.
Integration
Hibernate can be used both in standalone Java applications and in Java EE applications using
servlets, EJB session beans, and JBI service components. It can also be included as a feature in
other programming languages. For example, Adobe integrated Hibernate into version 9 of
ColdFusion (which runs on J2EE app servers) with an abstraction layer of new functions and
syntax added into CFML.
Steps In Hibernate
1. Create the Persistent class.
2. Create the mapping file for Persistent class.
3. Create the Configuration file.
4. Create the class that retrieves or stores the persistent object.
5. Load the jar file.
6. Run the first hibernate application by using command prompt.
3.1.4 SPRING
Spring Framework
The Spring Framework is an application framework and inversion of control container for the
Java platform. The framework's core features can be used by any Java application, but there are
extensions for building web applications on top of the Java EE (Enterprise Edition) platform.
Although the framework does not impose any specific programming model, it has become
popular in the Java community as an addition to the Enterprise JavaBeans (EJB) model. The
Spring Framework is open source.
The first version was written by Rod Johnson, who released the framework with the publication
of his book Expert One-on-One J2EE Design and Development in October 2002. The
framework was first released under the Apache 2.0 license in June 2003. The first production
release, 1.0, was released in March 2004. The Spring 1.2.6 framework won a Jolt productivity
award and a JAX Innovation Award in 2006. Spring 2.0 was released in October 2006, Spring
2.5 in November 2007, Spring 3.0 in December 2009, Spring 3.1 in December 2011, and Spring
3.2.5 in November 2013. Spring Framework 4.0 was released in December 2013. Notable
improvements in Spring 4.0 included support for Java SE (Standard Edition) 8, Groovy 2, some
aspects of Java EE 7, and WebSocket. Spring Boot 1.0 was released in April 2014.
Spring Framework 4.2.0 was released on 31 July 2015 and was immediately upgraded to version
4.2.1, which was released on 01 Sept 2015. It is "compatible with Java 6, 7 and 8, with a focus
on core refinements and modern web capabilities". Spring Framework 4.3 has been released on
10 June 2016 and will be supported until 2020.[10] It "will be the final generation within the
general Spring 4 system requirements (Java 6+, Servlet 2.5+), [...]" Spring 5 is announced to be
built upon Reactive Streams compatible Reactor Core.
Spring Framework 6.0 has been released on 16 November 2022 and came with a Java 17+
baseline and a move to Jakarta EE 9+ (in the Jakarta namespace), with a focus on the recently
released Jakarta EE 10 APIs such as Servlet 6.0 and JPA 3.1.
Modules
• The Spring Framework includes several modules that provide a range of services:
• Spring Core Container: this is the base module of Spring and provides spring containers (Bean
Factory and Application Context).[13]
• Aspect-oriented programming enables implementing cross-cutting concerns.
• Authentication and authorization: configurable security processes that support a range of
standards, protocols, tools, and practices via the Spring Security sub-project (formerly Acegi
Security System for Spring).
• Convention over configuration: a rapid application development solution for Spring-based
enterprise applications is offered in the Spring Roo module.
• Data access: working with relational database management systems on the Java platform using
Java Database Connectivity (JDBC) and object-relational mapping tools and with NoSQL
databases.
• Inversion of control container: configuration of application components and lifecycle
management of Java objects, done mainly via dependency injection
• Messaging: declarative registration of message listener objects for transparent message-
consumption from message queues via Java Message Service (JMS), improvement of message
sending over standard JMS APIs
• Model–view–controller: an HTTP- and servlet-based framework providing hooks for extension
and customization for web applications and RESTful (representational state transfer) Web
services.
• Remote access framework: declarative remote procedure call (RPC)-style marshalling of Java
objects over networks supporting Java remote method invocation (RMI), CORBA (Common
Object Request Broker Architecture) and HTTP-based protocols including Web services (SOAP
(Simple Object Access Protocol))
• Transaction management: unifies several transaction management APIs and coordinates
transactions for Java objects.
• Remote management: declarative exposure and management of Java objects for local or remote
configuration via Java Management Extensions (JMX)
• Testing: support classes for writing unit tests and integration tests
• Inversion of control container (dependency injection)
• Central to the Spring Framework is its inversion of control (IoC) container, which provides a
consistent means of configuring and managing Java objects using reflection. The container is
responsible for managing object lifecycles of specific objects: creating these objects, calling
their initialization methods, and configuring these objects by wiring them together.
• Objects created by the container are also called managed objects or beans. The container can be
configured by loading XML (Extensible Markup Language) files or detecting specific Java
annotations on configuration classes. These data sources contain the bean definitions that
provide the information required to create the beans.
• Objects can be obtained by means of either dependency lookup or dependency injection.[14]
Dependency lookup is a pattern where a caller asks the container object for an object with a
specific name or of a specific type. Dependency injection is a pattern where the container passes
objects by name to other objects, via either constructors, properties, or factory methods.
• In many cases one need not use the container when using other parts of the Spring Framework,
although using it will likely make an application easier to configure and customize. The Spring
container provides a consistent mechanism to configure applications and integrates with almost
all Java environments, from small-scale applications to large enterprise applications.
• The container can be turned into a partially compliant EJB (Enterprise JavaBeans) 3.0 container
by means of the Pitchfork project. Some[who?] criticize the Spring Framework for not
complying with standards.[15] However, Spring Source doesn't see EJB 3 compliance as a
major goal, and claims that the Spring Framework and the container allow for more powerful
programming models.[16] The programmer does not directly create an object, but describes
how it should be created, by defining it in the Spring configuration file. Similarly, services and
components are not called directly; instead, a Spring configuration file defines which services
and components must be called. This IoC is intended to increase the ease of maintenance and
testing.
The Spring Framework has its own Aspect-oriented programming (AOP) framework that
modularizes cross-cutting concerns in aspects. The motivation for creating a separate AOP
framework comes from the belief that it should be possible to provide basic AOP features
without too much complexity in either design, implementation, or configuration. The Spring
AOP framework also takes full advantage of the Spring container.
The Spring AOP framework is proxy pattern-based and is configured at run time. This removes
the need for a compilation step or load-time weaving. On the other hand, interception only
allows for public method-execution on existing objects at a join point.
Compared to the AspectJ framework, Spring AOP is less powerful, but also less complicated.
Spring 1.2 includes support to configure AspectJ aspects in the container. Spring 2.0 added more
integration with AspectJ; for example, the pointcut language is reused and can be mixed with
Spring AOP-based aspects. Further, Spring 2.0 added a Spring Aspects library that uses AspectJ
to offer common Spring features such as declarative transaction management and dependency
injection via AspectJ compile-time or load-time weaving. Spring Source also usesAspectJ AOP
in other Spring projects such as Spring Roo and Spring Insight, with Spring Security also
offering an AspectJ-based aspect library.
Spring AOP has been designed to make it able to work with cross-cutting concerns inside the
Spring Framework. Any object which is created and configured by the container can be enriched
using Spring AOP.
The Spring Framework uses Spring AOP internally for transaction management, security,
remote access, and JMX.
Since version 2.0 of the framework, Spring provides two approaches to the AOP configuration:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
Dept of EEE, BITM, Ballari. Page 24
Professional Practice Of JAVA, SQL, Hibernate, Springs 2022-23
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
The Spring team decided not to introduce new AOP-related terminology; therefore, in the
Spring reference documentation and API, terms such as aspect, join point, advice, pointcut,
introduction, target object (advised object), AOP proxy, and weaving all have the same
meanings as in most other AOP frameworks (particularly AspectJ).
All these features become available when using template classes provided by Spring for each
supported framework. Critics have said these template classes are intrusive and offer no
advantage over using (for example) the Hibernate API directly. [failed verification] In response,
the Spring developers have made it possible to use the Hibernate and JPA APIs directly. This
however requires transparent transaction management, as application code no longer assumes
the responsibility to obtain and close database resources and does not support exception
translation.
Together with Spring's transaction management, its data access framework offers a flexible
abstraction for working with data access frameworks. The Spring Framework does not offer a
common data access API; instead, the full power of the supported APIs is kept intact. The Spring
Framework is the only framework available in Java that offers managed data access
environments outside of an application server or container.[20]
Transaction management
Spring's transaction management framework brings an abstraction mechanism to the Java
platform. Its abstraction is capable of:
working with local and global transactions (local transaction does not require an application
server)
working with nested transactions
working with save points.
working in almost all environments of the Java platform
In comparison, Java Transaction API (JTA) only supports nested transactions and global
transactions and requires an application server (and in some cases also deployment of
applications in an application server).
The Spring Framework ships a Platform Transaction Manager for several transaction
management strategies:
Model–view–controller framework
The Spring developers decided to write their own Web framework as a reaction to what they
perceived as the poor design of the (then) popular Jakarta Struts Web framework,[21] as well
as deficiencies in other available frameworks. In particular, they felt there was insufficient
separation between the presentation and request handling layers, and between the request
handling layer and the model.[22]
Like Struts, Spring MVC is a request-based framework. The framework defines strategy
interfaces for all of the responsibilities that must be handled by a modern request-based
framework. The goal of each interface is to be simple and clear so that it's easy for Spring MVC
users to write their own implementations, if they so choose. MVC paves the way for cleaner
front end code. All interfaces are tightly coupled to the Servlet API. This tight coupling to the
Servlet API is seen by some as a failure on the part of the Spring developers to offer a high-
level abstraction for Web-based applications[citation needed]. However, this coupling makes
sure that the features of the Servlet API remain available to developers while also offering a
high abstraction framework to ease working with it.
The DispatcherServlet class is the front controller[23] of the framework and is responsible for
delegating control to the various interfaces during the execution phases of an HTTP request.
The most important interfaces defined by Spring MVC, and their responsibilities, are listed
below:
• Controller: comes between Model and View to manage incoming requests and redirect
to proper response. Controller will map the http request to corresponding methods. It
acts as a gate that directs the incoming information. It switches between going into
model or view.
• HandlerAdapter: execution of objects that handle incoming requests
• HandlerInterceptor: interception of incoming requests comparable, but not equal to
Servlet filters (use is optional and not controlled by DispatcherServlet).
• HandlerMapping: selecting objects that handle incoming requests (handlers) based on
any attribute or condition internal or external to those requests
• LocaleResolver: resolving and optionally saving of the locale of an individual user
• MultipartResolver: facilitate working with file uploads by wrapping incoming requests
• View: responsible for returning a response to the client. Some requests may go straight
to view without going to the model part; others may go through all three.
• ViewResolver: selecting a View based on a logical name for the view (use is not strictly
required).
Each strategy interface above has an important responsibility in the overall framework. The
abstractions offered by these interfaces are powerful, so to allow for a set of variations in their
implementations, Spring MVC ships with implementations of all these interfaces and together
offers a feature set on top of the Servlet API. However, developers and vendors are free to write
Dept of EEE, BITM, Ballari. Page 27
Professional Practice Of JAVA, SQL, Hibernate, Springs 2022-23
other implementations. Spring MVC uses the Java java.util.Map interface as a data-oriented
abstraction for the Model where keys are expected to be string values.
The ease of testing the implementations of these interfaces seems one important advantage of
the high level of abstraction offered by Spring MVC. DispatcherServlet is tightly coupled to the
Spring inversion of control container for configuring the web layers of applications. However,
web applications can use other parts of the Spring Framework—including the container—and
choose not to use Spring MVC.
When a user clicks a link or submits a form in their web-browser, the request goes to Spring
DispatcherServlet. DispatcherServlet is a front-controller in spring MVC. It consults one or
more handler mappings. DispatcherServlet chooses an appropriate controller and forwards the
request to it. The Controller processes the particular request and generates a result. It is known
as Model. This information needs to be formatted in html or any front-end technology like JSP.
This is the View of an application. All of the information is in the MODEL And VIEW object.
When the controller is not coupled to a particular view, DispatcherServlet finds the actual JSP
with the help of ViewResolver.
Configuration of DispatcherServlet
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/<url-pattern>
</servlet-mapping>
Spring Boot
Spring Boot Extension is Spring's convention-over-configuration solution for creating stand-
alone, production-grade Spring-based Applications that you can "just run".[24] It is
preconfigured with the Spring team's "opinionated view" of the best configuration and use of
the Spring platform and third-party libraries so you can get started with minimum fuss.
Most Spring Boot applications need very little Spring configuration.
Key Features:
Spring Roo
Batch framework
Spring Batch is a framework for batch processing that provides reusable functions that are
essential in processing large volumes of records, including:
• logging/tracing
• transaction management
• job processing statistics
• job restart
Statement: Write a Java Program to Find the Average Marks & percentage of a student
import java.util.*;
public class Result {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“Enter the number of subjects:”);
int n=sc.nextint();
int sum=0;
Int arr[]=new int[n];
System.out.println(“Enter the scores:”);
for(int i=0;i<n;i++){
arr.append(sc.nextdouble());
}
double sum = 0.0;
for (double num: arr) {
sum += num;
}
System.out.println("The sum is: %.2f", sum);
double percentage = (sum / (n*100))*100;
System.out.println("The percentage is: %.2f", percentage);
}
}
Output: -
Statement: write a SQL Query to select customers details who belongs to Mexico country
Customer Table:
Code:
SELECT *FROM Customers
WHERE Country= ‘Mexico’;
Result:
CHAPTER 4
REFLECTION NOTES (OUTCOMES)
4.1 EXPERIENCE IN THE ORGANIZATION
This report is about the internship, worked at QSpiders. It was a good time to practice and
to improve the knowledge we had learnt into real environment. The internship report has four
chapters. The first chapter is about the company profile. The second chapter writes about the
company and department in the organization. The third chapter says about the concepts
learned and the last part in this reflection notes is the conclusion of the internship and future
work. The job description and motivation do it.
Internship position
The internship started from 10th Jan 2020 to 10th Feb 2020. The Concepts learned
namely are “Java, SQL and JDBC”.
Work Experience
The internship was quite satisfactorily in terms of work environment. The team we
have worked with was very friendly and helped a lot in all our problems. New experiences
include teamwork, responsibility and commitments.
Strong verbal communication skills are important for everyone. They are extremely
valuable in both our personal and professional life. When speaking clearly, confidently
and with poise, we are much more likely to commend the respect of others and build
rapport. This is particularly important in business interactions. We have improved a lot
in oral and written communication. The team was very good, co- operative and they gave
valuables ideas and suggestions.
Time management is one of the most important skills one can have in the workplace.
Deadlines are important, and while one might not meet all of them, they teach us valuable
professional lessons that we will carry with us throughout our career.
CONCLUSION
Overall, this internship was a useful experience. I have gained new knowledge and skills. I
achieved several of my learning goals. The things that they thought in our internship were core
Java, SQL, Web Technology and J2EE. At the end of the course, we are able to manage the data
using SQL queries and connect database and java using JDBC. Internship helped us in
overcoming the difficulties faced in the project related to JDBC. Undergoing Internship in
QSpiders was good experience which enhanced our skills and made able to increase our
knowledge in implementing the project.
REFERENCES
[1] hhtps://www.javatpoint.com/dbms-sql-command
[2] https://data-flair.training/blogs/sql-date-functions
[3] https://www.javatpoint.com/java-tutorial
[4] https://www.tutorialspoint.com/hibernate/index.htm
[5] https://www.baeldung.cvom/spring-tutorial