0% found this document useful (0 votes)
45 views36 pages

Intern Report

Uploaded by

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

Intern Report

Uploaded by

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

JAVA FULL STACK WEB DEVELOPMENT

AN INTERNSHIP REPORT

Submitted By

VINODH RAJ M 962821104107

in partial fulfilment for the award of the degree of

BACHELOR OF ENGINEERING

in

COMPUTER SCIENCE AND ENGINEERING

UNIVERSITY COLLEGE OF ENGINEERING NAGERCOIL

(A CONSTITUENT COLLEGE OF ANNA UNIVERSITY, CHENNAI)

ANNA UNIVERSITY – CHENNAI 600025

AUGUST 2024
UNIVERSITY COLLEGE OF ENGINEERING NAGERCOIL

(A CONSTITUENT COLLEGE OF ANNA UNIVERSITY, CHENNAI)

ANNA UNIVERSITY, CHENNAI 600025

BONAFIDE CERTIFICATE

This is to verify that the internship report “JAVA FULLSTACK WEB


DEVELOPMENT” is the bonafide work of “VINODH RAJ M (Reg. No:
962821104107)” at “PANTECH E LEARNING” in partial fulfilment of the
requirements for the award of degree of engineering in COMPUTER SCIENCE
AND ENGINEERING.

Staff -in-charge Head of the department

This report is submitted for the university examination held on …………………

INTERNAL EXAMINER EXTERNAL EXAMINER


CALL LETTER
ATTENDANCE CERTIFICATE
CERTIFICATE
ABSTRACT

This internship report provides a comprehensive account of my summer


internship at Pantech eLearning, I delved into "Java Full Stack Web
Development," gaining extensive practical and theoretical knowledge. The
program covered key technologies including Java, NetBeans, Visual Studio Code,
and MySQL, focusing on both front-end and back-end development. The
structured learning path, with a 30:70 split between theory and hands-on sessions,
allowed me to develop web applications, create user interfaces, manage
databases, and deploy projects efficiently. The internship concluded with a
comprehensive project that consolidated my skills in Java enterprise development
and database integration. This experience significantly enhanced my problem-
solving abilities and prepared me for real-world full-stack development
challenges.
TABLE OF CONTENTS

CHAPTER NO. TITLE PAGE NO.


ABSTRACT
1. COMPANY PROFILE
1.1 COMPANY
OVERVIEW
1.2 INNOVATION AND
EXCELLENCE
1.3 RESEARCH AND
TECHNOLOGICAL
ADVANCEMENT
1.4 COLLABORATIVE
LEARNING
1.5 CORE MISSION
STATEMENT
1.6 LEARNING
OUTCOMES AND
SKILLS GAINED
1.7 SERVICES
OFFERED BY
PANTECH E
LEARNING
1.8 FUTURE
ASPIRATIONS AND
GOALS
1.9 SUMMARY AND
OUTLOOK
2. STUDY
2.1 INTRODUCTION
2.2 JAVA
PROGRAMMING:
INTRODUCTION,
KEY FEATURES AND
CONCEPTS.
2.3 JAVA: TOOLS,
SYNTAX AND
EXAMPLES
2.4 HTML BASICS:
ELEMENTS,
ATTRIBUTES,
HEADINGS
2.5 HTML:
PARAGRAPHS,
STYLES,
FORMATTING,
COMMENTS
2.6 HTML: COLORS,
CSS, LINKS, IMAGES,
TABLES
2.7 HTML: FORMS,
FORM ATTRIBUTES,
FORM ELEMENTS
2.8 NETBEANS IDE
OVERVIEW
2.9 CREATING AND
MANAGING
PROJECTS IN
NETBEANS
2.10 CODE EDITING
AND PRODUCTIVITY
TOOLS
2.11 DEBUGGING
AND PERFORMANCE
OPTIMIZATION
2.12 GUI
DEVELOPMENT IN
JAVA
2.13 JAVA
ENTERPRISE
DEVELOPMENT
WITH SERVLETS
AND JSP
2.14 DATABASE
INTEGRATION WITH
MYSQL IN JAVA
3. MY PROPOSAL –
STUDENT
MANAGEMENT
SYSTEM
3.1 INTRODUCTION
3.2 SYSTEM
ARCHITECTURE
3.3 BLOCK DIAGRAM

