Haz mezclado Vista con lógica de negocio, nada recomendable. Lo mejor es que separes tu aplicación en capas si quieres que sea mantenible en un futuro.
Respecto a tu problema, yo no haría una web para cada categoría. Lo que haría es poner los productos en un div con los filtros (categoría, precio, etc) y una lista desplegable que representa las categorías de los productos y que cuando se elija determinada categoría, actualice el div para mostrar los productos de aquella categoría, obviamente el proceso es mucho mejor con AJAX.
<div class="products-wrapper">
document.querySelector(".categories").addEventListener("change", handleChangeCategory, true);
function handleChangeCategory() {
var selected = document.querySelector(".categories").value;
var request = new XmlHttpRequest();
// PHP
request.open("GET", "/ruta/al/script.php?"+selected, true);
// Java - Servlet
request.open("GET", "/TuServlet?"+selected, true);
// Java - REST
request.open("GET", "http://localhost:8080/api/products/"+selected, true);
request.onreadystatechange = function() {
if(request.readyState === 4 && request.status === 200) {
// renderizas los productos
render(request.responseText); // JSON
}
}
request.send();
}