glassfish 相关问题

GlassFish是参考Java EE应用程序服务器。

如何将 JSTL 添加到运行 GlassFish 的 IntelliJ Jakarta EE 10 项目

首先,抱歉我的英语不好。 我开始学习 jakarta EE,并发现了用于防止 XSS 攻击的 Jakarta 标准标签库(JSTL)。 IDE 说:“无法解析 taglib uri” 我会...

回答 2 投票 0

Glassfish jdbc/数据库查找失败

我希望我不会因为找不到答案而提出重复的问题。 我收到此错误: javax.naming.NamingException:在 SerialContext 中查找“jdbc/osclassDB”失败...

回答 2 投票 0

Glassfish 4 的信息日志

我正在开发一个EJB应用程序,它需要每10秒查询一次sql服务器数据库以获得一些数据。 我注意到在日志中我有这两行: 信息:RAR7114:无法获取

回答 3 投票 0

java.lang.IllegalStateException:CDI 不可用

我正在使用 Netbeans 16 通过 Gradle、Jakarta EE 9 和 PrimeFaces 12 创建一个 Web 项目。基本项目创建工作正常,并在 Glassfish 6.2.5 服务器上正确部署。 添加

回答 2 投票 0

当我在持久性 xml 中提供另一个端口 5432 时,连接到端口 1,527 上的服务器本地主机时出错

在Java EE中,我提供了persistence.xml并正确打包。 在 Java EE 中,我提供了 persistence.xml 并且已正确打包。 <?xml version="1.0" encoding="UTF-8" ?> <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="ArticleManagement"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <class>com.pauljabines.portfolio.Article</class> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/postgres" /> <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver" /> <property name="javax.persistence.jdbc.user" value="postgres" /> <property name="javax.persistence.jdbc.password" value="************************" /> <property name="eclipselink.logging.level" value="ALL" /> </properties> </persistence-unit> </persistence> 问题:有了这些连接属性,为什么 glassfish 会抛出错误并说无法连接到端口 1527? 这是一些堆栈跟踪: org.glassfish.deployment.common.DeploymentException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.0.v20170811-d680af5): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1,527 with message Connection refused: connect. 解决方案是在glassfish中为postgresql创建一个jdbc连接池。为此: 在此处下载 postgresql jdbc 驱动程序并将其放置在 glassfish5\glassfish\domains\domain1\lib 中。 重新启动你的glassfish。 转到 glassfish 管理网页 localhost:4848。 转到 JDBC -> JDBC 连接池 单击“新建”以创建一个。 池名称 = 任何你想要的东西 资源类型 = javax.sql.ConnectionPoolDataSource 数据源类名 = org.postgresql.jdbc3.Jdbc3PoolingDataSource 对于属性,创建这些: 用户= postgres,你的用户 portNumber = 5432,数据库的端口号 密码 = 连接数据库的密码 databaseName = Portfolio, 要连接的数据库名称 服务器名称 = 本地主机,您的服务器名称 Ping 进行测试。 保存。 转到 JDBC -> 资源并编辑 jdbc/__default。 将池名称设置为您创建的池的池名称。 我今天也遇到了这个问题,我发现如果您使用@PersistenceUnit注释,应用程序会尝试连接到Glassfish服务器的内部JavaDB,我不知道为什么。因此,您可以进入 Glassfish 安装的 bin 目录并运行“asadmin start-database”以在端口 1527 启动 JavaDB。然后您的应用程序应该运行。但我认为这很令人困惑。所以我建议在没有 @PersistenceUnit 注释的情况下工作。使用“Persistence.createEntityManagerFactory()”创建 EntityManagerFactory。这无需启动 JavaDB 即可工作。

回答 2 投票 0

共享 JDBC 池是如何配置的?

我们使用 Payara 5 服务器和 4 个应用程序实例。 JDBC 池配置为 5,设置为池中的最大连接数。指向 JDBC 连接点的 JDBC 资源...

回答 1 投票 0

Glassfish7 软件门户的 SSO

