问题标签 [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.
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 中的配置有关。
我将不胜感激,因为我们已经在这里停留了一段时间。请让我知道是否有任何建议?
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 中执行此操作。
感谢您的帮助!
java - 在同一服务器中的两个 Web 应用程序之间传递对象
我有 2 个 Web 应用程序 GPSClient 和 RuralCloud,部署在我的 tomcat 服务器上,其中我分别有 2 个 servlet SendData 和 RecieveData。我想将对象从 SendData 发送到 RecieveData。我正在使用 requestDispature 但它不适合我。
这是 servlet 一的代码,它抛出 NullPointerException
这是错误日志
有什么办法可以解决问题。提前谢谢。
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("/")
为空吗?
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 版本中似乎有跨上下文请求调度的工作,但我找不到任何专门解决这个问题的东西。这是完整的异常跟踪:
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 ?
java - 使用 Cross-Context 时获取 servlet 响应
我正在使用跨上下文调用另一个服务器应用程序中的 servlet:来自服务器应用程序“A”的 Servlet /bar 调用服务器应用程序“B”上的 /foo servlet。
我正在使用这个非常好的解决方案,就像在 Abhijeet Ashok Muneshwar 回答中一样,我将来自服务器应用程序 A 的请求转发到服务器应用程序 B 上的 /foo servlet。
我正在使用类 RequestDispatcher() 发送请求,但响应在同一个调用中返回?
如何在 A 的 servlet 中处理并返回来自服务器应用程序 B 的响应。
谢谢。