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
Jsf 2 JSF2没有';不能在WebSphere7上工作-重定向到JSP_Jsf 2_Classloader_Websphere 7 - Fatal编程技术网

Jsf 2 JSF2没有';不能在WebSphere7上工作-重定向到JSP

Jsf 2 JSF2没有';不能在WebSphere7上工作-重定向到JSP,jsf-2,classloader,websphere-7,Jsf 2,Classloader,Websphere 7,我有一个使用JSF2在JBoss上运行良好的应用程序。我看到了与JSF2、WebSphere和类加载器相关的问题。此时,我看到消息“正在为上下文“/MedicaoWeb”初始化Mojarra 2.1.7”。然后,我认为类加载器正在加载正确的JSF类 我有一个index.jsp,用于重定向到index.jsf。当我尝试请求index.jsf时,它会产生无限循环和大量异常。在stacktrace中,有一个“at javax.faces.webapp.FacesServlet.service(Face

我有一个使用JSF2在JBoss上运行良好的应用程序。我看到了与JSF2、WebSphere和类加载器相关的问题。此时,我看到消息“正在为上下文“/MedicaoWeb”初始化Mojarra 2.1.7”。然后,我认为类加载器正在加载正确的JSF类

我有一个index.jsp,用于重定向到index.jsf。当我尝试请求index.jsf时,它会产生无限循环和大量异常。在stacktrace中,有一个“at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)”,我认为它在某个时候使用了FacesServlet。但是我也在日志中看到,与JSF相关的问题是它试图读取JSP

我还试图请求一个不同的页面,即没有同名的JSP。请求arquivo.jsf后,我得到:

java.io.FileNotFoundException: JSPG0036E: Failed to find resource /arquivo.jsp
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.findWrapper(AbstractJSPExtensionProcessor.java:360)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:331)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:325)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:491)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:159)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1443)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3610)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:274)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:926)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1557)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:173)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:272)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:202)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:766)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
这是我的web.xml:

<?xml version="1.0"?>
<web-app version="2.5" 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/web-app_2_5.xsd">
    <display-name>MedicaoCNI</display-name>
    <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>
    <context-param>
        <param-name>facelets.DEVELOPMENT</param-name>
        <param-value>true</param-value>
    </context-param>

    <context-param>
        <param-name>primefaces.THEME</param-name>
        <param-value>medicao</param-value>
    </context-param>

    <filter>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
</web-app>

麦地卡尼
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.jsf
facelets.DEVELOPMENT
真的
主题
医疗
PrimeFaces文件上载筛选器
org.primefaces.webapp.filter.FileUploadFilter
PrimeFaces文件上载筛选器
Facesservlet
这是我的faces-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xi="http://www.w3.org/2001/XInclude" 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/web-facesconfig_2_0.xsd">
    <!-- <lifecycle>
        <phase-listener>org.cni.medicao.util.AuthenticationListener</phase-listener>
    </lifecycle> -->
    <navigation-rule>
        <from-view-id>/*</from-view-id>
        <navigation-case>
            <from-outcome>loginSucesso</from-outcome>
            <to-view-id>/usuario.jsf</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>loginFail</from-outcome>
            <to-view-id>/index.jsf</to-view-id>
            <redirect />
        </navigation-case>
        <navigation-case>
            <from-outcome>logoutSucesso</from-outcome>
            <to-view-id>/index.jsf</to-view-id>
            <redirect />
        </navigation-case>
    </navigation-rule>


</faces-config>

/*
罗森塞索酒店
/usuario.jsf
登录邮件
/index.jsf
注销成功
/index.jsf
我所有的页面都是XHTML格式的。我还向我的项目添加了facelets依赖项。我用的是maven

我做了一些配置,试图让类加载器最后加载父类。我不知道它是否正确,但尽管日志上说它已经加载了Mojarra 2.1.7,但我认为它还可以

我发现了一个与我的相关的帖子,但没有解决:

提前谢谢

更新:

我试图将javax.faces.DEFAULT_后缀上下文参数添加到.xhtml。结果是,当我试图打开arquivo.jsf时,我看到了XHTML的源代码。虽然日志上说它正在初始化Mojarra 2.1.7,但我觉得这里有一些冲突

这是ear的maven模块的my ear插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <version>5</version>
        <defaultLibBundleDir>lib</defaultLibBundleDir>
        <earSourceDirectory>${basedir}\src\main\application\META-INF\ibmconfig</earSourceDirectory>
    </configuration>
</plugin>

org.apache.maven.plugins

My deployment.xml位于\META-INF\ibmconfig\cells\defaultCell\applications下\ defaultApp\deployments\defaultApp,my ear插件的配置为:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <version>5</version>
        <defaultLibBundleDir>lib</defaultLibBundleDir>
    </configuration>
</plugin>

org.apache.maven.plugins
maven耳朵插件
2.6
5.
解放党
这样,当我导出EAR时,就会打包deployment.xml。My deployment.xml与教程中显示的相同


无论如何,当我在WebSphere上部署我的应用程序时,它会生成一个新的deployment.xml,而忽略我的deployment.xml。然后,它仍然首先加载父对象。

好吧,我的所有配置都正常。 我尝试使用WebSphere控制台安装EAR,它读取my deployment.xml。我认为IBM开发的WebSphere7插件有问题。它没有正确安装应用程序,然后忽略deployment.xml


现在我的问题与IDE有关,因为每次更改应用程序时手动安装应用程序很糟糕,但这个问题与此无关。

好吧,我的所有配置都正常。 我尝试使用WebSphere控制台安装EAR,它读取my deployment.xml。我认为IBM开发的WebSphere7插件有问题。它没有正确安装应用程序,然后忽略deployment.xml


现在我的问题与IDE有关,因为每次我更改应用程序时手动安装应用程序很糟糕,但这个问题与此无关。

我认为websphere 7不支持没有桥的JSF 2。

我认为websphere 7不支持没有桥的JSF 2

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.1.7</version>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>2.1.7</version>
</dependency>
<dependency>
    <groupId>com.sun.facelets</groupId>
    <artifactId>jsf-facelets</artifactId>
    <version>1.1.14</version>
</dependency>
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>3.2</version>
    <scope>compile</scope>
</dependency>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <version>5</version>
        <defaultLibBundleDir>lib</defaultLibBundleDir>
    </configuration>
</plugin>