使用Glassfish应用服务器设置上下文根

使用Glassfish应用服务器设置上下文根,glassfish,Glassfish,我有一个带有Glassfish应用服务器的EJB WEB应用程序。 现在,我想要如下所示的上下文根“/”。 我的当前URL为“” 但是我想要这个:没有“Make”作为我当前的应用程序名。但当我部署它并提示“”时,我从glassfish获得了“服务器正在运行”页面 所以我想知道我能做什么。我已经在web-INF文件夹中创建了一个glassfish-web.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE glassfish-

我有一个带有Glassfish应用服务器的EJB WEB应用程序。 现在,我想要如下所示的上下文根“/”。 我的当前URL为“” 但是我想要这个:没有“Make”作为我当前的应用程序名。但当我部署它并提示“”时,我从glassfish获得了“服务器正在运行”页面 所以我想知道我能做什么。我已经在web-INF文件夹中创建了一个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 error-url="">
<context-root>/</context-root>
</glassfish-web-app>

/
什么也没发生。然后我在同一文件夹中创建了一个sun-web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC 
 "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN"   
 "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
<sun-web-app error-url="">
<context-root>/path/to/our/App</context-root>
</sun-web-app>

/路径/到/我们的/应用程序
此外,我还使用glassfish-application.xml和application.xml创建了trie。 那么,我必须做些什么才能产生这种效果呢

PS:这是我的web.xml,我部署为EAR文件

<?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" version="3.1">
<display-name>Make</display-name>
<mime-mapping>
<extension>xhtml</extension>
<mime-type>application/xml</mime-type>
</mime-mapping>
<welcome-file-list>
 <welcome-file>anmeldung.xhtml</welcome-file>
</welcome-file-list>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
 <error-page>
 <exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/anmeldung.xhtml</location>
</error-page>
<context-param>
<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
<param-value>false</param-value>
 </context-param>
 <context-param>
<param-name>primefaces.THEME</param-name>
<param-value>bootstrap</param-value>
 </context-param>
 <context-param>
<param-name>javax.faces.WEBAPP_RESOURCES_DIRECTORY</param-name>
<param-value>/WEB-INF/resources</param-value>
 </context-param>
 <context-param>
 <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<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>
 </web-app>

制作
xhtml
应用程序/xml
anmeldung.xhtml
30
javax.faces.application.ViewExpiredException
/anmeldung.xhtml
org.apache.myfaces.SERIALIZE_STATE_IN_SESSION
假的
主题
独自创立
javax.faces.WEBAPP\u资源\u目录
/WEB-INF/资源
状态保存方法:“客户端”或“服务器”(=默认值)。参见JSF规范2.5.2
javax.faces.STATE_保存方法
客户
javax.servlet.jsp.jstl.fmt.localizationContext
资源.应用
com.sun.faces.config.ConfigureListener
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.xhtml
编辑:WEB-INF文件夹中的application.xml

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
<application-name>Make</application-name>
<display-name>Make</display-name>
<module>
<web>
  <web-uri>Make.war</web-uri>
  <context-root>/</context-root>
</web>
 </module>
<module>
  <ejb>makeITown.jar</ejb>
</module>
<library-directory>lib</library-directory>
</application>

制作
制作
制造战争
/
makeITown.jar
解放党

您发布的
glassfishweb.xml
似乎还可以

如果将应用程序部署为EAR,则可能需要和application.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
  <application-name>something</application-name>
  <display-name>something</display-name>
  <module>
    <web>
      <web-uri>your_webapplication.war</web-uri>
      <context-root>/</context-root>
    </web>
  </module>
  <module>
    <ejb>your_ejb_services.jar</ejb>
  </module>
  <library-directory>lib</library-directory>
</application>
asadmin deploy --name something --contextroot / /path/of/your/war.war

将上下文根设置为
/
不足以仅通过键入
http://yourdomain.org
因为Glassfish将显示index.html`中的“您的服务器正在运行”消息


以启动您的应用程序。将
Configuration | server config | Virtual Servers | server | server
(在Web控制台中)中的
Default Web模块
下拉列表设置为您的Web应用程序的名称。

Ok,然后我们需要有关您的设置的更多信息。如果有,请将web.xml添加到问题中。你是作为EAR还是WAR部署?@unwichtig-你让我很开心:)问题是我没有在.EAR文件中创建META-INF文件夹。现在它工作了!THXIs可以为
ejb模块定义上下文根吗?
?完全相同的设置正在这里工作…您的
pom.xml
中是否有
maven-ear插件?这可能会用生成的application.xml覆盖application.xml。不使用Maventh真是奇怪。我在这里有相同的设置,并用您的
web.xml
尝试了它,它可以工作……您的端口是什么?我选择了4888,而不是问题中的80*您的URL显示端口8080,但这不重要。也许问题在于如何部署应用程序。您是否使用Ant进行部署?如何在payara micro中实现同样的功能?是否可以为
ejb模块定义上下文根目录?