使用jquery转发请求到servlet,而j​​query又转发到jsp?

时间:2013-09-16 09:01:54

标签: java javascript jquery html5 servlets

我有一个js文件,基于以下条件,我需要显示一条消息或将请求转发给servlet,然后转发给jsp。

var isInIframe = (parent !== window),
    if (isInIframe) {
        //Forward request to servlet
    }else {
        //Display Access denied message
    }

我可以使用jquery ajax调用servlet。但是如何将请求转发给servlet呢?一旦请求被转发到servlet,servlet就会加载一些属性文件并将请求转发给some.jsp,如下所示。

//Keeps some values using request.setAttribute() then forward the request
request.getRequestDispatcher("/WEB-INF/some.jsp").forward(request, response);

我该怎么做? 谢谢!

3 个答案:

答案 0 :(得分:0)

您可以使用Session将一些对象发送到servlet。因为会话在整个应用程序中对用户保持相同。

答案 1 :(得分:0)

JQuery / Javascript不会将请求“转发”给Web应用程序。它通过AJAX或重定向发出新请求。 JQuery本身不处理HTTP请求。

您需要为此发出AJAX请求。我假设JSP是Web应用程序的表示层。所以只需使用JQuery $ .ajax()方法向您的Web应用程序发出ajax请求。

您可以使用AJAX回调函数处理响应

答案 2 :(得分:0)

Servletjsp是服务器端组件。服务器接收HTTP个请求并发送Servlet来处理它们,方法是在jsp的帮助下为每个请求生成相应的HTTP响应。

Javascript是客户端组件。它在浏览器中运行。当javascript运行时,包含您在浏览器中看到的HTML的HTTP响应已经发送,因此Servlet完全不在图片中。你不能像想象中那样forward

request.getRequestDispatcher("/WEB-INF/some.jsp").forward(request, response);

您可以使用ajax构建和发送将由Servlet处理的新HTTP请求。