GlassFish 5 上带有 JSF 2.3 Web 应用程序的上下文根
Posted
技术标签:
【中文标题】GlassFish 5 上带有 JSF 2.3 Web 应用程序的上下文根【英文标题】:Context-root with JSF 2.3 Web Application on GlassFish 5 【发布时间】:2018-09-10 14:47:40 【问题描述】:我很难为我的 Web 应用程序配置上下文根,该应用程序包含两个工件,一个 Web 存档和一个 EJB.jar(XYZ_war.war 和 XYZ_ejb.jar)
我可以毫无问题地访问应用程序 本地主机/XYZ (或在远程服务器上使用 www.domain.xy/XYZ)
但是
使用本地主机 (或 www.domain.xy)
显示来自 docroot 目录的 Glassfish 默认网站('您的服务器现在正在运行...')
我使用 GlassFish Web 管理控制台进行部署。 到目前为止,我在这里或其他地方的所有搜索都没有帮助。 我错过了什么?
任何帮助将不胜感激。 谢谢!
glassfish-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish
Application Server 3.1 Servlet 3.0//EN"
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
<context-root>/XYZ</context-root>
</glassfish-web-app>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>XYZ</display-name>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.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>15</session-timeout>
</session-config>
</web-app>
域.xml:
<network-listeners>
...
<network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp">
...
</networklistener>
...
<applications>
<application context-root="/XYZ" object-type="user" name="XYZ_war" location="$com.sun.aas.instanceRootURI/applications/XYZ_war/">
...
</application>
<application object-type="user" name="XYZ_ejb" location="$com.sun.aas.instanceRootURI/applications/XYZ_ejb/">
...
</application>
</applications>
【问题讨论】:
【参考方案1】:所以如果我理解正确,您将context-root
设置为/XYZ
并且您希望它是/
?设置成/
怎么样?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish
Application Server 3.1 Servlet 3.0//EN"
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
<context-root>/</context-root>
</glassfish-web-app>
玩得开心:)
【讨论】:
非常感谢您的帮助。我按照您的建议更改了 glassfish-web.xml 中的上下文根。不幸的是,它仍然不起作用(仍然显示 GlassFish 的“欢迎页面”)。 终于解决了。我在 *** 上找到了解决方案。 ***.com/questions/41585188/…谢谢!以上是关于GlassFish 5 上带有 JSF 2.3 Web 应用程序的上下文根的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Glassfish3.1.2.2/MyFaces2.1.9/JSF 管理的性能优于 TomEE1.5+/CDI 管理的性能?
为什么GlassFish 5.1.0中的JSF将我的@ViewScoped CDI bean的ID属性设置为null?
FacesContext 在带有 JSF 2.3 的 Wildfly 14 中不可注入(Mojarra,主模块)