Why isn't Localhost 8080 working?
If you see "Whitelabel Error Page" or "Connection Refused", use this guide tailored for backend and proxy services.
1. Spring Boot / Tomcat Startup
Unlike Node.js, Java servers take a moment to start. If you just ran the command, wait 10-15 seconds.
Check your console for the Spring logo. If it failed, check for stack traces.
mvn spring-boot:run
// or for Gradle
./gradlew bootRun
// or for Gradle
./gradlew bootRun
2. Port 8080 is Busy (Oracle / Jenkins)
Port 8080 is the most "crowded" port. Software like Oracle Database XE, Jenkins, or older Skype versions often claim it silently.
Check what is using port 8080:
# Mac / Linux
lsof -i :8080
lsof -i :8080
# Windows (PowerShell/CMD)
netstat -ano | findstr :8080
netstat -ano | findstr :8080
3. How to Change the Port
If you can't kill the conflicting process, simply change your project's port.
Spring Boot (application.properties):
server.port=9090
Vue.js (vue.config.js):
module.exports = {
devServer: {
port: 8081
}
}
4. Docker Container Mapping
If you are running a Docker container, ensure you mapped the ports correctly in your run command.
docker run -p 8080:80 my-web-app
The first 8080 is your localhost port. The second 80 is the container's internal port.