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

Spring MVC Web App Development Guide

Uploaded by

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

Spring MVC Web App Development Guide

Uploaded by

huo1010john
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Midterm Exam

Instructions and Rules


This assessment should be completed by every student individually.
Description – Web+ Spring MVC Boot + MySQL with JPA.
Husky Air wants to develop online web application for their reservation/itinerary. They
have approached you to develop suitable web app to cater their requirements.
Presently they have console-based application but would like to migrate to web based
application.
You are developing an SPRING MVC web app for the Husky Air business by creating
the following programs: controller java file, Model java file, html Thyme leaf view files,
and maven [Link]. prop files.
Instructions:
Create a New Project -> Spring Starter Project with appropriate dependencies required.
Name the project as: MidTerm_YourFullName_StudentId
Group: [Link] [for example [Link]]
Artifact: MidTerm_YourFullName_StudentId
Description: Spring Boot App to implement JPA
Package: [Link]

Web page should have the login functionality for username and password to validate.
(Insert your own dummy data to schema or let JPA do for you)
After login validation should allow the user to book the reservation filling up the
necessary details – firstName, lastName, NoofPassengers, ClassofTravel- Economy or
Business, phoneNo, dateofDeparture
(You can more attributes as you like)
The reservation page should allow the user to perform the booking i.e. allow to insert
the data using Jpa to database for the given attributes.
Reservation page should allow to go back to index page.
Show-reservation page should show the current booking done showing the name,
dateofdeparture, class etc using JPA.
Database/ MYSQL– Create a schema named as MidTerm_yourFullName.
Design appropriate tables that handle DBMS operations on the backend
Login Table – username to be varchar or int type and password should be varchar type.
Reservation Table- to have appropriate fields that map the user requirements given in
the image.

1. Your app must include at least the following code files:


o Controller file – java files
o Model file – java files
o View file – [Link]
o [Link] should have reference to reservation and login page
o [Link]
o [Link] page
o Maven file – [Link]
2. The assignment source code (Eclipse project with the necessary files) submitted
as a .zip file format – “YourName_StudentNo_Assign1.zip”.
3. Submit 2 mins video demonstrating the code and run on the browser. ( show the
code and output as shown in the browser).
[to earn full credit  Reset your Perspective as Java EE Full screen must be shared
in video/screenshot and Video is Mandatory to submit. Do not hide folders/project
structure and audio is not required in video recording. Video must show your complete
code, followed the results/output]
Only use technologies/framework as taught in the course.
Assessment Rubrics

View and UI Design: Task 1


15%
Defining a MySQL database, a table, and the configuration of the
[Link] file.

Defining an entity class to implement all the properties with appropriate


20%
data types and validations annotations.

Defining a controller class to implement CRUD functionalities like add,


20%
show all, and exists a row

Defining Repository or Service class to implement CRUD Repository


10%
methods.
Designing view Thymeleaf to provide user-friendly forms and output
pages with appropriate messages like validations and user-friendly 30%
messages.

Submission of screenshots showing the project results and Video 5%

Total 100%

Submission Rules
Total of 3 files are individually to be submitted.
1. Zip file of the source code
2. 2-3 mins of zoom/team or equivalent video showing the complete code, project
structure, output. [no URLs permitted]
3. 2-3 full screenshots in word file
Academic Honesty (Plagiarism and Cheating)
All students must follow the academic honesty policies regarding Plagiarism and
cheating on assignments, Quizzes or Tests. Centennial college's Academic Policy will
be strictly enforced. To support academic honesty at Centennial College, all academic
work submitted by students may be reviewed for authenticity and originality, by utilizing
software tools.
For more details, please visit the Academic Honesty site on
[Link]
academic-advising/academic-honesty/

Common questions

Powered by AI

Challenges in developing the Husky Air web application may include dealing with complex configurations of Spring MVC and JPA, ensuring security against threats like SQL Injection, managing concurrent database transactions without issues, and designing a responsive and intuitive UI with Thymeleaf. Further, integration with legacy systems and ensuring scalability and performance can also pose significant challenges .

Key evaluation criteria for UI and View design include user-friendliness, clarity in displaying information, validation of user inputs, and providing meaningful feedback. These criteria are important as they directly influence how users interact with the application, ensuring that users have a logical and error-free experience, which is crucial for user satisfaction and operational efficiency .

Maven is used in the development of the Husky Air web application for project management, dependency management, and build automation. It benefits the project by simplifying the build process through the pom.xml file, which specifies project dependencies, build configuration, and other related information, enabling consistent builds and easy integration with various tools and frameworks .

Necessary security measures for handling user login information include using encryption technologies like bcrypt to hash passwords, implementing secure sessions with HTTPS to protect data in transit, and using input validation and sanitization to prevent SQL injection attacks. These measures ensure that user credentials are protected against unauthorized access and data breaches, maintaining user trust and application integrity .

The main steps to develop a web application for Husky Air's reservation system include setting up a new Spring Starter Project with appropriate dependencies and naming conventions, implementing login functionalities with JPA entities, controllers, and views using Thymeleaf, defining a MySQL database schema for the application including login and reservation tables, and demonstrating CRUD functionality. Additionally, a Maven POM.xml file should be configured, and a demonstration video of the code running in the browser must be submitted .

Academic honesty is emphasized to ensure that students develop their problem-solving skills and understanding of the subject matter independently. It prevents plagiarism and cheating, thereby fostering a genuine learning environment. This emphasis also prepares students for real-world scenarios where integrity and accountability are critical values, thus impacting their overall educational and professional growth .

The Thymeleaf view in the Husky Air reservation web application provides a user-friendly interface for users to interact with the application. It is responsible for rendering the HTML forms for login, reservation booking, and reservation viewing. By presenting clear and interactive user interfaces and validating input data, it enhances user experience and ensures that the users receive appropriate feedback and instructions, making the process seamless and intuitive .

JPA (Java Persistence API) contributes to the overall functionality by providing a mechanism to manage relational data in an object-oriented manner. It allows the application to perform CRUD operations seamlessly between the application and database, manage entity lifecycle, and ensures synchronization between complex business logic and underlying database mechanics, thus enhancing both performance and scalability .

Migrating to a web-based platform offers advantages such as greater accessibility from any device with internet access, improved user interface through web technologies, and enhanced ability to handle concurrent user bookings. It also facilitates easier updates and maintenance, scalability for growing business needs, and potential integration with other web services or platforms .

The application.properties file should be configured to include the database connection details such as the URL, username, password, and driver class name, which are necessary for establishing the connection with the MySQL database. This configuration is critical because it enables the application to interact with the database, perform CRUD operations, and supports dependency management and environment-specific settings .

You might also like