【问题标题】:How to call servet when open .jsp file [duplicate]打开.jsp文件时如何调用servet [重复]
【发布时间】:2011-11-01 04:31:00
【问题描述】:

我用 jQuery 创建了一个幻灯片放映。它通过 servlet 连接到数据库。所以,我必须调用 servlet 来运行幻灯片。我尝试使用 include 从 index.jsp 调用 servlet,但它没有找到 SlideShow servlet。我尝试使用 Ajax 调用 servlet,但它无法显示幻灯片。请问怎么打?

【问题讨论】:

    标签: jquery ajax jsp servlets


    【解决方案1】:

    只需直接通过URL而不是JSP文件调用servlet,在doGet()方法中完成工作,最后让servlet将请求转发给JSP,让它生成并发送HTML内容。

    @WebServlet(urlPatterns={"/index"})
    public class IndexServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // Do your job here.
            // ...
            request.getRequestDispatcher("/WEB-INF/index.jsp").forward(request, response);
        }
    
    }
    

    通过http://example.com/contextname/index而不是http://example.com/contextname/index.jsp调用它,并将JSP放在/WEB-INF文件夹中,以防止它在没有servlet干预的情况下直接打开。

    您可以在doGet() 方法中进行预处理工作并将数据存储为请求属性。例如

    List<Data> data = dataService.list();
    request.setAttribute("data", data); // It'll be available by ${data} in JSP.
    

    关于 Ajax 的故事,也许您只是错误地实现了它。你可以在这里找到一些例子:How to use Servlets and Ajax?

    另见:

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 2014-06-30
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多