问题标签 [jakarta-ee]
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.
java - EJB 还活着吗?
您还在项目中使用会话或实体 EJB 吗?为什么?
web-services - WebServiceTransportException: Unauthorized [401] in Spring-WS
We are struggling to configure our web app to be able to connect with web services via Spring WS. We have tried to use the example from the documentation of client-side Spring-WS, but we end up with a WebServiceTransportException. The XML config looks like this:
We have been able to configure the application programmatically, but this configuration was not possible to "transfer" to a Spring XML config because some setters did not use the format Spring expects. (HttpState.setCredentials(...) takes two parameters). The config was lifted from some other Spring-WS client code in the company.
This is the configuration that works:
Does anyone know how to solve my problem? Every tutorial I have see out there lists the first configuration. It seems that when I set the credentials on the messageSender object, they are just ignored...
java - 使用带有 JSTL 的 EL 访问枚举值
我有一个名为 Status 的枚举,定义如下:
我想VALID
从 JSTL 标记中访问 的值。特别是标签的test
属性。<c:when>
例如
我不确定这是否可能。
jakarta-ee - 如何将 EAR 中的 WAR 部署为 Glassfish 中的根 (/) 上下文?
我有一个 EAR 文件,其中包含两个 WAR,war1.war 和 war2.war。我的 application.xml 文件如下所示:
这导致 war2.war 在http://localhost:8080/war2location上可用,这是正确的,但 war1.war 在http://localhost:8080//上- 请注意两个斜杠。
我究竟做错了什么?
请注意,WAR 的 sun-web.xml 文件在包含在 EAR 中时会被忽略。
jakarta-ee - 如何防止用户在网站上多次发布数据
我正在开发一个 Web 应用程序 (J2EE),我想知道可用于处理来自浏览器的双重发布的选项。
我过去看到和使用的解决方案都是客户端的:
- 用户单击后立即禁用提交按钮。
- 遵循 POST-Redirect-GET 模式以防止用户单击后退按钮时出现 POST。
- 处理表单的 onSubmit 事件并使用 JavaScript 跟踪提交状态。
如果可能,我更愿意实施服务器端解决方案。有没有比我上面提到的更好的方法,或者客户端解决方案是最好的?
java - 用于提供静态内容的 Servlet
我在两个不同的容器(Tomcat 和 Jetty)上部署了一个 webapp,但是它们用于提供静态内容的默认 servlet 有不同的方式来处理我想要使用的 URL 结构(详细信息)。
因此,我希望在 webapp 中包含一个小 servlet 来提供它自己的静态内容(图像、CSS 等)。servlet 应具有以下属性:
- 没有外部依赖
- 简单可靠
- 支持
If-Modified-Since
标头(即自定义getLastModified
方法) - (可选)支持 gzip 编码、etags、...
这样的 servlet 在某处可用吗?我能找到的最接近的是servlet book 中的示例 4-10。
更新:我想使用的 URL 结构——如果你想知道的话——很简单:
所以所有请求都应该传递给主 servlet,除非它们是针对static
路径的。问题是 Tomcat 的默认 servlet 不考虑 ServletPath(因此它会在主文件夹中查找静态文件),而 Jetty 会(因此它会在static
文件夹中查找)。
tomcat - 如何将 Tomcat 配置为在登录后始终定向到 index.jsp?
目前 Tomcat 的登录支持将用户重定向到应用程序发现他们未登录时的初始位置。
对于这个特定的应用程序,我需要强制他们总是回到index.jsp
.
我很确定这是 WAR's 中的一个简单配置选项web.xml
,但我在 google 中没有找到答案。
jakarta-ee - Apache Geronimo 的 jndi 默认上下文中的 java.lang.String - 如何?
在 servlet 中,我执行以下操作:
在 Apache Geronimo 实例 (WAS CE 2.1) 上,如何将值与键propertyName关联?
在 Websphere AS 6 中,我可以在管理控制台的“名称空间绑定”页面下为 JNDI 查找配置这些属性,但对于我来说,我无法在网络上的社区版中执行此操作。
jakarta-ee - 有哪些工具可用于衡量企业基于 Web 的系统的“健康状况”?
我协助维护基于 Web 的企业系统(在 J2EE 中编程,但这是一个更普遍的问题),我想知道:有哪些好的工具可以衡量企业系统的“健康状况”?例如,检查服务器上的内存空间、检查批处理运行状态、在一定时间内处理的记录数等工具?
我不希望将其限制为每个答案一个工具,但是,每个答案多个工具当然是可以接受的。
java - Java Web 部署:构建代码,还是部署 .war?
部署 J2EE/Java Web 应用程序的两种主要方法(在非常简单的意义上):
将组装的工件部署到生产盒
在这里,我们在.war
别处创建(或其他),将其配置用于生产(可能为许多盒子创建大量工件)并将生成的工件放在生产服务器上。
- 优点:生产盒上没有开发工具,可以直接重用测试中的工件,进行部署的人员不需要了解构建过程
- 缺点:创建和部署工件的两个过程;预建工件的潜在复杂配置可能会使流程难以编写脚本/自动化;必须版本二进制工件
在生产箱上构建工件
在这里,日常用于在开发人员机器上本地构建和部署的相同过程用于部署到生产。
- 优点:需要维护一个流程;并通过频繁使用进行了大量测试/验证。在创建工件时自定义配置可能比自定义预构建工件后记更容易;不需要对二进制工件进行版本控制。
- 缺点:所有生产盒都需要潜在的复杂开发工具;部署人员需要了解构建过程;你没有部署你测试的东西
我主要使用第二个过程,诚然是出于必要(另一个部署过程没有时间/优先级)。就我个人而言,我不赞成“生产箱必须清除所有编译器等”之类的论点,但我可以看到部署您测试过的东西的逻辑(而不是构建另一个工件)。
然而,Java Enterprise 应用程序对配置非常敏感,感觉就像是在为配置工件的两个进程自找麻烦。
想法?
更新
这是一个具体的例子:
我们使用 OSCache,并启用磁盘缓存。配置文件必须在 .war 文件中,并且它引用文件路径。这条路径在每个环境中都不同。构建过程检测用户的配置位置,并确保放置在战争中的属性文件对于他的环境是正确的。
如果我们要使用构建过程进行部署,则需要为生产环境(例如production.build.properties
)创建正确的配置。
如果我们要遵循“将组装的工件部署到生产环境”,我们将需要一个额外的过程来提取(不正确的)OSCache 属性并将其替换为适合生产环境的属性。
这会创建两个进程来完成同一件事。
所以,问题是:
- 如果没有“在生产中编译”,这是否可以避免?
- 如果没有,这值得吗?“不编译生产”的价值是否大于“不要重复自己”?