2017-07-12 8 views
0

Webプロジェクトの.warファイルのコンテキストルートがmyapp/somethingで、EARファイルのapplication.xmlに定義されています。呼び出すFacesサーブレットのルートURLがNullpointerをスローする

私はいくつかのサーブレットがこれでうまく動作します。しかし、今度は、というパターンでweb.xmlにServer Facesサーブレットを追加しました。

URLを呼び出すと、利用可能なビューが存在しないため、NullPointerループに陥ることがありました(Websphereの既知の問題fix for that here)。 web/page.xhtmlをのwelcome-fileに設定すると、これは修正する必要がありますが、アプリケーションのコンテキストルート(/myapp/something)にのみ適用されます。

DRしかし、私は、私はhttp://somehost/myapp/something/Monitoring/mySiteを呼び出すときpage.xhtmlを見たいのですが、 http://somehost/myapp/something/Monitoring/mySite/web/page.xhtml http://somehost/myapp/something

TL:私は、次の呼び出しを行う場合

は、だから何に動作することです。

どうすればこの問題を解決できますか?

/TL; DR

次は、プロジェクトのweb.xmlである:ここで

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="myProject" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
<display-name>This is mySite</display-name> 

<!-- Change to "Production" when you are ready to deploy --> 
<context-param> 
    <param-name>javax.faces.PROJECT_STAGE</param-name> 
    <param-value>Production</param-value> 
</context-param> 

<context-param> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>client</param-value> 
</context-param> 

<servlet> 
    <description></description> 
    <display-name>Monitoring</display-name> 
    <servlet-name>Monitoring</servlet-name> 
    <servlet-class>some.path.to.Monitoring</servlet-class> 
</servlet> 
<servlet> 
    <description></description> 
    <display-name>MonitoringExtended</display-name> 
    <servlet-name>MonitoringExtended</servlet-name> 
    <servlet-class>some.path.to.MonitoringExtended</servlet-class> 
</servlet> 
<servlet> 
    <description> 
    </description> 
    <display-name>FacesServlet</display-name> 
    <servlet-name>FacesServlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Monitoring</servlet-name> 
    <url-pattern>/Monitoring</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>MonitoringExtended</servlet-name> 
    <url-pattern>/Monitoring/extended</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>FacesServlet</servlet-name> 
    <url-pattern>/Monitoring/mysite/*</url-pattern> 
</servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>FacesServlet</servlet-name> 
    <url-pattern>*.xhtml</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>web/page.xhtml</welcome-file> 
    <welcome-file>faces/web/page.xhtml</welcome-file> 
</welcome-file-list> 

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_5.xsd" version="5"> 

<display-name>myApplication</display-name> 

<module> 
    <ejb>myApplication.jar</ejb> 
</module> 
<module> 
    <web> 
     <web-uri>myProject.war</web-uri> 
     <context-root>myapp/something</context-root> 
    </web> 
</module> 
</application> 

ibm-web-ext.xml(レガシーが、それには触れませんでした):

<?xml version="1.0" encoding="UTF-8"?> 
<webappext:WebAppExtension xmi:version="2.0" 
xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" 
xmi:id="WebAppExtension_1229358884593" reloadInterval="3" 
reloadingEnabled="true" additionalClassPath="" fileServingEnabled="true" 
directoryBrowsingEnabled="false" serveServletsByClassnameEnabled="true"> 
    <webApp href="WEB-INF/web.xml#WebApp_ID" /> 
</webappext:WebAppExtension> 

そして最後にibm-web-bnd.xml(レガシー、それには触れませんでした):

<?xml version="1.0" encoding="UTF-8"?> 
<webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_123456789" virtualHostName="default_host"> 
    <webapp href="WEB-INF/web.xml#WebApp_ID"/> 
</webappbnd:WebAppBinding> 

答えて

関連する問題