2017-01-25 3 views
0

IntelliJ IDEAで実行されている組み込みjetty-starterを通じて、アプリケーションの開発テストにJettyを使用しています。 8.0.4.v20111024から9.4.0.v20161208にアップグレードしたいのですが、私のjspxファイルに問題があります。私もjspjstlの依存関係を更新しました。Jettyのアップグレード後、Spring MVCがWEB-INFフォルダ内のjspx-filesを見つけることができません。

標準Spring MVCのやり方では、私のjspxファイルはsrc\main\webapp\WEB-INFフォルダに保存されています。アップグレード後

、このフォルダからのファイルは、彼らが私は私のsrc\main\webappフォルダ内のindex.jspxを持っており、これがうまくアクセスされた404

につながるアクセスしようとしている、見つけることができません。 WEB-INFフォルダ内のjspxにアクセスしようとすると404が返され、404.jspxもWEB-INF-folderにあり、error-pageとしてweb.xmlに定義されています。私は、Webアプリケーションフォルダに404.jspxを移動し、

<error-page> 
    <error-code>404</error-code> 
    <location>/jspx/404.jspx</location> 
</error-page> 

error-pageマッピングを変更すると、それは動作します。同様に、私のcontrollerは、それが失敗し、WEB-INF -folderでJSPXを返すように設定されている場合、私はprefixからWEB-INF/を除去することにより、

<bean id="jspViewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="/jspx/" /> 
    <property name="suffix" value=".jspx" /> 
    </bean> 

に自分の設定を変更し、私のJSPXを移動した場合、それが動作します。

問題がJettySpring MVCjsp/jstlのいずれであるかわかりません。助言がありますか?

答えて

1

シンボリックリンクされたファイルでのみ発生することが判明しました。

シンボリックリンク/エイリアスを可能にする方法が

context.getInitParams().put("org.eclipse.jetty.servlet.Default.aliases", "true"); 

から

contextWebAppContextある
context.addAliasCheck(new AllowSymLinkAliasChecker()); 

に、変更されました。

関連する問題