Prev Next

API / Apache Wicket Interview questions

1. What is Apache Wicket? 2. What is a Wicket Component? 3. What is a Wicket Page? 4. What is the wicket:id attribute? 5. What is an IModel in Wicket? 6. What are the types of built-in form components in Wicket? 7. What is a Wicket Panel? 8. What is a Wicket Fragment? 9. What is the purpose of the WicketApplication class? 10. What are the types of models Wicket provides out of the box? 11. Define markup inheritance in Wicket? 12. What is a bookmarkable page in Wicket? 13. How do you create a simple Wicket Link component? 14. What is the purpose of PageParameters? 15. What is WicketTester? 16. Why does Wicket avoid using JSP for markup? 17. Why do we use LoadableDetachableModel instead of a plain field reference? 18. How does Wicket manage component state across requests? 19. What is the difference between a stateful and a stateless page in Wicket? 20. When should you use a Panel instead of a Fragment? 21. What is the difference between PropertyModel and CompoundPropertyModel? 22. What happens when you call setResponsePage() inside a Wicket event handler? 23. What is the difference between Wicket 9 and Wicket 10? 24. Which is better for a new project in 2026: Wicket 9 or Wicket 10, and why? 25. How can you optimize page load performance in a large Wicket application? 26. How do you troubleshoot a WicketRuntimeException about a missing wicket:id? 27. Explain the lifecycle of a Wicket request from URL to rendered page? 28. Explain the execution flow of an AjaxLink click in Wicket? 29. Explain the internal working of Wicket's component tree rendering? 30. What is the difference between an AjaxLink and a Link in Wicket? 31. Why should you avoid storing large objects directly as page fields? 32. What is a Wicket Behavior? 33. How does Wicket integrate with Spring for dependency injection? 34. What is the difference between IValidator and form-level validation in Wicket? 35. How does Wicket support internationalization (i18n)? 36. Explain the internal working of Wicket's URL mounting? 37. What is the difference between Wicket 8, 9, and 10 in terms of Java/Jakarta support? 38. How do you enforce authorization/roles in a Wicket application? 39. What is the role of the wicket-auth-roles module? 40. How does Wicket handle recent security vulnerabilities like session fixation issues? 41. Explain the sequence of events when a Wicket Form is submitted? 42. What is the difference between onSubmit() and onError() in a Wicket Form? 43. How do you configure detachable models to avoid memory leaks in the HttpSession? 44. What is the difference between Wicket's component-oriented approach and Spring MVC's request-oriented approach? 45. Explain how Wicket's PackageResourceGuard works and why CVE-2026-43646 mattered? 46. How do you integrate WebSockets into a Wicket application? 47. What is the difference between page storage strategies (in-memory vs disk-based) in Wicket? 48. Explain the internal working of Wicket's markup inheritance resolution? 49. What is the difference between Apache Wicket, Spring MVC, and JSF? 50. Explain how Wicket's CryptoMapper protects bookmarkable page URLs from tampering?

1. What is Apache Wicket?

Apache Wicket is an open-source, component-oriented web application framework for Java, conceptually similar to JavaServer Faces and Apache Tapestry. It was originally written by Jonathan Locke in 2004, reached its 1.0 release in 2005, and graduated to an Apache Software Foundation top-level proj...

Read full answer

2. What is a Wicket Component?

A Component is the base building block of every Wicket UI element — a plain Java object (subclass of org.apache.wicket.Component ) that represents one piece of a page: a label, a link, a form field, or a whole panel of nested components. Each component is tied to exactly one tag in the page...

Read full answer

3. What is a Wicket Page?

A Page is the root component in a Wicket application — the Java class that corresponds to one full HTML document, and the entry point Wicket's request cycle renders in response to a URL. Every Page subclass pairs with an HTML file of the same name and package location (e.g. HomePage.java al...

Read full answer

4. What is the wicket:id attribute?

wicket:id is a plain HTML attribute Wicket looks for at render time to decide which Java component controls a given tag — it's the single mechanism that ties markup to code. A tag like placeholder in the HTML is matched against a component added in Java wit...

Read full answer

5. What is an IModel in Wicket?

IModel is Wicket's abstraction for wrapping the data a component displays or edits, decoupling a component from exactly where that data lives or how it's fetched. Instead of a component holding a raw object reference directly, it holds an IModel whose getObject() method is called whenever t...

Read full answer

6. What are the types of built-in form components in Wicket?

Wicket ships a set of ready-made FormComponent subclasses that cover the common HTML input types, each one binding an IModel to a specific control and handling its own conversion and validation. Component Renders as TextField TextArea