如何在打开.jsp文件时调用servlet

时间:2011-08-22 13:52:54

标签: jquery ajax jsp servlets

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

1 个答案:

答案 0 :(得分:2)

只需通过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()方法中执行预处理作业,并将数据存储为请求属性。 E.g。

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

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

另见: