2010-04-20 105 views
1

我相信这很容易,但我不经常与网站开发合作,而且我迷失于此。如何使用小服务器来回应对象的请求

我有一个web应用程序需要支持多个客户端使用不同的设置,图标和其他内容。这些文件的内容位于每个客户端的独立目录中。

我想要做的是响应发送到jsp/java servlet的请求。这个servlet将在数据库中查找正确的文件夹位置(我有数据库的东西可以工作)并将实际对象发送到请求页面,无论它是xml,图形还是视频。

我该怎么做?我应该使用什么方法。帮助我迷路了! :(

回答

1

提供用户登录,以便您可以根据登录用户采取相应措施。在登录时,将发现的User存储在会话范围HttpSession#setAttribute()中。然后,在每个请求中,通过HttpSession#getAttribute()检查登录用户。例如。

User user = (User) session.getAttribute("user"); 
List<Movie> movies = movieDAO.findMoviesByUser(user); 
request.setAttribute("movies", movies); 
request.getRequestDispatcher("/WEB-INF/movies.jsp").forward(request, response); 
0

写一个servlet,做在doPost方法和/或doGet方法如下:

  1. 获取参数出,以表明他们想要的HTTP请求的
  2. 互动与数据库和模型对象以获得所需的数据。
  3. 数据添加到JSP范围或写HTML的响应输出流

你必须打包成servlet的WAR文件。写一个web.xml声明您的servlet并将其映射到请求URL。

就是这样。

0

请求和响应是你的serlvet的一部分doGetdoPost方法:

protected void doGet(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
    //... 
} 

可以使用request来存储对象:

request.SetAttribute("customValue", new CustomClass()); 
RequestDispatcher dispatcher = request.getRequestDispatcher(/*..*/); 
dispatcher.forward(request, response); 

在JSP你只在查找来自请求的属性:

CustomClass customValue= (CustomClass) request.getAttribute("customValue"); 

已更新。

+0

您无法在Response对象上设置属性。只有HttpSession,ServletContext和ServletRequest实例可能具有与它们一起存储的属性。 – DoctorRuss 2010-04-23 14:13:57

+0

@DoctorRuss oops ...据此更新。 – Kiril 2010-04-23 14:27:21

相关问题