我正在开发一个商业网站(比如Ebay,它用于大学项目),我创建了一个搜索功能,显示与搜索键相关的项目列表(它现在运行良好)。问题是在mvc模式中,对于Web应用程序,数据应由servlet管理并由jsp显示。我可以将结果链接到一个servlet,它通过状态会话bean加载项目,将其插入hHttpSession并将用户重定向到jsp(从HttpSession获取项目信息)。
问题在于,如果我以这种方式开发它,则无法通过直接链接检索该项目,这不是我喜欢的(至少对于项目显示)。
我想知道是否有另一种方法来实现它(通过避免从jsp到无状态会话bean的直接访问),可能像http://siteroot/web/item/itemcode其中itemcode是识别正确的东西要加载的项目。
答案 0 :(得分:0)
我找到了一种方法。我找到的解决方案不是我想要的(http://siteroot/web/item/itemcode),但它在功能上符合我的要求。
遵循MVC模式要求,我附加了一个项目链接(来自搜索页面的结果),如http://siteroot/web/ShowItem?id=xxxxxxxxx,这是一个简单的servlet:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String temp = request.getParameter("id");
Vendita v = retriever.getSell(temp);
request.getSession().setAttribute("oggetto", v);
request.getRequestDispatcher("/excluded/showItem.jsp").forward(request, response);
}
使用showItem.jsp显示项目而不更改浏览器中的URL(因此可以通过直接链接检索项目)