0% found this document useful (0 votes)
7 views3 pages

Techs

Uploaded by

Sooryamol S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views3 pages

Techs

Uploaded by

Sooryamol S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

Technologies:

Absolutely! Let's break down each technology used in this project:


Search engine:

1. **Java Servlet**:
- It helps to create mini servlets. we can divide servlet to mini servlets. each
of them will have theirown functions. so if user request then the mini servlet
which has that function will trigger.
- Java Servlets are server-side components that handle requests and generate
responses for web applications running on a web server.
- In this project, Servlets are used to handle HTTP requests from the frontend,
process search queries, interact with the database, and send back search results to
the user's browser.

2. **JSP (JavaServer Pages)**:


-for connecting frondend with backend.
- JSP is a technology used to create dynamic web pages in Java.
- JSP pages contain HTML along with Java code snippets embedded in `<% %>` tags.
- In this project, JSP files (`index.jsp`, `search.jsp`, `history.jsp`) are used
to create the user interface for the search engine, allowing users to input search
queries and display search results.

3. **Web Crawler**:
- A web crawler is a program that systematically browses the internet, typically
for the purpose of indexing web content.
- In this project, the `Crawler` class implements a web crawler using a Depth-
First Search (DFS) algorithm to navigate through web pages.
- The crawler extracts text and links from web pages using the Jsoup library and
stores crawled data in a HashSet.

4. **Indexer**:
- The indexer is a component responsible for indexing the content of crawled web
pages and storing relevant information in a database.
- In this project, the `Indexer` class indexes the title, link, and text content
of web pages and inserts this data into a MySQL database using JDBC.

5. **Jsoup**:
- Jsoup is a Java library for working with HTML documents, parsing,
manipulating, and extracting data from them.
- In this project, Jsoup is used by the web crawler (`Crawler` class) to parse
HTML documents, extract text, and retrieve links from web pages.

6. **JDBC (Java Database Connectivity)**:


- JDBC is a Java API for connecting and executing SQL queries against a
database.
- In this project, JDBC is used to establish a connection to a MySQL database,
execute SQL queries to insert and retrieve data, and interact with the database
from Java code.

These technologies work together to create a functional search engine web


application. The web crawler collects web page data, the indexer indexes and stores
this data in a database, Java Servlets handle user requests and search queries, JSP
files provide the user interface, and JDBC facilitates database interaction. Let me
know if you'd like further explanation on any of these technologies!

Library management system:


The Library Management System project utilizes a variety of technologies and
frameworks to implement its backend functionality. Here's a breakdown of the main
technologies used:

### 1. Java:
- Java serves as the primary programming language for the project, providing
robustness, platform independence, and object-oriented programming capabilities.

### 2. Spring Boot:


- Spring Boot is a popular Java framework used for building web applications and
microservices. It simplifies the setup and development of Spring-based applications
by providing convention-over-configuration and auto-configuration features.
- Key components of Spring Boot used in the project include:
- Spring Web: For building RESTful web services and handling HTTP requests.
- Spring Data JPA: For simplifying database access and interaction through JPA
(Java Persistence API).
- Spring IoC (Inversion of Control) Container: For managing the application's
beans and their dependencies.
- Spring MVC (Model-View-Controller): For structuring the application into
separate layers for handling requests, processing business logic, and rendering
responses.

### 3. Hibernate:
- Hibernate is an ORM (Object-Relational Mapping) framework for Java, used in
conjunction with JPA to simplify database operations by mapping Java objects to
database tables.
- Hibernate provides features like automatic table creation, CRUD operations, and
querying capabilities through JPQL (Java Persistence Query Language).

### 4. Spring Data JPA:


- Spring Data JPA is a part of the larger Spring Data project that simplifies JPA-
based data access in Spring applications.
- It provides repository interfaces with CRUD methods out-of-the-box, reducing the
amount of boilerplate code needed for database interactions.

### 5. Lombok:
- Lombok is a Java library that helps reduce boilerplate code by automatically
generating common code constructs like getters, setters, constructors, and
equals/hashCode methods.
- Annotations like `@Getter`, `@Setter`, `@NoArgsConstructor`, and
`@AllArgsConstructor` from Lombok are used to enhance code readability and
maintainability.

### 6. Jakarata EE (formerly Java EE):


- Jakarta EE (formerly Java EE) is a collection of specifications and APIs for
building enterprise-level Java applications.
- Annotations like `@Entity`, `@Table`, and `@JoinColumn` are part of Jakarta
Persistence (formerly JPA), used for defining entity classes and their
relationships.

### 7. Spring Boot Starter Dependencies:


- Spring Boot Starter dependencies are a set of curated dependencies that simplify
the configuration of Spring Boot applications by providing pre-configured libraries
for common functionalities.
- Dependencies like `spring-boot-starter-web`, `spring-boot-starter-data-jpa`, and
`spring-boot-starter-test` are commonly used in Spring Boot projects.

### 8. Java Util Date and Time API:


- The project utilizes Java's `Date` class and the `java.time.LocalDate` class for
handling date and time operations.
- Annotations like `@CreationTimestamp` from Hibernate are used to automatically
populate fields like issue date in transactions.

### 9. Maven (or Gradle):


- Maven or Gradle is used as a build automation tool and dependency management tool
to manage project dependencies, build the project, and generate artifacts.

### 10. RESTful APIs:


- The project implements RESTful APIs (Representational State Transfer) for
communication between the frontend and backend components.
- Annotations like `@RestController`, `@GetMapping`, `@PostMapping`, etc., are used
to define API endpoints and handle HTTP requests.

By leveraging these technologies and frameworks, the project achieves modularity,


scalability, and maintainability, making it easier to develop and manage a robust
Library Management System.

You might also like