Spring mvcリソース要求404
2727 ワード
問題の説明:もともと実行していたwebプロジェクトはspring mvcフレームワークを追加した後、ブラウザコンソールを開いて、js、png、cssなどの静的リソースが見つからないことを発見しました.プロファイルは次のとおりです.
spring-mvc.xml
サーバは対応するjspページを返すことができますが、ページ内の静的リソースは見つかりません.
ネット上で検索すると、次の2つの方法があります.
方法1:
Webでxmlに以下の内容を追加します.
各リクエストのリソースはwebにあります.xmlで構成し、spring mvcブロッキングの前に構成します.
方法2:
spring-mvcを変更する.xmlファイルには、次の内容が含まれます.
mvc:resourcesを追加対応するリクエストと実際のパスの関係を追加するには、を追加する必要があります.そうしないと、jspも見つかりません.webを構成します.xmlの場合、もう一つ注意が必要です.
上記url-patternラベルでは、/、/*でなければなりません.
参照リンク:
http://stackoverflow.com/questions/4057529/using-mvcresources-in-spring-3-causes-all-other-views-to-stop-working
http://stackoverflow.com/questions/18373165/spring-mvcresources-tag-and-404-error
spring-mvc.xml
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
サーバは対応するjspページを返すことができますが、ページ内の静的リソースは見つかりません.
ネット上で検索すると、次の2つの方法があります.
方法1:
Webでxmlに以下の内容を追加します.
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
各リクエストのリソースはwebにあります.xmlで構成し、spring mvcブロッキングの前に構成します.
方法2:
spring-mvcを変更する.xmlファイルには、次の内容が含まれます.
<mvc:annotation-driven/>
<mvc:resources mapping="/extjs/**" location="/extjs/"/>
<mvc:resources mapping="/tms/**" location="/tms/"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
mvc:resourcesを追加対応するリクエストと実際のパスの関係を追加するには、
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
上記url-patternラベルでは、/、/*でなければなりません.
参照リンク:
http://stackoverflow.com/questions/4057529/using-mvcresources-in-spring-3-causes-all-other-views-to-stop-working
http://stackoverflow.com/questions/18373165/spring-mvcresources-tag-and-404-error