Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Glassfish上下文根本问题_Java_Jsf 2_Glassfish 3 - Fatal编程技术网

Java Glassfish上下文根本问题

Java Glassfish上下文根本问题,java,jsf-2,glassfish-3,Java,Jsf 2,Glassfish 3,我正试图在glassfish服务器的根目录中部署一个JSF-2应用程序,以便http://localhost:8080/导致我的欢迎页面。由于某些原因,在尝试配置时,http://localhost:8080/在http://localhost:8080//通向我的。如果我转到http://localhost:8080/它是有效的,因此在大多数情况下,上下文根似乎是有效的,只是欢迎页面有错误的映射 如何解决这个问题 sun-web.xml: <sun-web-app error-url="

我正试图在glassfish服务器的根目录中部署一个JSF-2应用程序,以便
http://localhost:8080/
导致我的欢迎页面。由于某些原因,在尝试配置时,
http://localhost:8080/
http://localhost:8080//
通向我的。如果我转到
http://localhost:8080/
它是有效的,因此在大多数情况下,上下文根似乎是有效的,只是欢迎页面有错误的映射

如何解决这个问题

sun-web.xml:

<sun-web-app error-url="">
  <context-root>/</context-root>
  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>
</sun-web-app>

/
保留生成的servlet类的java代码的副本。
xml(减去安全约束和其他无关内容)


javax.faces.PROJECT_阶段
发展
AlreadyLoggedin滤波器
/login.jsf
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.jsf
AlreadyLoggedin滤波器
com.xdin.competency.jsf.util.alreadyloggedinFilter
60
index.jsf
javax.faces.application.ViewExpiredException
/viewExpired.jsf
形式
/login.jsf
/login.jsf

作为补充说明,该应用程序不是服务器的默认应用程序,我只希望它部署在根目录中。

这是glassfish的一个特殊“功能”。请在中查看答案


顺便问一下:你使用的是哪种版本的glassfish?您是否可以将应用程序更改为默认应用程序?

使用GF 3.01。最后,这个问题似乎只存在于Firefox中,这很奇怪。我也没有出现在生产环境中,所以问题基本上自行解决了。也就是说,你的链接确实有一些有用的信息,所以我接受它作为答案。
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <filter-mapping>
        <filter-name>AlreadyLoggedInRedirectFilter</filter-name>
        <url-pattern>/login.jsf</url-pattern>
    </filter-mapping>
    <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>*.jsf</url-pattern>
    </servlet-mapping>
    <filter>
        <filter-name>AlreadyLoggedInRedirectFilter</filter-name>
        <filter-class>com.xdin.competence.jsf.util.AlreadyLoggedInRedirectFilter</filter-class>
    </filter>
    <session-config>
        <session-timeout>60</session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsf</welcome-file>
    </welcome-file-list>
    <error-page>
        <exception-type>javax.faces.application.ViewExpiredException</exception-type>
        <location>/viewExpired.jsf</location>
    </error-page>
    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/login.jsf</form-login-page>
            <form-error-page>/login.jsf</form-error-page>
        </form-login-config>
    </login-config>