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