Bird
Raised Fist0
Spring Bootframework~20 mins

Embedded server concept in Spring Boot - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Embedded Server Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What happens when you run a Spring Boot app with an embedded server?

Consider a Spring Boot application with the default embedded Tomcat server. What is the behavior when you run the app?

AThe app starts and listens on port 8080 without needing an external server.
BThe app fails to start because an external Tomcat server is required.
CThe app starts but does not listen on any port until manually configured.
DThe app starts but only serves static files, no dynamic content.
Attempts:
2 left
💡 Hint

Think about what embedded means in this context.

📝 Syntax
intermediate
1:30remaining
Which property sets the embedded server port in Spring Boot?

In application.properties, which property correctly sets the embedded server port to 9090?

Aspring.server.port=9090
Bserver.embedded.port=9090
Cembedded.server.port=9090
Dserver.port=9090
Attempts:
2 left
💡 Hint

Look for the standard prefix for server settings in Spring Boot.

🔧 Debug
advanced
2:30remaining
Why does this Spring Boot app fail to start with embedded server?

Given this Spring Boot main class, why does the app fail to start the embedded server?

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}
Spring Boot
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}
ANo embedded server dependency included in the project.
BMissing args parameter in run method causes failure.
CThe @SpringBootApplication annotation is missing.
DThe main method should return void, not static.
Attempts:
2 left
💡 Hint

Consider the dependencies required to auto-configure an embedded server.

🧠 Conceptual
advanced
2:00remaining
What is the main advantage of using an embedded server in Spring Boot?

Why do developers prefer embedded servers in Spring Boot applications?

AIt disables HTTP support to improve security.
BIt improves the app's runtime performance by using native OS servers.
CIt allows running the app as a standalone jar without installing a separate server.
DIt forces the app to use only Tomcat as the server.
Attempts:
2 left
💡 Hint

Think about deployment simplicity and portability.

❓ state_output
expert
2:30remaining
What is the output when running this Spring Boot app with embedded server and custom port?

Given this application.properties and main class, what port will the embedded server listen on?

application.properties:
server.port=7070

Main class:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
Spring Boot
application.properties:
server.port=7070

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
AThe embedded server listens on default port 8080.
BThe embedded server listens on port 7070.
CThe app fails to start due to port conflict.
DThe embedded server listens on port 80.
Attempts:
2 left
💡 Hint

Check how Spring Boot reads properties for server configuration.

Practice

(1/5)
1. What is the main advantage of using an embedded server in a Spring Boot application?
easy
A. It requires manual installation of a web server before running the app.
B. It allows the application to run standalone without needing an external server.
C. It disables HTTP support in the application.
D. It forces the use of XML configuration files.

Solution

  1. Step 1: Understand embedded server purpose

    Embedded servers are included inside the app, so no external server setup is needed.
  2. Step 2: Compare options

    Only It allows the application to run standalone without needing an external server. correctly states the standalone running advantage. Others describe incorrect or unrelated facts.
  3. Final Answer:

    It allows the application to run standalone without needing an external server. -> Option B
  4. Quick Check:

    Embedded server = standalone app [OK]
Hint: Embedded server means no external server needed [OK]
Common Mistakes:
  • Thinking external server is still required
  • Confusing embedded server with disabling HTTP
  • Assuming XML config is mandatory
2. Which dependency is commonly used to include an embedded Tomcat server in a Spring Boot project?
easy
A. spring-boot-starter-security
B. spring-boot-starter-data-jpa
C. spring-boot-starter-test
D. spring-boot-starter-web

Solution

  1. Step 1: Identify embedded server dependency

    The embedded Tomcat server comes with the spring-boot-starter-web dependency.
  2. Step 2: Eliminate unrelated dependencies

    Other options relate to data, security, or testing, not embedded servers.
  3. Final Answer:

    spring-boot-starter-web -> Option D
  4. Quick Check:

    Web starter includes embedded Tomcat [OK]
Hint: Web starter includes embedded Tomcat by default [OK]
Common Mistakes:
  • Choosing data or security starters for embedded server
  • Confusing test starter with server dependency
3. Given this Spring Boot application.properties setting:
server.port=8085
What will happen when you run the app with embedded Tomcat?
medium
A. The embedded server will start on port 8085.
B. The server will ignore this and use default port 8080.
C. The app will fail to start due to invalid port.
D. The server will start on port 80.

Solution

  1. Step 1: Understand server.port property

    Setting server.port changes the embedded server's listening port.
  2. Step 2: Apply property effect

    Since 8085 is valid, the embedded Tomcat will start on port 8085.
  3. Final Answer:

    The embedded server will start on port 8085. -> Option A
  4. Quick Check:

    server.port sets embedded server port [OK]
Hint: server.port config changes embedded server port [OK]
Common Mistakes:
  • Assuming default port always used
  • Thinking invalid port causes failure (8085 is valid)
  • Confusing port 80 as default
4. Consider this Spring Boot main class snippet:
public static void main(String[] args) {
  SpringApplication.run(MyApp.class, args);
}

If you remove the embedded server dependency, what will happen when you run this app?
medium
A. The app will start with an external server automatically.
B. The app will fail to start with a missing server error.
C. The app will start but no web server will run.
D. The app will start and embed Jetty server by default.

Solution

  1. Step 1: Understand dependency role

    spring-boot-starter-web provides the embedded server. Without it, Spring Boot runs as a non-web application.
  2. Step 2: Effect of removing embedded server dependency

    The app starts successfully, but no web server runs since no web dependencies are present.
  3. Final Answer:

    The app will start but no web server will run. -> Option C
  4. Quick Check:

    No web starter = app starts, no server [OK]
Hint: No web starter = app starts without server [OK]
Common Mistakes:
  • Thinking app fails to start without server dependency
  • Believing external server auto-starts
  • Assuming Jetty starts by default without dependency
5. You want to switch your Spring Boot app's embedded server from Tomcat to Jetty. Which change is required?
hard
A. Exclude spring-boot-starter-tomcat and add spring-boot-starter-jetty dependency.
B. Add spring-boot-starter-jetty without excluding Tomcat.
C. Change server.port to 9090 in application.properties.
D. Add spring-boot-starter-undertow dependency only.

Solution

  1. Step 1: Understand default embedded server

    Spring Boot uses Tomcat by default with spring-boot-starter-web.
  2. Step 2: How to switch embedded server

    You must exclude Tomcat dependency and add Jetty starter to replace it.
  3. Final Answer:

    Exclude spring-boot-starter-tomcat and add spring-boot-starter-jetty dependency. -> Option A
  4. Quick Check:

    Exclude Tomcat + add Jetty = switch server [OK]
Hint: Exclude Tomcat before adding Jetty starter [OK]
Common Mistakes:
  • Adding Jetty without excluding Tomcat causes conflicts
  • Changing port does not switch server
  • Adding Undertow starter switches to Undertow, not Jetty
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard