2010-12-30 4 views
5

Spring 3.0.5とJersey 1.4を統合しようとしています。私はすべての作業をしているようですが、JSPを指すViewableを返すときはいつも、404エラーが発生します。私は春を使用していなかったとき、私はこのフィルタを使用できます。Spring、Jersey、およびViewable JSP Integration

<filter> 
    <filter-name>Jersey Filter</filter-name> 
    <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.feature.Redirect</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>cheetah.frontend.controllers</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.feature.FilterForwardOn404</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name> 
     <param-value>/(images|css|jsp)/.*</param-value> 
    </init-param> 
</filter> 

をそして私は、適切なフォルダに保存されたすべてのJSPの、画像、CSSに表示可能に返すことができます。しかし、スプリング統合を行うためにSpringServletを使用する必要があるようになったので、上記のフィルタを使用できないため、リソースにアクセスする方法が失われています。私は運で、このサーブレットマッピングを使用して試してみた:

<servlet> 
    <servlet-name>jerseyspring</servlet-name> 
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name> 
     <param-value>/(images|css|jsp)/.*</param-value> 
    </init-param> 
</servlet> 
<servlet-mapping> 
    <servlet-name>jerseyspring</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

誰もがこれを達成するために、適切な設定を知っていますか?

ありがとうございました。

答えて

4

私はあなたがフィルタとしてSpringServletを使用することができることを発見:私は私の元のフィルタでサーブレットを使用するので、本当に私には明らかにされている必要があり

<filter> 
    <filter-name>Jersey Filter</filter-name> 
    <filter-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</filter-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.feature.Redirect</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.feature.FilterForwardOn404</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name> 
     <param-value>/(images|css|jsp)/.*</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>Jersey Filter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

+0

+1私の質問に多くの助けがありました:http://stackoverflow.com/questions/8978200/can-not-connect-jax-rs-service-to-mvc-template – craig

1

これは、最近Springに追加されたdefault Servlet handlerと似ています。

静的コンテンツ処理サーブレット(上記のリンクで説明した「デフォルト」サーブレット)ではなく、表示可能リソースがjerseyspringサーブレットによって処理されている可能性があります。

<url-pattern>/</url-pattern>を使用するように設定を変更するとどうなりますか?

関連する問題