breadcrumbs in spring Breadcrumbs should look like this:
Home > Mobiles &amp; Tablets > Mobile Phones > Phone Super Duper

every product belongs only to one category. e.g Phone Super Duper can be found only under Mobile Phones.
This is just a sketch but i want to know your opinion if the direction is ok or i should change the strategy. 

ANY critique or suggestions are welcome
 JSP 

&lt;div id="breadcrumb" class="breadcrumb"&gt;
    &lt;c:forEach items="${breadcrumbs}" var="breadcrumb" varStatus="status"&gt;
        &lt;li class="separator"&gt;&amp;gt;&lt;/li&gt;
        &lt;li&gt;&lt;c:choose&gt;
                &lt;c:when test="${breadcrumb.url eq '#'}"&gt;
                    &lt;a href="#" onclick="return false;"
                        &lt;c:if test="${status.last}"&gt;class="last"&lt;/c:if&gt;&gt;${breadcrumb.name}&lt;/a&gt;
                &lt;/c:when&gt;

                &lt;c:otherwise&gt;
                    &lt;a href="${baseURL2}${breadcrumb.url}"
                        &lt;c:if test="${status.last}"&gt;class="last"&lt;/c:if&gt;&gt;${breadcrumb.name}&lt;/a&gt;
                &lt;/c:otherwise&gt;

            &lt;/c:choose&gt;&lt;/li&gt;
    &lt;/c:forEach&gt;


HomePageController

@RequestMapping("/")
    public String showHomePage(HttpServletRequest request, Model model) {
        model.addAttribute("breadcrumbs", contentPageBreadcrumbBuilder.getBreadcrumbs(request.getServletPath()));
        return "welcome";
    }


ProductPageController

@RequestMapping(value = "/product")
    public String getProductById(@RequestParam("id") int productId, Model model) {
        Product product = new Product();
        Category  category = new Category();
        category.setCategoryName("someCategory");
        product.setProductId(1);
        product.setProductName("someProductName");
        product.setCategory(category);
        model.addAttribute("breadcrumbs",  productBreadcrumbBuilder.getBreadcrumbs(product));
        return "product";
    }


ProductBreadcrumbsBuilder

@Component
public class ProductBreadcrumbBuilder {
    public List&lt;Breadcrumb&gt; getBreadcrumbs(final Product productModel) throws IllegalArgumentException {
            final List&lt;Breadcrumb&gt; breadcrumbs = new ArrayList&lt;&gt;();
            breadcrumbs.add(getProductBreadcrumb(productModel));
            Breadcrumb category = getCategoryBreadcrumb(productModel.getCategory());
            breadcrumbs.add(category);
            Collections.reverse(breadcrumbs);
            return breadcrumbs;
        }

        protected Breadcrumb getProductBreadcrumb(final Product product) {
            final String productUrl = "/products/" + product.getProductId();
            return new Breadcrumb(productUrl, product.getProductName());
        }

        protected Breadcrumb getCategoryBreadcrumb(final Category category) {
            final String categoryUrl = "/categories/" + category.getId();
            return new Breadcrumb(categoryUrl, category.getCategoryName());
        }


Breadcrumb

public class Breadcrumb {

    private String url;
    private String name;

    public Breadcrumb(final String url, final String name)
    {
        this.url = url;
        this.name = name;
    }
REST apis usually have 

GET /products - retrieves all products  
GET /products/10 - retrieves product with id 10.


And thus I'd suggest that instead of requesting GET /product?id=10, you do GET /product/10.

Take a look at the URL in your webbrowser - this is GET /questions/119636/.