Java Web Developer
SCHOOL OF PROGRAMMING AND DEVELOPMENT
UDACITY.COM
Overview
Advance your Java career with projects in web services, security, persistence, and DevOps with this Nanodegree. Learn industry-standard tools like Spring Boot, Jenkins, and Selenium used in modern enterprise development.
Nanodegree Program
Level: Intermediate
Duration: 69 hours
Rating: 4.6 (294 Reviews)
Prerequisites
Prior to enrolling, you should have the following knowledge:
- Basic SQL
- Intermediate Java
You will also need to be able to communicate fluently and professionally in written and spoken English.
Skills You'll Learn
Spring Boot Basics [Java]
Selenium | Spring boot configuration | Object-relational mapping | Spring MVC | Servlets | Spring managed components | Spring security | Unit testing | MyBatis | Thymeleaf | Model-view-controller | Junit | Java testing | Functional testing | Application servers | Maven | Java package management | HtML template creation | Dependency injection | Java annotations | Java assertions | SQL queries | Behavioral software testing | Hashing | Spring boot | Data encryption | Intellij | Spel
Web Services and APIs
Graphql | Swagger | REST APIs | Web services | Spring security | Microservices | Software testing | Application security basics | Spring boot | Soap | Microservices architecture basics | Front-end development basics | Data format fundamentals | JSON | API documentation | HTTP | XML | API security | API development | Integration testing | Unit testing | Errors and exceptions
Data Stores & Persistence
Object-relational mapping | Spring data jpa | Jpa | Unit testing | Multitier architecture | Hibernate ORM | Repository design pattern | Spring boot | Jpql | DAOs | SQL queries | Java data types | Relational database transactions | Spring boot configuration | Jdbc | Dtos | SQL scripts | Java inheritance | Spring managed components | Dependency injection
Security and DevOps
Docker | Git | Splunk | Logging | Application security best practices | CI/CD | Code coverage | Application security basics | Jenkins | Unit testing | Junit | Negative testing | Jwts | Happy path testing | Hashing | Application metrics
Courses
01. Welcome to Java Web Developer Nanodegree Program
- L1 Java Web Developer Nanodegree Orientation
- L2 Knowledge, Community, and Careers
02. Spring Boot Basics [Java]
Learn the fundamentals of Java while being introduced to a Spring Boot framework and associated integrations and plugins.
- L1 Introduction to Spring Boot In this lesson, you will meet your instructor, learn about the prerequisites, and discuss what web development is and how it has been accomplished.
- Web Development in Java In this lesson, we're going to take a look at the structure of web applications in Java, Spring's role in web development, and the use of Maven as a dependency management tool.
- L3 Spring Boot Basics for Web Development In this lesson, we'll be learning how Spring framework operates and how to integrate with it to build flexible, maintainable application components.
- Spring MVC and Thymeleaf In this lesson, we're going to learn how to build web sites with Spring! We'll be using Spring MVC and Thymeleaf.
- Data Persistence & Security In this lesson, we will explore connecting our Spring Boot applications to SQL databases and the benefits of persistent data. We'll be using MyBatis and Spring Security!
- L6 Testing In this lesson, you'll learn how to use Selenium, write tests with JUnit, and integrate Selenium in order to test complex, multi-action user stories.
- L7 Project: SuperDuperDrive
03. Web Services and APIs
16 hours
Explore the differences between web services, APIs, and microservices. Develop REST and GraphQL APIs, and learn how to secure, consume, document, and test those APIs and web services.
| Lesson | Topic | Description |
|---|---|---|
| L1 | Overview | First, meet your instructor Kesha and learn about the course. Then, learn a brief overview of web services and how they compare to APIs and microservices. |
| L2 | REST APIs | Learn how to build RESTful APIs with Spring Boot, first by learning about the REST architecture, then how to use annotations with REST controllers in Spring Boot. |
| L3 | GraphQL APIs | Dive into GraphQL, a query language for APIs. GraphQL lets calling clients limit the data response to just what is needed. |
| L4 | Microservices | Find out how Microservices improve on the older monolithic application structure, including how to use Eureka and Spring Data REST for easy development and deployment. |
| L5 | Security | Security is key to keeping your information safe - here, you'll learn how to add security to your APIs to keep out unwanted eyes and avoid undesired changes. |
| L6 | Consuming SOAP & REST | Enable the consumption of SOAP and REST APIs within your own API to further speed up development time and avoid reinventing the wheel. |
| L7 | Documentation | Learn about the importance of documentation and easily implement it with the use of Swagger within your code. |
| L8 | Unit & Integration Tests | Build unit and integration tests to give you confidence your application continues to work as intended after making new changes to your code. |
| L9 | Project: Build the Backend System for a Car Website | In this project, you'll create a REST API to store vehicle data, while consuming information regarding location and pricing data from external resources. Also, you'll document and test your API! |
04. Data Stores & Persistence
Build applications that read and write to relational databases using both the Java Persistence API (JPA) and SQL. Use standard design patterns to make your persistence layer easy to test and integrate with a Spring Boot application.
| Lesson | Topic | Description |
|---|---|---|
| L1 | Introduction to Data Stores & Persistence | An introduction to the Data Stores & Persistence course. You will learn about persisting data in web-based Java applications. |
| L2 | Data in Multitier Architecture | This lesson discusses Entity design and the relationship between data in the various layers of your application. |
| L3 | Java Persistence API (JPA) | We'll be looking at using JPA to manage the state of our Entities for us. We'll learn about the concept of a Persistence Context and using an Entity Manager to change the state of our Entities. |
| L4 | Connecting To Data Sources | In this lesson, you'll set up an external database, connect to external databases, configure and initialize multiple data sources, and configure data sources for unit tests. |
| L5 | Persistence Without JPA | In this lesson, we'll be covering initialization with SQL, Data Objects vs. Entities, Data Access Objects (DAOs), JdbcTemplate, and Performance. |
L6 Project: Critter Chronologer
05. Security and DevOps
Learn about Git, version control and best practices for authorization and authentication. Use Jenkins to build a CI/CD pipeline to deploy code to production.
| Lesson | Topic | Description |
|---|---|---|
| 1 | Authentication and Authorization | Implement authentication on a Spring Boot application using a JSON Web Token (JWT). |
| 2 | Testing and Logging | Refresh testing fundamentals. Use logging to get insights into your code and debug your applications. Get practice with two commonly used logging utilities: SLF4J and Log4J. |
| 3 | Splunk | Splunk was founded in 2003 to make sense of machine-generated data. Here you'll learn about what Splunk can be used for, how to install it, and how to use it for generating dashboards and more. |
| 4 | CI&CD | |
| 5 | Project: eCommerce Application |
06. Intro to Java Programming
9 hours
- L1 Variables and Data Types Discover the basic idea behind programming and write your first Java program. Use variables to store and retrieve information.
- L2 Control Flow and Conditionals Use if-else statements and switch-case statements to write Java programs to tackle any decision making scenario.
- L3 Functions Create functions in Java. Declare methods with input arguments and return types. Then, call the functions you create.
- Loops Use for and while loops to iterate over a block of code. Learn how to write nested loops. Use 2D arrays to store and retrieve information.
- L5 IntelliJ and Debugging Prepare for your next project by installing Java and IntelliJ, debugging your code, and applying the skills learned in previous lessons.
Meet Your Instructors

Peter Zastoupil
Instructor
Peter Zastoupil is an enterprise developer and technical administrator. He has seven years of on-the-job experience building features for massive enterprise Java servers, and over four years of teaching those skills to new developers.

Kesha Williams
Instructor
Kesha has over 20 years experience in software development and is a software engineering manager at Chick-fil-A, routinely leading innovation teams in proving out the use of cloud services to solve complex business problems. She was recently named an Alexa Champion by Amazon.

Alex Pritchard
Senior Software Engineer
Alex is a Senior Software Engineer for CPA Global. He is excited to combine his background as a music educator with more than a decade of enterprise Java experience to help create this hands-on course about testing and deploying Java applications.

Sareeta Panda
Instructor
Sareeta is a Java enthusiast and Senior Developer at Walmart e-Commerce. She specializes in Enterprise Application development with Java and Kafka, NoSQL, Spring security, and CI/CD. Sareeta has over a decade of experience, spanning recently acquired startups to top Fortune 500 companies.
Why Udacity

Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience
✓ Gain proven experience ✓ Retain knowledge longer ✓ Apply new skills immediately

24 /7 access to real human support
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work
✓ Get help from subject matter experts ✓ Gain valuable insights and improve your skills
✓ Learn industry best practices