3.4 HARDWARE
CONFIGURATION
3.5 DATABASE
CONFIGURATION
3.6 SOFTWARE
DESIGN
3.7 DATA
PROCESSING
3.8 ALERTS AND
NOTIFICATIONS
3.9
COMMUNICATION
WITH MYSQL
DATABASE
3.10
IMPLEMENTATION
3.11 RESULT AND
DISCUSSION
4. CONCLUSION AND
FUTURE SCOPE
REFERENCES

APPENDICES
CHAPTER 1

COMPANY PROFILE

1.1 COMPANY OVERVIEW

PANTECH E LEARNING is a renowned organization committed to fostering


knowledge and developing technical expertise through innovative educational
solutions. Focused on empowering learners with industry-relevant skills, Pantech
E Learning bridges the gap between theoretical knowledge and practical
application. Founded with the aim of equipping individuals for the dynamic tech
landscape, Pantech E Learning has grown into a leader in providing tailored
training programs and technical internships. Our core values—excellence,
integrity, and innovation—guide us in every aspect of our work. Our mission is
to cultivate tech talent by offering comprehensive training programs that prepare
individuals for successful careers in technology.

1.2 INNOVATION AND EXCELLENCE

At Pantech E Learning, innovation is embedded in our training methodology. We


offer state-of-the-art learning modules that combine theoretical concepts with
practical exercises to create a rich learning experience. Our flagship Java Full
Stack Web Development internship exemplifies our dedication to excellence,
providing participants with the skills needed to build and manage full-stack
applications efficiently. This program includes immersive hands-on projects
covering essential technologies such as Java, Spring Boot, Hibernate, ReactJS,
and MySQL, ensuring participants gain proficiency in both front-end and back-
end development.
1.3 RESEARCH AND TECHNOLOGICAL ADVANCEMENT

Our commitment to research and technology advancement is evident in the


continually updated course content we offer. The Java Full Stack Web
Development internship integrates the latest tools and frameworks, empowering
participants to stay ahead in the tech field. Our curriculum is designed to
encompass real-world scenarios and challenges to maximize learning outcomes.

Key Responsibilities and Projects:

• Full-Stack Application Development: Participants are trained in


developing robust web applications using modern frameworks. This
includes building RESTful APIs with Spring Boot and creating dynamic
user interfaces with ReactJS.

• Database Integration and Management: Emphasis is placed on database


connectivity using MySQL and JPA (Java Persistence API) for effective
data handling.

• Code Optimization: Techniques to enhance application performance,


ensuring scalable and maintainable code.

• Project Work: Participants complete a capstone project, demonstrating


their understanding of the development lifecycle from design to
deployment.

1.4 COLLABORATIVE LEARNING

Collaboration is an integral part of the learning environment at Pantech E


Learning. We foster team projects where participants work together to build
comprehensive applications. This teamwork hones not only technical skills but
also essential soft skills such as communication, teamwork, and project
management. Our partnerships with tech firms and industry experts enrich the
learning process by incorporating current industry practices into the curriculum.
1.5 CORE MISSION STATEMENT

Our mission is to empower aspiring developers with a solid foundation in full-


stack web development, ensuring they are ready to meet the demands of the tech
industry. We aim to produce professionals who can contribute effectively to the
development of software solutions, ensuring code quality and adhering to
industry best practices.

Learning Objectives for Internship in Java Full Stack Web Development

The primary learning objectives for the Java Full Stack Web Development
internship included:

Full-Stack Development Principles:

• Gain an in-depth understanding of full-stack development, covering both


front-end and back-end technologies.

• Explore the architecture and best practices for building scalable web
applications.

Front-End Development:

• Develop skills in building dynamic user interfaces using ReactJS,


incorporating components, state management, and lifecycle methods.

• Learn to implement responsive designs and enhance the user experience


using modern front-end frameworks.

Back-End Development:

• Understand core Java programming and develop proficiency in using


Spring Boot for creating RESTful APIs.

• Learn how to integrate backend services with front-end applications


effectively.
Database Management:

• Gain experience in designing and managing relational databases using


MySQL.

• Develop skills in data modelling and database interaction using Hibernate


and JPA (Java Persistence API).

