问题标签 [cross-context]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
104 浏览

grails - 将跨上下文与 Orbeon 一起使用时重定向到正确的上下文

我们正在使用 Orbeon 4.5.1 开发应用程序我们使用分离部署,描述如下:http ://wiki.orbeon.com/forms/doc/developer-guide/xforms-with-java-applications

分离部署意味着,我们有自己的应用程序,可以通信和使用另一个应用程序,在我们的例子中,这就是 Orbeon。

我们将 Grails 2.2.4 用于我们自己的应用程序,并通过以下方式访问它:

这一切都很好。然后我们到达 Orbeon 应用程序,将 Orbeon 放在后面,示例如下:

现在我们可以使用 Orbeon 的功能了。

但是当我们点击 Orbeon 应用程序中的一个链接时,它应该仍然指向 Orbeons 上下文,它指向我们的主应用程序的上下文!

因此,当我们点击链接:/fr/{bind('application-name-bind')}/{bind('form-name-bind')}/test 时,我们将被重定向到:

而不是正确的链接:

有些地方我们已经通过在 Orbeon 代码中的链接之前放置 /orbeon 来解决这个问题,但这对我们来说不是一个解决方案,因为我们很难修复所有链接,并且当我们升级 Orbeon 时,我们必须再次替换所有链接。因此,某些功能现在无法正常工作。

我不知道这是否与 Orbeon 或 Grails 中的配置有关。

我将不胜感激,因为我们已经在这里停留了一段时间。请让我知道是否有任何建议?

0 投票
0 回答
500 浏览

web-services - 使用带有 JAX-RS 的 Tuckey URLRewriteFilter 时出现 404

我正在尝试将其URLRewriteFilter与许多不同类型的资源结合使用。它非常适合静态资源和常规 servlet。然而,对于基于 JAX-RS 的服务,我得到了 404。

情况是这样的:有两个 Web 应用程序:

  • base
  • base#nested

/base/Something/nested/furtherPath需要转发到的请求/base/nested/furtherPath/base这意味着从上下文转发到/base/nested上下文。

为此,我在/base上下文中配置了 URLRewrite 过滤器:

规则(urlrewrite.xml)如下:

上下文的crossContext属性/base设置为true

这对于常规 servlet 和静态资源非常有效,但不适用于 JAX-RS 服务。我在 TomEE JAX-RS 1.6.0 中执行此操作。

感谢您的帮助!

0 投票
2 回答
1359 浏览

java - 在同一服务器中的两个 Web 应用程序之间传递对象

我有 2 个 Web 应用程序 GPSClient 和 RuralCloud,部署在我的 tomcat 服务器上,其中我分别有 2 个 servlet SendData 和 RecieveData。我想将对象从 SendData 发送到 RecieveData。我正在使用 requestDispature 但它不适合我。

这是 servlet 一的代码,它抛出 NullPointerException

这是错误日志

有什么办法可以解决问题。提前谢谢。

0 投票
1 回答
1776 浏览

java - 在tomcat中获取另一个webapp的上下文

我在 Tomcat 8.0.20 上运行以下配置:

在 context.xml 我有<Context crossContext="true"> .... </Context>

在 server.xml 中:

获取 的/app/app2/app5作品/app4中获取上下文:

request.getServletContext().getContext("/app")不为空。

但是,请求的上下文/app3(带有上下文路径/)。

知道为什么getContext("/")为空吗?

0 投票
0 回答
727 浏览

java - Tomcat 现在抛出 javax.servlet.jsp.JspTagException: Unable to get RequestDispatcher for Context after update to 7.0.59

我正在运行 Fedora 21 发行版中的 Java 和 Tomcat,在最近 Tomcat 7.0.59 更新发布之前,它一直与我的应用程序一起运行良好。现在设置 crossContext="true" 并不能防止抛出致命异常,如果设置了 crossContext="false",通常会看到这种异常。这是Tomcat版本:

这是抛出的异常:

有任何想法吗?在最近的 Tomcat 版本中似乎有跨上下文请求调度的工作,但我找不到任何专门解决这个问题的东西。这是完整的异常跟踪:

0 投票
1 回答
866 浏览

tomcat - 通过身份验证转发到另一个 webapp

我正在尝试我的第一个网络应用程序。使用 Tomcat 7。

我想从 host:port/app1/x/y 与一些 post 数据和身份验证标头转发到 host:port/app2/x/y 具有相同的 post 数据和标头。两个应用程序都在同一台主机上。

/app2 具有基本身份验证。在客户端,代码运行

我可以通过执行以下操作从 /app1 转发到 /app2

1) 实现一个过滤器并在 /app1 的 doFilter 中执行此操作

2)在app1..WEB-INF/web.xml下转发所有(/*)url映射

3) 在 conf/server.xml 中的 tomcat 中。为同一主机下的 /app1 和 /app2 定义上下文并关闭 unpack war 等并让 crossContext = true

app1.war 非常简单,只有一个过滤器类和一个映射到转发请求的 web.xml

app2.war 是一个支持 spring 的 web 应用程序

当我使用错误的密码直接向 /app2 发出请求时,出现错误

当我转发当前转发的方式(从/app1到/app2)时,它正在跳过身份验证和/app2下的请求开始处理。当在 /app2 中的某个地方时,它会因 npe 失败。它正在尝试从安全上下文中读取用户名(预计 Spring 会启动并设置它)

我无法更改 /app2 下的代码

我希望 /app1 是一个非常简单的转发请求。
我不能在 tomcat 前使用重定向或使用 apache 规则重写

如果需要分享更多信息,请告诉我

转发是否也转发所有身份验证标头,所以它好像请求直接命中 /app2 ?

0 投票
1 回答
274 浏览

java - 使用 Cross-Context 时获取 servlet 响应

我正在使用跨上下文调用另一个服务器应用程序中的 servlet:来自服务器应用程序“A”的 Servlet /bar 调用服务器应用程序“B”上的 /foo servlet。

我正在使用这个非常好的解决方案,就像在 Abhijeet Ashok Muneshwar 回答中一样,我将来自服务器应用程序 A 的请求转发到服务器应用程序 B 上的 /foo servlet。

我正在使用类 RequestDispatcher() 发送请求,但响应在同一个调用中返回?

如何在 A 的 servlet 中处理并返回来自服务器应用程序 B 的响应。

谢谢。