0

我有一个 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);

我怎样才能做到这一点?谢谢!

4

3 回答 3

0

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

于 2013-09-16T09:08:59.990 回答
0

Servlet并且jsp是服务器端组件。服务器接收HTTP请求并通过为每个请求生成相应的 HTTP 响应来分派 aServlet来处理它们,有时在 a 的帮助下jsp

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

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

您可以做的是使用ajax构造和发送一个新的 HTTP 请求,该请求将由Servlet.

于 2013-09-16T12:47:35.933 回答
0

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

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

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

于 2013-09-16T09:21:44.803 回答