我有一个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);
我该怎么做? 谢谢!
答案 0 :(得分:0)
您可以使用Session
将一些对象发送到servlet。因为会话在整个应用程序中对用户保持相同。
答案 1 :(得分:0)
JQuery / Javascript不会将请求“转发”给Web应用程序。它通过AJAX或重定向发出新请求。 JQuery本身不处理HTTP请求。
您需要为此发出AJAX请求。我假设JSP是Web应用程序的表示层。所以只需使用JQuery $ .ajax()方法向您的Web应用程序发出ajax请求。
您可以使用AJAX回调函数处理响应
答案 2 :(得分:0)
Servlet
和jsp
是服务器端组件。服务器接收HTTP个请求并发送Servlet
来处理它们,方法是在jsp
的帮助下为每个请求生成相应的HTTP响应。
Javascript
是客户端组件。它在浏览器中运行。当javascript
运行时,包含您在浏览器中看到的HTML的HTTP响应已经发送,因此Servlet
完全不在图片中。你不能像想象中那样forward
request.getRequestDispatcher("/WEB-INF/some.jsp").forward(request, response);
您可以使用ajax
构建和发送将由Servlet
处理的新HTTP请求。