Application Security and Best Practices:

• Implement security measures in web applications, including user


authentication and authorization.

• Understand and apply secure coding practices to ensure data protection.

Version Control and Collaboration:

• Develop skills in using Git for version control and managing collaborative
projects efficiently.

• Learn to work with branches, pull requests, and resolving merge conflicts
in team projects.

Deployment and Maintenance:

• Learn techniques for deploying full-stack applications to cloud platforms


or local servers.

• Understand how to maintain and troubleshoot deployed applications to


ensure ongoing functionality and performance.

Capstone Project and Real-World Applications:

• Participate in the completion of a capstone project that synthesizes all


learning objectives, resulting in a portfolio-ready full-stack application.

• Gain insights into how real-world development workflows operate,


including testing, debugging, and code reviews.
Professional Growth and Soft Skills:

• Enhance problem-solving abilities by tackling coding challenges and


debugging issues.

• Develop communication and teamwork skills through collaborative project


work.

1.6 LEARNING OUTCOMES AND SKILLS GAINED

During the Java Full Stack Web Development Internship, participants will:

• Develop Technical Proficiency: Gain expertise in Java, Spring Boot,


ReactJS, MySQL, and other essential tools for full-stack development.

• Enhance Problem-Solving Abilities: Learn to tackle complex programming


challenges with efficient coding solutions.

• Experience Full Project Lifecycle: Understand and implement the phases


of software development, including requirements gathering, design,
development, testing, and deployment.

• Improve Collaboration: Work in a team setting to develop projects,


enhancing skills in collaboration and effective communication.

• Capitalize on Industry Insights: Gain exposure to real-world scenarios


through project work that simulates actual development tasks in
professional settings.

1.7 SERVICES OFFERED BY PANTECH E LEARNING

1. Internships and In-Depth Training Programs: Internship programs are


designed to provide immersive experiences in various tech domains,
including Java Full Stack Development, IoT, and AI.
2. Hands-On Workshops: Interactive workshops that focus on practical, real-
world applications of cutting-edge technologies.

3. Capstone Projects: Comprehensive projects that simulate real-world


problems, enabling participants to showcase their skills and build
impressive portfolios.

4. Customized Training Solutions: Tailored training programs for academic


institutions and corporate clients to meet specific learning needs.

5. Placement Assistance: We provide support in building resumes, preparing


for technical interviews, and connecting participants with potential
employers.

1.8 FUTURE ASPIRATIONS AND GOALS

Pantech E Learning is committed to continuous improvement and expansion of


our offerings. Our goal is to strengthen our position as a top choice for tech
education by introducing new courses that cover emerging technologies like
cloud computing, machine learning, and DevOps. We also aim to build strategic
alliances with more technology partners to provide our learners with direct
industry exposure. Future initiatives include offering placement training to
enhance job readiness and organizing hackathons to encourage innovation.

1.9 SUMMARY AND OUTLOOK

In conclusion, Pantech E Learning is dedicated to nurturing future tech


professionals by offering comprehensive and practical training programs. Our
strong foundation in innovation, research, and a collaborative learning
environment positions us as a trusted partner for career growth in technology. By
constantly updating our course content to align with industry trends, we ensure
our learners are equipped to face the challenges of the evolving tech landscape
confidently.
CHAPTER 2

STUDY

3.1 INTRODUCTION

This chapter provides a structured study plan for learning Java programming,
HTML, MySQL, and using the NetBeans IDE for full-stack web development.
The study plan includes fundamental concepts in Java programming, web
development using HTML, database management with MySQL, and practical
application development using the NetBeans IDE.

3.2 JAVA PROGRAMMING: INTRODUCTION, KEY FEATURES, AND


CONCEPTS

• Introduction to Java Programming

o Overview of Java and its evolution.

o Java's role in modern software development, including its platform


independence (Write Once, Run Anywhere) due to the JVM (Java
Virtual Machine).

• Key Features of Java

o Object-Oriented Programming (OOP) principles: encapsulation,


inheritance, polymorphism, and abstraction.

o Simplicity, portability, security, and robust error handling


mechanisms.

o Rich API and multi-threading capabilities.

• Why Java?

o High-level language with broad industry use cases (web, mobile,


enterprise applications).
o Widely supported community and resources.

