问题标签 [deployment-descriptor]

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 投票
2 回答
1965 浏览

spring-mvc - 是否可以在 Spring 应用程序上下文中配置 OpenSessionInViewFilter 以便 context:property-placeholder 可用?

初始情况

我的 Web 应用程序由 Maven 模块myapp-persistence (.jar)、myapp-model (.jar)、myapp-service (.jar) 和myapp-web (.war) 组成,以获得传统的、松散耦合的、多层的建筑学。所有模块都由一个父 Maven 模块连接在一起,该模块仅包含父POM以及所有子模块的通用定义。

特别是myapp-service (.jar) 和myapp-persistence (.jar) 拥有自己的可配置 (!) 应用程序上下文部分以及所需的对象。两个 jar 必须可以使用包含的变量定义进行部署,换句话说,这些 jar 不能具有变量的具体值。

myapp-service-context.xml使用服务器 URL 的变量声明一个solrServer bean:

myapp-persistence-context.xml定义了一个带有连接变量的数据源:

myapp-web (.war) 引用myapp-service (.jar) 和myapp-persistence (.jar)。在myapp-servlet.xml中,它包括它们的应用程序上下文部分,并为通过属性文件声明的 bean 的配置提供属性值。通过context:property-placeholder Spring 在内存中创建应用程序上下文时使用具体值初始化所有变量。

对于开发配置文件,具体的myapp-configuration.properties可能如下所示:

这种配置是 imo 直截了当的并且可以工作 - 没有视图。当org.springframework.orm.hibernate3.support.OpenSessionInViewFilter发挥作用时,问题就出现了。

问题描述

OpenSessionInViewFilter确保在控制器处理期间未在打开的事务中加载的对象图中的实例可以延迟加载,如果视图试图显示这些对象的内容(参见[1])。正如经常描述的那样,这个过滤器是在 delpoyment 描述符web.xml中声明的(参见[2]):

如果myapp-persistence-context.xml像上面那样包含在myapp-servlet.xml中,以便context:property-placeholder起作用,则OpenSessionInViewFilter找不到必要的sessionFactory。原因似乎是 Spring 首先处理web.xml,然后是myapp-servlet.xml,它导入了myapp-persistence-context.xml。不幸的是,我无法通过参考来证明这个猜测。抛出以下异常:

不同的应用程序上下文部分通常包含在带有ContextLoaderListener的部署描述符中,而不是myapp-servlet.xml 中

不幸的是,有了这种配置,Spring 的context:property-placeholder机制似乎不再起作用了。

目标和问题

myapp-persistence (.jar) 和myapp-service (.jar) 这样的模块必须在运行时通过引用上下文使用属性文件进行配置,例如myapp-web (.war) 的应用程序上下文。

问题是:是否可以在 Spring 应用程序上下文中配置OpenSessionInViewFilter以便context:property-placeholder仍然可用?

或者:如果应用程序上下文部分包含在部署描述符web.xml中,Spring 如何在运行时初始化应用程序上下文中的变量?

从根本上说:为什么实际上必须配置OpenSessionInViewFilter ,为什么 Spring MVC 不透明地支持开箱即用的视图延迟加载?

预期的评论

编译时的属性替换不是重点。已使用 Maven 过滤创建了配置文件相关属性文件。

dataSourcesolrServer声明移动到已经提出的 myapp-servlet.xml中(参见[3][4])不是一个可接受的解决方案,因为它破坏了myapp-persistence (.jar) 和myapp-service的模块化和独立可测试性( .jar) - 实际上是依赖注入的精神!

0 投票
1 回答
11981 浏览

java - 未找到部署描述符

我正在使用 NetBeans 8.0 开发我的第一个 Java Web 应用程序,但在项目文件夹中找不到部署描述符。我不知道它的位置。

我在网上搜索,然后写到它会在 WEB-INF 文件夹中,但我的 WEB-INF 文件夹是空的。

0 投票
1 回答
1568 浏览

struts2 - 如何在不使用 struts.xml 中的常量的情况下从 URL 中删除 .action

我正在使用 Struts 2 约定插件。我不想在我的应用程序中使用任何基于 XML 的配置。那么,在这种情况下,如何在不使用in 的情况下.action从 URL 中删除扩展名?我目前仅使用文件来删除扩展名。是否有任何注释可以删除扩展名?<constant name="struts.action.extension" value="" />struts.xmlstruts.xml.action.action

0 投票
2 回答
4191 浏览

java - Struts 1.x 和 Struts 2.x 的 URL 模式问题

我的一个项目是在 Struts 1.x 上运行的,我们正在尝试在 struts 2.x 上集成一些 URL 模式。很少有 URL 也以Abc.do.

目前web.xml看起来像:

以上模式工作正常,如web.xml.

现在我们添加了web.xml支持 Struts 2.x 的并行。

