【问题标题】:J2EE link item from search result搜索结果中的 J2EE 链接项
【发布时间】:2015-03-27 06:40:26
【问题描述】:
我正在开发一个商业网站(比如 Ebay,它是用于大学项目的)并且我做了一个搜索功能,它显示与搜索键相关的项目列表(它现在运行良好)。问题是在mvc模式中,对于Web应用程序,数据应该由servlet管理,由jsp显示。我可以将结果链接到通过 stateles 会话 bean 加载项目的 servlet,将其插入 hHttpSession 并在 jsp 处重定向用户(从 HttpSession 获取项目信息)。
问题是,如果我以这种方式开发它,则无法通过直接链接检索该项目,这不是我喜欢的(至少对于项目显示而言)。
我想知道是否有另一种方法来实现它(通过避免从 jsp 直接访问无状态会话 bean),可能像 http://siteroot/web/item/itemcode 其中 itemcode 是识别要加载的正确项目的东西。
【问题讨论】:
标签:
jsp
spring-mvc
jakarta-ee
servlets
【解决方案1】:
我找到了一种方法来做到这一点。我找到的解决方案不是我希望的 (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(因此可以通过直接链接检索项目)