0

Spring MVC を使用して動的 Web アプリケーションを実行しています。私はそれを書き、アプリを正常に実行できます。しかし問題は、画像、JS、CSS などのリソース ファイルの読み込みにあります。ファイルのリソースの読み込みに失敗しました。キーポイントは、JSPファイルをWEB-INFの外側に配置し、Webロジックサーバーを使用していることです。

私のアプリの構造

私の web.xml ファイル

<display-name>Support</display-name>
  <welcome-file-list>
    <welcome-file>resources/jsp/home.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
   <servlet-name>spring-mvc</servlet-name>
   <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
   </servlet-class>
   <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
   <servlet-name>spring-mvc</servlet-name>
   <url-pattern>/</url-pattern>
  </servlet-mapping>

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring-mvc-servlet.xml,/WEB-INF/spring-jpa.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

私のディスパスサーブレット

<mvc:annotation-driven/>    
   <mvc:resources mapping="/resources/**" location="/resources/"/>  
   <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/resources/jsp/" />
    <property name="suffix" value=".jsp" />
   </bean>

これをJSpファイルに追加しました

<link media="screen" rel="stylesheet" href="<spring:url value='resources/css/Map.css' />" type="text/css" />
<spring:url value="resources/css/Mass.css" var="resourceUrl2"/>
<LINK media="screen" rel="stylesheet" TYPE="text/css" href="${resourceUrl2}" />

リソースの読み込みに失敗しました: サーバーは 404 のステータスで応答しました。

何か助けて???

アップデート:

私の weblogic サーバーで見つかったものは、このアプリのコンテキスト値を取得できません。そのため、jsp ファイルのコンテキスト パスを取得し、リソースの前に追加しました。それは私のために働いた

<link media="screen" rel="stylesheet" href="<%=request.getContextPath()%>/resources/css/MaRK.css" type="text/css" />

春のリソースが機能しなかった理由はまだわかりません。

4

3 に答える 3

4

私は同じ問題に遭遇しましたが、これが私が問題を解決した方法です:春の構成ファイルで置き換えます

<mvc:resources mapping="/resources/**" location="/resources/"/>
With
<mvc:default-servlet-handler/>

JSP で以下のパスを指定して、静的コンテンツをロードします。

<link rel="stylesheet" href="resources/css/Mass.css" type="text/css"/>

これが役立つことを願っています!

于 2013-11-14T17:05:31.517 に答える