在中添加上述信息后web.xml,这些 URL 模式以它们结尾,.action它们在使用 struts 2.x 时也可以正常工作。

但是当我们想要添加一些特定的 URL 模式时,这些模式也以.do映射到 Struts 2.x 结尾,如下所示。

我们希望所有以 should 开头的请求Hello*.do都映射到 struts 2.x 上,但现在这还没有发生。

因此,这里是否缺少某些东西,web.xml或者总而言之这是不可能的。

我们有什么办法可以解决这个问题吗?

0 投票
1 回答
664 浏览

jar - 如何在红帽 JBoss 企业应用平台中部署自定义 jar

我有一个 custom.jar,需要在我的 JBOSS EAP 6.2 中进行部署

我所做的步骤是

我有一个自定义数据源 jar 说 sampledatasource.jar 我需要与 JBOSS EAP 集成以连接我的数据库

我在模块中创建了一个模块文件夹

JBOSS

并在 modules.xml

和我的 domain.xml 在 ha-ful

我添加了驱动程序

在数据源中

我需要知道所有这些配置是否正常工作。我需要查看 jar 中的类才能使用它,

我还使用 verbose:class 来检查我是否可以看到这些类,但我看不到它。

现在我需要使用这个 jar 来映射连接

我想你现在可以理解了。

请告诉我如何配置自定义jar

0 投票
2 回答
229 浏览

java - 您如何识别“未登录”用户并将其转发回登录页面?

我使用 JSP、Servlet 和 JDBC(无框架)创建了一个 Web 应用程序。我们有基于表单的身份验证安全性,用户必须先登录。用户名和密码在数据库中,与任何基于 Internet 的 Web 应用程序一样,用户名和密码由用户自己创建。

我们已经习惯于Java Sessions识别用户并查明该人是否已登录。我们所做的是在每个 servlet 页面和 JSP 页面中检查会话是否是新的以及会话是否可用,如果有任何问题,我们会将用户转发回登录页面。这可以保护用户直接访问 URL 的 like www.xxx.com/questions?idEmployee=1

现在问题来了。我知道我们不必在每个页面中都编写 java 代码来检查该人是否已登录。我们可以用部署描述符做些什么,对吧?因此它可以自动检查事物并转发用户。

但是,我在 google 中找到的答案都是关于将用户名和密码硬编码到部署描述符中,因此对我们来说毫无用处。那么,我们如何在不将用户名和密码硬编码到部署描述符的情况下解决这个问题呢?

0 投票
2 回答
156 浏览

character-encoding - JCA 部署描述符 (ra.xml) 字符编码应该是什么?

0 投票
0 回答
1916 浏览

java - java - 请求的资源不可用

我正在尝试创建一个简单的 Web 应用程序,但我遇到了这个错误:

HTTP 状态 404 - /LatestFMS/index.html 类型状态报告消息 /LatestFMS/index.html 描述 请求的资源不可用。Apache Tomcat/7.0.57

我已经做好了一切,web.xml的内容如下:

并且 index.html 存在于公用文件夹中。

但是,当我使用带有 urlMapping "/*" 的过滤器并尝试打印任何内容时,它会打印它但显示 404 错误。即控件正在到达服务器甚至过滤器,但它不会超出此范围。即索引.html。我无法理解发生了什么。

当我不使用过滤器并尝试使用链接“ http://localhost:8082/LatestFMS/index.html ”访问 index.html 页面时,我再次给出 404 错误。

请帮我解决这个问题!!

0 投票
1 回答
328 浏览

java-ee-6 - EJB 部署描述符的优先级

如果我将 EJB 打包在 WAR 中,因为它作为 REST Web 服务公开,根据此链接,我需要在 WEB-INF 目录的根目录下拥有 ejb-*.xml 文件。我当前的环境是 Websphere 8.5 和 EJB 3.1

如果我稍后在同一个应用程序中添加多个 EJB(在单独的 EJB 项目中)并在各自的项目中定义其部署描述符,这些似乎被忽略了。看来我的所有描述符都应该在 WEB-INF 目录中的描述符中定义 - 或者换句话说,我似乎应该增加 WEB-INF 目录中的描述符,即使对于定义为单独项目的 EJB。

这是它需要的样子还是我错过了迫使我这样做的东西?我找不到任何解释这部分的文档。

更多详细信息: 这就是我的 application.xml 的样子

ejb1 将存在于 webapp 中。另外两个,ejb2 和 ejb3 是独立的 ejb 项目,应该位于 EAR 的根目录中。

0 投票
1 回答
35 浏览

image - 用于替代文档根中 URI 的 Servlet 过滤器

是否可以将 ServletFilters 应用于通过备用文档根传递的内容?

过滤器映射

备用文档根

问题陈述:
在提供静态内容(特别是图像)之前进行一些身份验证。由于我提供图像,因此我无法使用数据库,也无法将图像保存在 .war 文件中