如何使用servlet响应对象的请求

时间:2010-04-20 09:48:34

标签: jsp servlets

我确信这很容易,但我不经常使用网站开发,而且我在这个问题上迷失了。

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

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

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

3 个答案:

答案 0 :(得分:1)

提供用户登录信息,以便您可以根据登录用户采取相应措施。登录时,将找到的User存储在会话范围内HttpSession#setAttribute()。然后,在每个请求上按HttpSession#getAttribute()检查登录用户。 E.g。

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);

答案 1 :(得分:0)

编写一个在doPost和/或doGet方法中执行以下操作的servlet:

  1. 从HTTP请求中获取指示他们想要的内容的参数。
  2. 与数据库和模型对象交互以获取请求的数据。
  3. 将数据添加到JSP范围或将HTML写入响应输出流
  4. 您必须将servlet打包到WAR文件中。编写web.xml来声明servlet并将其映射到请求URL。

    就是这样。

答案 2 :(得分: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");

<强>更新