**web.xml(登录.war)** ... 登录 **web.xml(登录.war)** <?xml version="1.0" encoding="UTF-8"?> ... <display-name>Login</display-name> <welcome-file-list> <welcome-file>login.xhtml</welcome-file> </welcome-file-list> <login-config> <auth-method>FORM</auth-method> <realm-name>jdbcRealm</realm-name> <form-login-config> <form-login-page>/login.xhtml</form-login-page> <form-error-page>/login-error.xhtml</form-error-page> </form-login-config> </login-config> <security-role> <role-name>USER</role-name> </security-role> <security-role> <role-name>ADMIN</role-name> </security-role> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> <cookie-config> <name>JSESSIONID</name> <path>/</path> <http-only>true</http-only> <secure>false</secure> verwenden --> </cookie-config> </session-config> <context-param> <param-name>org.primefaces.extensions.DELIVER_UNCOMPRESSED_RESOURCES</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>primefaces.THEME</param-name> <param-value>nova-light</param-value> </context-param> </web-app> **web.xml(开始.war)** <?xml version="1.0" encoding="UTF-8"?> ... <display-name>Startleiste</display-name> <welcome-file-list> <welcome-file>index.xhtml</welcome-file> </welcome-file-list> <login-config> <auth-method>FORM</auth-method> <realm-name>jdbcRealm</realm-name> <form-login-config> <form-login-page>/login/login.xhtml</form-login-page> <form-error-page>/login/login-error.xhtml</form-error-page> </form-login-config> </login-config> <security-constraint> <web-resource-collection> <web-resource-name>Protected Area</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>ADMIN</role-name> <role-name>USER</role-name> </auth-constraint> </security-constraint> <security-role> <role-name>USER</role-name> </security-role> <security-role> <role-name>ADMIN</role-name> </security-role> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> <session-config> <session-timeout>30</session-timeout> <!-- Timeout in Minuten --> <cookie-config> <name>JSESSIONID</name> <path>/</path> <http-only>true</http-only> <secure>false</secure> <!-- Ändern Sie dies zu true, wenn Sie HTTPS verwenden --> </cookie-config> </session-config> <context-param> <param-name>org.primefaces.extensions.DELIVER_UNCOMPRESSED_RESOURCES</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>primefaces.THEME</param-name> <param-value>nova-light</param-value> </context-param> </web-app> LoginController.java(Login.war) package login.web; import java.io.IOException; import java.io.Serializable; import jakarta.enterprise.context.RequestScoped; import jakarta.faces.application.FacesMessage; import jakarta.faces.context.FacesContext; import jakarta.inject.Inject; import jakarta.inject.Named; import login.util.LoginService; import login.util.entities.User; @RequestScoped @Named public class LoginController implements Serializable { private static final long serialVersionUID = -5346634778960677989L; private static final String URL = "myServerURL:8080"; @Inject private LoginService loginService; private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void login() { FacesContext context = FacesContext.getCurrentInstance(); User user = loginService.findUserByUsername(username); if (user != null && user.getPassword().equals(SHA256Util.hashPassword(password))) { context.getExternalContext().getSessionMap().put("user", user); try { System.out.println("Login successful, redirecting to start page."); context.getExternalContext().redirect(URL + "/Start"); } catch (IOException e) { System.out.println("Redirect failed: " + e.getMessage()); e.printStackTrace(); } } else { System.out.println("Invalid username or password."); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Invalid username or password", null)); } } public void logout() { FacesContext.getCurrentInstance().getExternalContext().invalidateSession(); try { FacesContext.getCurrentInstance().getExternalContext().redirect("login.xhtml"); } catch (IOException e) { System.out.println("Logout redirect failed: " + e.getMessage()); e.printStackTrace(); } } } RedirektBean.java(Start.war) package startleiste.glassfish; import java.io.IOException; import java.security.Principal; import jakarta.enterprise.context.RequestScoped; import jakarta.faces.context.ExternalContext; import jakarta.faces.context.FacesContext; import jakarta.inject.Named; @Named @RequestScoped public class LoginRedirectBean { public void redirectToLogin() { ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); try { Principal userPrincipal = externalContext.getUserPrincipal(); if (userPrincipal == null) { System.out.println("User ist nicht authentifiziert, Umleitung zur Login-Seite"); externalContext.redirect("myServerURL/Login"); } } catch (IOException e) { e.printStackTrace(); } } } 大家好。我在为 Glassfish7 应用程序服务器配置 SSO 时遇到了很大的问题。我想开发一个软件门户,使用 JSF、primefaces 和 Glassfish7 作为应用程序服务器。 计划是配置一个中央登录页面 - >登录后用户进入导航页面。如果您之前没有登录就访问导航页面,应用程序会将您重定向到登录页面。 我在不同的战争中都这样做过 登录.war 开始战争 如果我成功登录 - 应用程序立即将我重定向到 Login.war 这是为什么? 您确定您的登录应用程序使用领域来验证用户身份吗?我在登录方法中只看到context.getExternalContext().getSessionMap().put("user", user);。您的代码根本不使用jdbcRealm,您直接进入数据库。 GlassFish 无法知道用户是否经过身份验证,因此无法将信息传递给另一个应用程序进行 SSO。不幸的是,互联网上的大多数示例似乎都显示了与您的代码类似的内容,但这仅适用于单个应用程序,并且仅当您有一个自定义 servlet 过滤器(如果未经身份验证则阻止访问安全页面)时才有效。换句话说,整个安全机制完全是自定义的,不依赖服务器,服务器也不知道。 这里有一个教程,介绍如何执行您想要的操作,以便您的应用程序使用 JDBC 领域进行身份验证:https://docs.oracle.com/javaee/6/tutorial/doc/glxce.html 您应该在您的login()方法中调用以下内容: FacesContext context = FacesContext.getCurrentInstance(); HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest(); try { request.login(username, password); // Redirect to the home page or a secured page return "welcome?faces-redirect=true"; } catch (ServletException e) { // Authentication failed

回答 1 投票 0

如何在 Jersey 中处理 HeaderValueException

我们有 Jersey + Spring 的 REST 端点,当我们使用格式错误的标头值向端点发出请求时。例如接受:application/json/foobar 带有 HeaderValueException 的异常...

回答 1 投票 0

Glassfish6 WAR 模块尽管有 @WebService 注释,但无法作为 ejb、web、webservice 启动

我正在为我为 Glassfish6 开发的 SOAP API 创建 REST 相邻(即 HTTP 方法实现,但不是实际的 REST 结构)API 包装器。在开发这个的过程中,我...

回答 1 投票 0

WebSockets:通过 ELB 从客户端到 Amazon AWS EC2 实例的 wss

如何通过 ELB 通过 ssl 连接到 Amazon AWS EC2 实例上 GlassFish 提供的 Websocket? 我在 GlassFish 4.1 b13 预发行版中使用 Tyrus 1.8.1 作为我的 websocket 实现。 ...

回答 2 投票 0

Jakarta/Java EE 兼容性如何运作?

所以我试图了解哪些 JDK 版本与 Jakarta EE 9.1 兼容(使用 glassfish 6.1.0)。显然它支持 JDK 11,但在 NetBeans 中能够完美运行 GlassFish ...

回答 1 投票 0

Glassfish Tools 在 Eclipse 上安装

我无法在我的 Eclipse 上安装 Glassfish。我正在使用 Java 17(也尝试过 java 8)和 Eclipse 2023-6。我希望在服务器列表中看到 Glassfish 以及 Apache、IBM、Resin 等。 我有

回答 1 投票 0

使用 glassfish 从 WSDL(来自 Microarea 的意大利 ERP Mago4)生成 Java 工件时出现问题

我已经使用 Microarea 的意大利 ERP Mago4 公开的 Web 服务几年了,来自我的 java 程序。 我正在尝试扩展使用,但 WSDL 似乎有问题。 详细一点,

回答 1 投票 0

握手期间WebSocket错误意外代码200

我一直使用 GlassFish 4 作为我的服务器。 我正在使用以下语句打开 WebSocket 连接: webSocket = new WebSocket(链接); 在哪里: 链接 = 'ws://localhost:8080/CollabEdit/Document/file333B1...

回答 1 投票 0

Payara (glassfish) 管理控制台卡在加载状态

我正在尝试通过 http://localhost:4848/ 访问 Payara 管理控制台,但打开链接后,窗口永远不会超出显示“管理控制台正在启动”的屏幕。请稍等。它...

回答 4 投票 0

为 glassfish 网络服务器缓存 css、js 和字体缓存的最佳方式

我有Glassfish网络服务器,我希望我的应用程序在客户端缓存文件,我尝试了多种方法,但它对任何方法都不起作用,并且某些方法使用不在我的c中的apache网络服务器...

回答 1 投票 0

GC 的 Glassfish JVM 设置

我正在 glassfish 服务器上运行一个应用程序,并且有以下 JVM 设置(我认为与我的问题相关): -Xmx512m -XX:NewRatio=2 -XX:+UseParallelOldGC -XX:+UseParallelGC all

回答 2 投票 0

NoClassDefFoundError:无法初始化类

我正在使用 OpenSAML API 开发身份提供商。 我创建了一个 java 应用程序来测试 OpenSAML API,结果很成功。 问题是现在我正在尝试在

回答 3 投票 0

Intellij 2019.2:GlassFish 需要 Java SE 版本 6。您的 JDK 是版本 0

我正在使用 IntelliJ 2019.2,无法启动 Glassfish Server 4.1.2(完整平台)。我找到了一些针对此错误的解决方案建议,但没有一个对我有用,例如这篇文章或这个

回答 6 投票 0

在 Payara 服务器上运行应用程序会抛出“VM 初始化期间发生错误”

我是一名初级开发人员,这是我的第一个问题,如果我写错了,抱歉。 我目前正在更新最初使用 Java 8、JavaEE6、ANT、Microsoft SQL Server 和

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.