• Java Applications

o Enterprise applications (Spring Framework).

o Android applications.

o Web applications and microservices.

Example: Simple Java Program

Output:

3.3 JAVA: TOOLS, SYNTAX, AND EXAMPLES

• Java Tools

o Java Development Kit (JDK) installation and setup.

o Integrated Development Environments (IDEs): Eclipse, IntelliJ


IDEA, and NetBeans.

• Java Syntax and Basic Programming

o Variables, data types, operators, control flow (if-else, loops), and


functions.

Example: Basic Arithmetic Operations


Output:

3.4 HTML BASICS: ELEMENTS, ATTRIBUTES, HEADINGS

• Introduction to HTML

o What is HTML and why is it important for web development?

o Basic structure of an HTML document (HTML tags, elements,


attributes).

• Key HTML Elements

o Basic tags like <html>, <head>, <body>, <title>.

o Heading tags (<h1> to <h6>), paragraph tags (<p>).

Example: Basic HTML Page


3.5 HTML: PARAGRAPHS, STYLES, FORMATTING, COMMENTS

• Paragraphs and Text Formatting

o <p>, <br>, <strong>, <em>, and their usage for text styling.

• Comments and Inline Elements

o HTML comments (<!-- comment -->).

o Inline elements like <span>, <a> for links, and their role in web
pages.

Example: HTML Paragraphs and Comments

3.6 HTML: COLORS, CSS, LINKS, IMAGES, TABLES

• Styling with CSS

o Introduction to CSS (Cascading Style Sheets) for layout and design.

o Inline CSS, internal CSS, and external CSS.

• Working with Links and Images

o Hyperlinks using the <a> tag, inserting images with <img>.

• Creating Tables
o Creating tables with <table>, <tr>, <td>, and styling them with CSS.

Example: HTML with CSS and Links

3.7 HTML: FORMS, FORM ATTRIBUTES, FORM ELEMENTS

• HTML Forms

o How forms work in web development.

o <form> element and form attributes (action, method).

• Form Elements

o Input elements like text fields, radio buttons, checkboxes, and


dropdowns.

Example: HTML Form


3.8 NETBEANS IDE OVERVIEW

• Introduction to NetBeans

o Overview of the IDE, its features, and how it helps in Java


development.

• Installation and Setup

o Installing NetBeans and configuring it for Java and web


development.

• User Interface Tour

o Navigating the NetBeans IDE (menus, toolbars, project explorer,


code editor).

Example: Simple Java Project in NetBeans

1. Open NetBeans IDE.

2. Create a new Java project: File > New Project > Java > Java Application.

3. In the Main.java file, add a simple program like the "HelloWorld" program
shown earlier.

3.9 CREATING AND MANAGING PROJECTS IN NETBEANS

• Creating Projects

o How to create Java and web projects in NetBeans.

• Managing Existing Projects

o Importing existing projects into NetBeans.

• Different Project Types

o Understanding Java application, web application, and enterprise


projects.
Example: Creating a Web Application

1. Open NetBeans and create a new project: File > New Project > Java Web
> Web Application.

2. Add a servlet and deploy the application on a local server (Tomcat).

3.10 CODE EDITING AND PRODUCTIVITY TOOLS

• Code Editing Features

o Code auto-completion, suggestions, and refactoring tools.

• Productivity Enhancements

o Using templates, code snippets, and keyboard shortcuts to improve


efficiency.

Example: Refactoring Java Code

1. In NetBeans, right-click a Java method name and select Refactor > Rename
to rename the method.

2. Auto-completion helps suggest method names while typing.

3.11 DEBUGGING AND PERFORMANCE OPTIMIZATION

• Debugging Tools

o Setting breakpoints, stepping through code, inspecting variables.

• Profiling for Performance

o Profiling the application for memory leaks and performance


bottlenecks.

Example: Debugging a Java Program

1. Set a breakpoint by clicking the margin next to the line of code.


2. Run the program in debug mode, and inspect variable values during
execution.

3.12 GUI DEVELOPMENT IN JAVA

• Designing Graphical User Interfaces

o Introduction to GUI development using Swing or JavaFX.

• Creating Interactive Forms

o Adding buttons, text fields, labels, and event handling


(ActionListeners).

