Generated on January 15 2026 17:39 PM
Old data? UPDATE !
The score is 63/100
Title
jooby: do more! more easily!!
Length : 29
Perfect, your title contains between 10 and 70 characters.
Description
The modular micro web framework for Java
Length : 40
Ideally, your meta description should contain between 70 and 160 characters (spaces included). Use this free tool to calculate text length.
Keywords
Java, Modern, Micro, Web, Framework, Reactive, Lightweight, Microservices
Good, your page contains meta keywords.
Og Meta Properties
This page does not take advantage of Og Properties. This tags allows social crawler's better structurize your page. Use this free og properties generator to create them.
Headings
| H1 | H2 | H3 | H4 | H5 | H6 |
| 1 | 23 | 92 | 100 | 15 | 0 |
Images
We found 527 images on this web page.
Good, most or all of your images have alt attributes.
Text/HTML Ratio
Ratio : 35%
Ideal! This page's ratio of text to HTML code is between 25 and 70 percent.
Flash
Perfect, no Flash content has been detected on this page.
Iframe
Great, there are no Iframes detected on this page.
URL Rewrite
Good. Your links looks friendly!
Underscores in the URLs
Perfect! No underscores detected in your URLs.
In-page links
We found a total of 656 links including 9 link(s) to files
| Anchor | Type | Juice |
|---|---|---|
| 1. Introduction | Internal | Passing Juice |
| 1.1. Features | Internal | Passing Juice |
| 1.2. Script API | Internal | Passing Juice |
| 1.3. MVC API | Internal | Passing Juice |
| 2. Getting Started | Internal | Passing Juice |
| 2.1. Code Snippets | Internal | Passing Juice |
| 3. Router | Internal | Passing Juice |
| 3.1. Route | Internal | Passing Juice |
| 3.1.1. Attributes | Internal | Passing Juice |
| 3.2. Path Pattern | Internal | Passing Juice |
| 3.2.1. Static | Internal | Passing Juice |
| 3.2.2. Variable | Internal | Passing Juice |
| 3.2.3. Regex | Internal | Passing Juice |
| 3.2.4. * Catchall | Internal | Passing Juice |
| 3.3. Handler | Internal | Passing Juice |
| 3.3.1. Filter | Internal | Passing Juice |
| 3.3.2. Before | Internal | Passing Juice |
| 3.3.3. After | Internal | Passing Juice |
| 3.3.4. Complete | Internal | Passing Juice |
| 3.4. Pipeline | Internal | Passing Juice |
| 3.4.1. Order | Internal | Passing Juice |
| 3.4.2. Scoped Filter | Internal | Passing Juice |
| 3.5. Grouping routes | Internal | Passing Juice |
| 3.6. Composing | Internal | Passing Juice |
| 3.6.1. Mount | Internal | Passing Juice |
| 3.6.2. Install | Internal | Passing Juice |
| 3.7. Dynamic Routing | Internal | Passing Juice |
| 3.8. Multiple routers | Internal | Passing Juice |
| 3.9. Options | Internal | Passing Juice |
| 3.9.1. Routing | Internal | Passing Juice |
| 3.9.2. Hidden Method | Internal | Passing Juice |
| 4. Context | Internal | Passing Juice |
| 4.1. Parameters | Internal | Passing Juice |
| 4.1.1. Header | Internal | Passing Juice |
| 4.1.2. Cookie | Internal | Passing Juice |
| 4.1.3. Path | Internal | Passing Juice |
| 4.1.4. Query | Internal | Passing Juice |
| 4.1.5. Formdata | Internal | Passing Juice |
| 4.1.6. Multipart | Internal | Passing Juice |
| 4.1.7. Session | Internal | Passing Juice |
| 4.1.8. Flash | Internal | Passing Juice |
| 4.1.9. Parameter Lookup | Internal | Passing Juice |
| 4.1.10. Client Certificates | Internal | Passing Juice |
| 4.2. Value API | Internal | Passing Juice |
| 4.2.1. Single value | Internal | Passing Juice |
| 4.2.2. Default and Optional value | Internal | Passing Juice |
| 4.2.3. Multiple values | Internal | Passing Juice |
| 4.2.4. Structured data | Internal | Passing Juice |
| 4.2.5. Value Factory | Internal | Passing Juice |
| 4.3. Request Body | Internal | Passing Juice |
| 4.3.1. Message Decoder | Internal | Passing Juice |
| 4.4. Response Body | Internal | Passing Juice |
| 4.4.1. Message Encoder | Internal | Passing Juice |
| 5. MVC API | Internal | Passing Juice |
| 5.1. Getting Started | Internal | Passing Juice |
| 5.2. Registration | Internal | Passing Juice |
| 5.3. Parameters | Internal | Passing Juice |
| 5.3.1. Header | Internal | Passing Juice |
| 5.3.2. Cookie | Internal | Passing Juice |
| 5.3.3. Path | Internal | Passing Juice |
| 5.3.4. Query | Internal | Passing Juice |
| 5.3.5. Formdata/Multipart | Internal | Passing Juice |
| 5.3.6. Body | Internal | Passing Juice |
| 5.3.7. Bind | Internal | Passing Juice |
| 5.3.8. Flash | Internal | Passing Juice |
| 5.3.9. Session | Internal | Passing Juice |
| 5.3.10. Context | Internal | Passing Juice |
| 5.3.11. Multiple Sources | Internal | Passing Juice |
| 5.4. Responses | Internal | Passing Juice |
| 5.4.1. Status Code | Internal | Passing Juice |
| 5.4.2. NonBlocking | Internal | Passing Juice |
| 5.5. Execution model | Internal | Passing Juice |
| 5.6. JAX-RS Annotations | Internal | Passing Juice |
| 5.7. Generated router | Internal | Passing Juice |
| 5.8. Annotation Processor Options | Internal | Passing Juice |
| 5.8.1. Setting options | Internal | Passing Juice |
| 6. Static Files | Internal | Passing Juice |
| 6.1. Static Site | Internal | Passing Juice |
| 6.2. SPAs | Internal | Passing Juice |
| 6.3. Options | Internal | Passing Juice |
| 7. Templates | Internal | Passing Juice |
| 7.1. Template Engine | Internal | Passing Juice |
| 7.2. View Model | Internal | Passing Juice |
| 8. Session | Internal | Passing Juice |
| 8.1. In-Memory Session | Internal | Passing Juice |
| 8.2. Signed Session | Internal | Passing Juice |
| 8.3. Stores | Internal | Passing Juice |
| 9. Web Sockets | Internal | Passing Juice |
| 9.1. Structured data | Internal | Passing Juice |
| 9.2. Options | Internal | Passing Juice |
| 9.2.1. Connection Timeouts | Internal | Passing Juice |
| 9.2.2. Max size | Internal | Passing Juice |
| 10. Server-Sent Events | Internal | Passing Juice |
| 10.1. Message Options | Internal | Passing Juice |
| 10.2. Connection Lost | Internal | Passing Juice |
| 10.3. Keep Alive | Internal | Passing Juice |
| 11. Execution Model | Internal | Passing Juice |
| 11.1. Mode | Internal | Passing Juice |
| 11.1.1. Event Loop | Internal | Passing Juice |
| 11.1.2. Worker | Internal | Passing Juice |
| 11.1.3. Default | Internal | Passing Juice |
| 11.2. Worker Executor | Internal | Passing Juice |
| 12. Responses | Internal | Passing Juice |
| 12.1. Raw | Internal | Passing Juice |
| 12.2. Streaming / Chunked | Internal | Passing Juice |
| 12.3. File download | Internal | Passing Juice |
| 12.4. NonBlocking | Internal | Passing Juice |
| 12.4.1. CompletableFuture | Internal | Passing Juice |
| 12.4.2. Mutiny | Internal | Passing Juice |
| 12.4.3. RxJava | Internal | Passing Juice |
| 12.4.4. Reactor | Internal | Passing Juice |
| 12.4.5. Kotlin Coroutines | Internal | Passing Juice |
| 12.5. Send methods | Internal | Passing Juice |
| 13. Error Handler | Internal | Passing Juice |
| 13.1. Custom Error Handler | Internal | Passing Juice |
| 13.2. Catch by Code | Internal | Passing Juice |
| 13.3. Catch by Exception | Internal | Passing Juice |
| 13.4. Problem Details | Internal | Passing Juice |
| 13.4.1. Set up ProblemDetails | Internal | Passing Juice |
| 13.4.2. Creating problems | Internal | Passing Juice |
| 13.4.3. Adding extra parameters | Internal | Passing Juice |
| 13.4.4. Adding headers | Internal | Passing Juice |
| 13.4.5. Respond with errors details | Internal | Passing Juice |
| 13.4.7. Custom Problems | Internal | Passing Juice |
| 13.4.8. Custom Exception Handlers | Internal | Passing Juice |
| 14. Configuration | Internal | Passing Juice |
| 14.1. Environment | Internal | Passing Juice |
| 14.2. Default Environment | Internal | Passing Juice |
| 14.3. Overrides | Internal | Passing Juice |
| 14.4. Custom environment | Internal | Passing Juice |
| 14.5. Logging | Internal | Passing Juice |
| 14.5.1. Logback | Internal | Passing Juice |
| 14.5.2. Log4j2 | Internal | Passing Juice |
| 14.5.3. Environment logging | Internal | Passing Juice |
| 14.6. Application Properties | Internal | Passing Juice |
| 15. Extensions and Services | Internal | Passing Juice |
| 15.1. Writing Custom Extension | Internal | Passing Juice |
| 15.2. Collection of Services | Internal | Passing Juice |
| 15.3. Dependency Injection | Internal | Passing Juice |
| 15.3.1. Avaje Inject | Internal | Passing Juice |
| 15.3.2. Dagger | Internal | Passing Juice |
| 15.3.3. Guice | Internal | Passing Juice |
| 16. Testing | Internal | Passing Juice |
| 16.1. Unit Testing | Internal | Passing Juice |
| 16.1.1. Options | Internal | Passing Juice |
| 16.2. Integration Testing | Internal | Passing Juice |
| 16.2.1. Arguments | Internal | Passing Juice |
| 17. Development | Internal | Passing Juice |
| 17.1. Usage | Internal | Passing Juice |
| 17.2. Compilation & Restart | Internal | Passing Juice |
| 17.3. Options | Internal | Passing Juice |
| 18. Handlers | Internal | Passing Juice |
| 18.1. AccessLogHandler | Internal | Passing Juice |
| 18.2. CorsHandler | Internal | Passing Juice |
| 18.3. CsrfHandler | Internal | Passing Juice |
| 18.4. GracefulShutdown | Internal | Passing Juice |
| 18.5. HeadHandler | Internal | Passing Juice |
| 18.6. RateLimitHandler | Internal | Passing Juice |
| 18.7. SSLHandler | Internal | Passing Juice |
| 18.8. TraceHandler | Internal | Passing Juice |
| 19. Packaging | Internal | Passing Juice |
| 19.1. Single jar | Internal | Passing Juice |
| 19.2. Stork | Internal | Passing Juice |
| 20. Server | Internal | Passing Juice |
| 20.1. Run multiple apps | Internal | Passing Juice |
| 20.2. Manual setup | Internal | Passing Juice |
| 20.3. Options | Internal | Passing Juice |
| 20.4. HTTPS Support | Internal | Passing Juice |
| 20.4.1. Using X.509 | Internal | Passing Juice |
| 20.4.2. Using PKCS12 | Internal | Passing Juice |
| 20.4.3. Client Authentication (Mutual TLS) | Internal | Passing Juice |
| 20.4.4. TLS protocol | Internal | Passing Juice |
| 20.4.5. OpenSSL | Internal | Passing Juice |
| 20.5. HTTP/2 Support | Internal | Passing Juice |
| 21. Modules | Internal | Passing Juice |
| 21.1. Cloud | Internal | Passing Juice |
| 21.2. Data | Internal | Passing Juice |
| 21.3. Validation | Internal | Passing Juice |
| 21.4. Development Tools | Internal | Passing Juice |
| 21.5. Event Bus | Internal | Passing Juice |
| 21.6. JSON | Internal | Passing Juice |
| 21.7. OpenAPI | Internal | Passing Juice |
| 21.8. Template Engine | Internal | Passing Juice |
| 21.9. Security | Internal | Passing Juice |
| 21.10. Session Store | Internal | Passing Juice |
| 21.11. Scheduler | Internal | Passing Juice |
| 22. Appendix | Internal | Passing Juice |
| 22.1. Upgrading from 3.x to 4.x | Internal | Passing Juice |
| 22.1.1. Requirements | Internal | Passing Juice |
| 22.1.2. Special HTTP names | Internal | Passing Juice |
| 22.1.3. Buffer API | Internal | Passing Juice |
| 22.1.4. Value API | Internal | Passing Juice |
| 22.1.5. Session API | Internal | Passing Juice |
| 22.1.6. Server configuration | Internal | Passing Juice |
| 22.1.7. Packages | Internal | Passing Juice |
| 22.1.8. Classes | Internal | Passing Juice |
| 22.1.9. Method | Internal | Passing Juice |
| 22.2. Upgrading from 2.x to 3.x | Internal | Passing Juice |
| 22.2.1. Requirements | Internal | Passing Juice |
| 22.2.2. module-info.java | Internal | Passing Juice |
| 22.2.3. Kotlin | Internal | Passing Juice |
| 22.2.4. jakarta | Internal | Passing Juice |
| 22.2.5. Modules | Internal | Passing Juice |
| 22.2.6. Package renames | Internal | Passing Juice |
| 22.2.7. Class renames | Internal | Passing Juice |
| 22.2.8. Method renames | Internal | Passing Juice |
| 22.2.9. Dependencies | Internal | Passing Juice |
| 22.2.10. Reactive support | Internal | Passing Juice |
| 22.3. Upgrading from 1.x to 2.x | Internal | Passing Juice |
| 22.3.1. Maven coordinates | Internal | Passing Juice |
| 22.3.2. Modules | Internal | Passing Juice |
| 22.3.3. API | Internal | Passing Juice |
| 22.3.4. Route Pipeline | Internal | Passing Juice |
| 4.0.15 | External | Passing Juice |
| 3.x | Internal | Passing Juice |
| Migrating from 3.x to 4.x | Internal | Passing Juice |
| 2.x | Internal | Passing Juice |
| Migrating from 2.x to 3.x | Internal | Passing Juice |
| 1.x | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Tech Empower Benchmark | External | Passing Juice |
| Hot-Reload for development | Internal | Passing Juice |
| OpenAPI 3 | Internal | Passing Juice |
| Jetty | External | Passing Juice |
| Netty | External | Passing Juice |
| Vertx | External | Passing Juice |
| Undertow | External | Passing Juice |
| modules | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Stork native launcher | External | Passing Juice |
| jooby-cli.zip | External | Passing Juice |
| - | Internal | Passing Juice |
| Router | External | Passing Juice |
| routes | External | Passing Juice |
| - | Internal | Passing Juice |
| handler | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| context | External | Passing Juice |
| - | Internal | Passing Juice |
| Route.Filter | External | Passing Juice |
| - | Internal | Passing Juice |
| before | External | Passing Juice |
| - | Internal | Passing Juice |
| after | External | Passing Juice |
| isResponseStarted() | External | Passing Juice |
| - | Internal | Passing Juice |
| complete | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| routes(Runnable) | External | Passing Juice |
| path(String,Runnable) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| mount(Router) | External | Passing Juice |
| - | Internal | Passing Juice |
| install(Supplier) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| setRouterOptions(RouterOptions) | External | Passing Juice |
| - | Internal | Passing Juice |
| setHiddenMethod(String) | External | Passing Juice |
| locale() | External | Passing Juice |
| locales() | External | Passing Juice |
| Accept-Language | External | Passing Juice |
| setLocales(List) | External | Passing Juice |
| setLocales(Locale…) | External | Passing Juice |
| - | Internal | Passing Juice |
| Value API | Internal | Passing Juice |
| parameter lookup | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Value | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| QueryString | External | Passing Juice |
| - | Internal | Passing Juice |
| Formdata | External | Passing Juice |
| - | Internal | Passing Juice |
| Multipart | External | Passing Juice |
| FileUpload | External | Passing Juice |
| - | Internal | Passing Juice |
| session() | External | Passing Juice |
| sessionOrNull() | External | Passing Juice |
| - | Internal | Passing Juice |
| Session | External | Passing Juice |
| setFlashCookie(Cookie) | External | Passing Juice |
| lookup() | External | Passing Juice |
| lookup(String,ParamSource…) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| toList() | External | Passing Juice |
| toSet() | External | Passing Juice |
| - | Internal | Passing Juice |
| get(String) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| RFC 3986 | External | Passing Juice |
| Inject | External | Passing Juice |
| Named | External | Passing Juice |
| - | Internal | Passing Juice |
| ValueFactory | External | Passing Juice |
| - | Internal | Passing Juice |
| body() | External | Passing Juice |
| - | Internal | Passing Juice |
| MessageDecoder | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| MessageEncoder | External | Passing Juice |
| Output | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| mvc(MvcExtension) | External | Passing Juice |
| - | Internal | Passing Juice |
| Param | External | Passing Juice |
| multiple sources | Internal | Passing Juice |
| - | Internal | Passing Juice |
| HeaderParam | External | Passing Juice |
| - | Internal | Passing Juice |
| CookieParam | External | Passing Juice |
| - | Internal | Passing Juice |
| PathParam | External | Passing Juice |
| - | Internal | Passing Juice |
| QueryParam | External | Passing Juice |
| - | Internal | Passing Juice |
| FormParam | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| BindParam | External | Passing Juice |
| - | Internal | Passing Juice |
| FlashParam | External | Passing Juice |
| - | Internal | Passing Juice |
| SessionParam | External | Passing Juice |
| - | Internal | Passing Juice |
| ContextParam | External | Passing Juice |
| attributes | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| setResponseCode(StatusCode) | External | Passing Juice |
| StatusCode | External | Passing Juice |
| - | Internal | Passing Juice |
| non-blocking responses | Internal | Passing Juice |
| - | Internal | Passing Juice |
| EVENT_LOOP | External | Passing Juice |
| WORKER | External | Passing Juice |
| Dispatch | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| assets(String,Path) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| AssetHandler | External | Passing Juice |
| setNoCache() | External | Passing Juice |
| cacheControl(Function) | External | Passing Juice |
| ModelAndView | External | Passing Juice |
| TemplateEngine | External | Passing Juice |
| - | Internal | Passing Juice |
| extensions() | External | Passing Juice |
| template engines | Internal | Passing Juice |
| - | Internal | Passing Juice |
| SessionStore | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| sign(String,String) | External | Passing Juice |
| unsign(String,String) | External | Passing Juice |
| - | Internal | Passing Juice |
| Caffeine | Internal | Passing Juice |
| JWT | Internal | Passing Juice |
| Redis | Internal | Passing Juice |
| WebSocket | External | Passing Juice |
| - | Internal | Passing Juice |
| render(Object) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| duration format | External | Passing Juice |
| - | Internal | Passing Juice |
| sizes in bytes | External | Passing Juice |
| Server-sent Events | External | Passing Juice |
| - | Internal | Passing Juice |
| ServerSentMessage | External | Passing Juice |
| Event stream format | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| dispatch(Runnable) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| DEFAULT | External | Passing Juice |
| RxJava type | External | Passing Juice |
| Reactor type | External | Passing Juice |
| Kotlin coroutine | External | Passing Juice |
| - | Internal | Passing Juice |
| Netty server | External | Passing Juice |
| Undertow server | External | Passing Juice |
| Jetty server | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| responseStream() | External | Passing Juice |
| responseWriter() | External | Passing Juice |
| responseSender() | External | Passing Juice |
| Sender | External | Passing Juice |
| - | Internal | Passing Juice |
| FileDownload | External | Passing Juice |
| AttachedFile | External | Passing Juice |
| InlineFile | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| SmallRye Mutiny | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| send(byte[]) | External | Passing Juice |
| send(byte[]…) | External | Passing Juice |
| send(DataBuffer) | External | Passing Juice |
| send(FileDownload) | External | Passing Juice |
| send(StatusCode) | External | Passing Juice |
| send(InputStream) | External | Passing Juice |
| send(String) | External | Passing Juice |
| send(String,Charset) | External | Passing Juice |
| send(ByteBuffer) | External | Passing Juice |
| send(ByteBuffer[]) | External | Passing Juice |
| send(FileChannel) | External | Passing Juice |
| send(ReadableByteChannel) | External | Passing Juice |
| send(Path) | External | Passing Juice |
| ErrorHandler | External | Passing Juice |
| DefaultErrorHandler | External | Passing Juice |
| StatusCodeException | External | Passing Juice |
| - | Internal | Passing Juice |
| error(ErrorHandler) | External | Passing Juice |
| render(Object) | External | Passing Juice |
| json modules | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| IETF RFC 7807 | External | Passing Juice |
| RFC 9457 | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| HttpProblem | External | Passing Juice |
| - | Internal | Passing Juice |
| valueOf(StatusCode) | External | Passing Juice |
| valueOf(StatusCode,String) | External | Passing Juice |
| valueOf(StatusCode,String,String) | External | Passing Juice |
| badRequest(String,String) | External | Passing Juice |
| notFound(String,String) | External | Passing Juice |
| unprocessableEntity(String,String) | External | Passing Juice |
| internalServerError() | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| HttpProblem.Error | External | Passing Juice |
| - | Internal | Passing Juice |
| HttpProblemMappable | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| config | External | Passing Juice |
| HOCON | External | Passing Juice |
| - | Internal | Passing Juice |
| Environment | External | Passing Juice |
| Extension | External | Passing Juice |
| getEnvironment() | External | Passing Juice |
| - | Internal | Passing Juice |
| loadEnvironment(EnvironmentOptions) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| EnvironmentOptions | External | Passing Juice |
| setEnvironmentOptions(EnvironmentOptions) | External | Passing Juice |
| - | Internal | Passing Juice |
| Slf4j | External | Passing Juice |
| - | Internal | Passing Juice |
| Logback | External | Passing Juice |
| - | Internal | Passing Juice |
| Log4j2 | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| AvailableSettings | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| require(Class) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| require(Class) | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Dagger tutorial | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| MockRouter | External | Passing Juice |
| MockContext | External | Passing Juice |
| - | Internal | Passing Juice |
| setFullExecution(boolean) | External | Passing Juice |
| setLateInit(boolean) | External | Passing Juice |
| - | Internal | Passing Juice |
| OkHttp | External | Passing Juice |
| JoobyTest | External | Passing Juice |
| port() | External | Passing Juice |
| http://localhost:port/contextPath | Internal | Passing Juice |
| - | Internal | Passing Juice |
| JBoss Modules | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| AccessLogHandler | External | Passing Juice |
| NCSA format | External | Passing Juice |
| requestHeader(String…) | External | Passing Juice |
| responseHeader(String…) | External | Passing Juice |
| - | Internal | Passing Juice |
| Cross-Origin Resource Sharing (CORS) | External | Passing Juice |
| CorsHandler | External | Passing Juice |
| Cors | External | Passing Juice |
| - | Internal | Passing Juice |
| Cross Site Request Forgery Handler | External | Passing Juice |
| setTokenGenerator(Function) | External | Passing Juice |
| setRequestFilter(Predicate) | External | Passing Juice |
| - | Internal | Passing Juice |
| GracefulShutdown | External | Passing Juice |
| - | Internal | Passing Juice |
| HeadHandler | External | Passing Juice |
| - | Internal | Passing Juice |
| Bucket4j | External | Passing Juice |
| clustering | External | Passing Juice |
| - | Internal | Passing Juice |
| SSLHandler | External | Passing Juice |
| configure ssl | Internal | Passing Juice |
| - | Internal | Passing Juice |
| TraceHandler | External | Passing Juice |
| - | Internal | Passing Juice |
| jooby-cli | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Maven Tiles | External | Passing Juice |
| VertxServer | External | Passing Juice |
| VertxServer | External | Passing Juice |
| here | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| ServerOptions | External | Passing Juice |
| SslOptions | External | Passing Juice |
| mkcert | External | Passing Juice |
| - | Internal | Passing Juice |
| Let’s Encrypt | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Conscrypt | External | Passing Juice |
| BoringSSL | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| AWS-SDK v2 | Internal | Passing Juice |
| AWS SDK v1 | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Ebean | Internal | Passing Juice |
| Flyway | Internal | Passing Juice |
| GraphQL | Internal | Passing Juice |
| HikariCP | Internal | Passing Juice |
| Hibernate | Internal | Passing Juice |
| Jdbi | Internal | Passing Juice |
| Kafka | Internal | Passing Juice |
| Redis | Internal | Passing Juice |
| Vertx mySQL client | Internal | Passing Juice |
| Vertx Postgres client | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Avaje Validator | Internal | Passing Juice |
| Hibernate Validator | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Jooby Run | Internal | Passing Juice |
| Whoops | Internal | Passing Juice |
| Metrics | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Camel | Internal | Passing Juice |
| Vertx | Internal | Passing Juice |
| Gson | Internal | Passing Juice |
| Jackson | Internal | Passing Juice |
| JSON-B | Internal | Passing Juice |
| Avaje-JsonB | Internal | Passing Juice |
| - | Internal | Passing Juice |
| OpenAPI | Internal | Passing Juice |
| Handlebars | Internal | Passing Juice |
| JStachio | Internal | Passing Juice |
| jte | Internal | Passing Juice |
| Freemarker | Internal | Passing Juice |
| Pebble | Internal | Passing Juice |
| Rocker | Internal | Passing Juice |
| Thymeleaf | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Jasypt | Internal | Passing Juice |
| Pac4j | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Caffeine | Internal | Passing Juice |
| JWT | Internal | Passing Juice |
| Redis | Internal | Passing Juice |
| - | Internal | Passing Juice |
| DbScheduler | Internal | Passing Juice |
| Quartz | Internal | Passing Juice |
| - | Internal | Passing Juice |
| report to Github | External | Passing Juice |
| edit this file and fix it | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| edit this file and fix it | External | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| NonBlocking | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| jooby-maven-plugin | Internal | Passing Juice |
| jooby-swagger-ui | Internal | Passing Juice |
| - | Internal | Passing Juice |
| - | Internal | Passing Juice |
| Route.Decorator | External | Passing Juice |
Keywords Cloud
class val ctx public java string kotlin import get jooby
Keywords Consistency
| Keyword | Content | Title | Keywords | Description | Headings |
|---|---|---|---|---|---|
| java | 248 | ![]() |
![]() |
![]() |
![]() |
| kotlin | 220 | ![]() |
![]() |
![]() |
![]() |
| ctx | 202 | ![]() |
![]() |
![]() |
![]() |
| jooby | 180 | ![]() |
![]() |
![]() |
![]() |
| class | 174 | ![]() |
![]() |
![]() |
![]() |
Url
Domain : jooby.io
Length : 8
Favicon
Great, your website has a favicon.
Printability
We could not find a Print-Friendly CSS.
Language
Good. Your declared language is en.
Dublin Core
This page does not take advantage of Dublin Core.
Doctype
HTML 5
Encoding
Perfect. Your declared charset is UTF-8.
W3C Validity
Errors : 0
Warnings : 0
Email Privacy
Great no email address has been found in plain text!
Deprecated HTML
Great! We haven't found deprecated HTML tags in your HTML.
Speed Tips
![]() |
Attention! Try to avoid nested tables in HTML. |
![]() |
Too bad, your website is using inline styles. |
![]() |
Great, your website has few CSS files. |
![]() |
Perfect, your website has few JavaScript files. |
![]() |
Perfect, your website takes advantage of gzip. |
Mobile Optimization
![]() |
Apple Icon |
![]() |
Meta Viewport Tag |
![]() |
Flash content |
XML Sitemap
Missing
Your website does not have an XML sitemap - this can be problematic.
A sitemap lists URLs that are available for crawling and can include additional information like your site's latest updates, frequency of changes and importance of the URLs. This allows search engines to crawl the site more intelligently.
Robots.txt
https://jooby.io/robots.txt
Great, your website has a robots.txt file.
Analytics
Missing
We didn't detect an analytics tool installed on this website.
Web analytics let you measure visitor activity on your website. You should have at least one analytics tool installed, but It can also be good to install a second in order to cross-check the data.
Free SEO Testing Tool is a free SEO tool which provides you content analysis of the website.