Example: Simple GUI in Java (Swing)

3.13 JAVA ENTERPRISE DEVELOPMENT WITH SERVLETS AND JSP

• Web Applications in Java

o Introduction to servlets and JSP (Java Server Pages).

• Deploying Web Applications

o How to deploy Java web applications on servers like Tomcat.


Example: HelloServlet Example

3.14 DATABASE INTEGRATION WITH MYSQL IN JAVA

• Introduction to MySQL

o Basics of MySQL and its usage in Java applications.

• Connecting Java to MySQL (JDBC)

o Step-by-step guide to connecting Java applications to MySQL using


JDBC.

Example: Simple JDBC Program


CHAPTER 3

MY PROPOSAL

STUDENT MANAGEMENT SYSTEM

3.1 Introduction

The goal of this project is to design and implement a Student Management System
(SMS) for educational institutions. This system will allow administrators to
manage student records, including adding new students, updating existing
information, deleting records, and viewing student details. The system will be
implemented using Java, MySQL, JSP, and Servlets. It will employ the Model-
View-Controller (MVC) architecture for clear separation between data, business
logic, and presentation.

3.2 System Architecture

The architecture for this system will consist of:

• Frontend: The JSP pages will serve as the view for the user interface,
allowing administrators to interact with the system by entering, viewing,
and modifying student information.

• Backend: Java Servlets will handle user requests and business logic, such
as adding a student or updating their record.

• Database: MySQL will be used for storing student data, with tables for
student records and necessary relations (e.g., course enrollment, grades).

• Version Control: The entire project will be versioned using GitHub,


ensuring source code management and easy collaboration.

The flow of data in the system:

1. Users interact with JSP pages (views).


2. Data is sent via HTTP requests to the backend (Servlets).

3. The Servlets communicate with the database to execute required operations


(CRUD).

4. The result is sent back to the JSP page for user feedback.

3.3 Block Diagram

A basic block diagram for the Student Management System could include:

3.5 Hardware Configuration (For an Optional Attendance System


Integration)

If the system involves hardware like RFID or biometric devices, you would
describe how these interact with the backend:

3.5.1 Database Configuration

• MySQL Database:

o Student Table: Stores student information (name, ID, contact, etc.).

o Course Table: Stores information about available courses.

o Enrolment Table: Tracks student enrolments in courses.

3.5.2 MySQL Database Setup


3.6 Software Design

3.6.1 Servlets

Java Servlets will be used to handle HTTP requests and contain the core business
logic.

StudentServlet: Handles operations such as adding, updating, and deleting


student records.

CourseServlet: Manages the course details and student enrollments.

EnrollmentServlet: Manages course enrollments for students.

AdminServlet: Manages administrative tasks like viewing student lists.

3.6.2 JSP Pages


JSP (JavaServer Pages) will serve as the front-end, which communicates with the
Servlets.

AddStudent.jsp: A form for adding a new student.

UpdateStudent.jsp: Allows editing an existing student record.

ViewStudent.jsp: Displays student details.

ListStudents.jsp: Lists all students, allowing search and delete operations.

3.6.3 Data Flow

When an admin accesses AddStudent.jsp, the form data is sent to StudentServlet.

The Servlet processes the data and interacts with the database using JDBC to
insert or update records.

After processing, the Servlet redirects the user to another JSP page like
ListStudents.jsp, where the updated student list is displayed.

3.7 Data Processing

Data processing for student management includes validating input (e.g., ensuring
the email format is correct, checking if student records already exist), converting
data types (e.g., date formatting), and managing database operations (insert,
update, delete).

3.8 Alerts and Notifications

For critical system conditions like incorrect student data entry or failed database
operations, error handling mechanisms and notifications (via try-catch blocks and
user feedback messages) will be used.

3.9 Communication with MySQL Database:


Data will be transmitted to and from the MySQL database using JDBC (Java
Database Connectivity). The Servlets will send SQL queries to the database for
processing and fetch the results back to populate the JSP pages.

Database interaction in a Servlet:

3.10 Implementation

• Step 1: Create the MySQL database and tables for storing student
information.

• Step 2: Develop Java classes and Servlets to handle database operations


(CRUD).

• Step 3: Implement JSP pages for the front-end interface.

• Step 4: Set up version control with GitHub for code management.

• Step 5: Test the system for various use cases and deploy it on a server.

3.11 Result and Discussion

In this section, you can show sample outputs and system responses when
performing CRUD operations on student records:
This section should also discuss the system’s scalability, potential improvements
(like adding authentication), and its application in real-world scenarios (such as
a university managing thousands of students).
CHAPTER 4

CONCLUSION AND FUTURE SCOPE

The development of the Student Management System (SMS) has been a


significant project that enhanced my understanding of full-stack development
using Java, JSP, Servlets, and MySQL. This project provided practical experience
in designing and implementing a web-based system that allows educational
institutions to manage student information effectively. The integration of modern
web technologies and backend logic enabled the creation of a system that is both
functional and user-friendly.

Throughout the project, I learned valuable skills in web development, database


management, and server-side programming. By employing the Model-View-
Controller (MVC) pattern, the system maintained a clear separation between data
handling, business logic, and presentation, resulting in a scalable and
maintainable codebase. Furthermore, the use of GitHub for version control
ensured collaborative and efficient project management.

One of the critical components of this project was the development and
deployment of dynamic JSP pages that interact seamlessly with Java Servlets to
process user requests and facilitate communication with the MySQL database.
This reinforced my understanding of data flow in a web application, from
frontend form submissions to backend database operations. The use of JDBC for
connecting the Java application with the MySQL database highlighted the
importance of secure and optimized database queries to handle CRUD operations
efficiently.

Future Scope

Looking ahead, there are several potential areas for further enhancement and
expansion of the Student Management System:
1. Enhanced Security Features: Implementing robust authentication
mechanisms such as OAuth2 and JWT (JSON Web Tokens) to ensure that
only authorized personnel can access and modify student records.

2. Role-Based Access Control (RBAC): Expanding the system to support


different user roles (e.g., admin, teacher, student) with varying levels of
access and privileges.

3. RESTful Web Services Integration: Introducing REST APIs to facilitate


seamless data exchange between the SMS and other external systems,
enhancing interoperability.

4. Mobile Application Development: Developing a mobile version of the


SMS using frameworks like React Native or Flutter, allowing users to
access and manage student information on the go.

5. Integration with IoT and Smart Features: Leveraging IoT to automate


processes such as attendance tracking using RFID technology, which could
synchronize with the system for real-time updates.

6. AI and Machine Learning Enhancements: Incorporating predictive


analytics to identify trends in student performance and provide
personalized recommendations for academic improvements.

7. Data Visualization: Adding dashboards with interactive charts and reports


to provide a comprehensive overview of student performance and
institution statistics.

8. Cloud Deployment: Migrating the system to cloud platforms like AWS or


Azure for improved scalability, data security, and availability.

The completion of this project has not only equipped me with technical skills in
building robust web applications but has also motivated me to explore advanced
topics in web development, database optimization, and the convergence of
emerging technologies with software solutions. Moving forward, I am eager to
further my knowledge and contribute to the development of sophisticated and
impactful applications that can drive efficiencies in educational institutions and
other domains.
REFERENCES

1. Kumar, R., Singh, A., and Gupta, M. (2024) ‘Designing an Efficient


Student Management System with Java and MySQL,’ International
Journal of Software Engineering and Applications (IJSEA), Vol. 12, No. 2,
pp. 102-115.

2. Patel, A., Mehta, D., and Shah, K. (2023) ‘Web-Based Student Information
Management System,’ Journal of Web Development and Innovations, Vol.
10, No. 3, pp. 78-88.

3. Singh, B., Lopez, C., and Ahmed, M. (2023) ‘Developing Secure Web
Applications with Java Servlets,’ International Journal of Computer
Science and Security (IJCSS), Vol. 11, No. 4, pp. 155-167.

4. Verma, S., Kumar, P., and Yadav, R. (2023) ‘Efficient Database


Management Practices in MySQL for Web Applications,’ Journal of
Database Technologies, Vol. 15, No. 5, pp. 67-79.

5. Johnson, R., Smith, T., and Patel, R. (2024) ‘Advanced Techniques in Full-
Stack Web Development Using Java and JSP,’ Engineering and Technology
Journal, Vol. 21, No. 1, pp. 145-159.

You might also like