0

springを構成し、それを* .htmにマップしますが、実際の.htmファイルにも適用されます。そのため、Webアプリケーションで実際の静的*.htmにアクセスできません。この問題を解決するには、Springを何に設定する必要がありますか?ありがとう!

<servlet-mapping>
  <servlet-name>systemdispatcher</servlet-name>
  <url-pattern>*.htm</url-pattern>
</servlet-mapping> 

index.htmのような静的htmファイルにアクセスしようとすると、404エラーが表示されます。問題を解決するためにスプリングを構成するにはどうすればよいですか?ありがとう!

4

4 に答える 4

3

マッピングが競合しているため、直接解決することはできません。ただし、春にhtmlファイルを読み取ってユーザーに出力することはできます。

ただし、静的ファイルに使用することをお勧めし.htmlます。したがって、競合は発生しません。

これに加えて、静的コンテンツがディスパッチャサーブレットからスキップされるようにリソースハンドラを配置する必要もあります。

<mvc:resources location="/resources/" mapping="/resources/**" />
于 2012-05-15T06:04:54.093 に答える
2

@Bozhoによって提供された解決策に同意します。

しかし、それを行う別の方法もあります。リクエストをディスパッチャサーブレットに転送せずに、アプリケーションの特定のパスから静的コンテンツを提供できるResourceHandlerを指定できます。

サーブレットxmlファイルで次の構成を試してください。

<mvc:resources location="/resources/" mapping="/resources/**" />

ここで、静的.htmファイルがあるパスを置き換えることができます。

これがお役に立てば幸いです。乾杯。

于 2012-05-15T06:25:30.423 に答える
0

Spring構成ファイルでこのようにビューリゾルバーを設定しましたか?

<!-- View Resolver -->
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix">
        <value>/WEB-INF/pages/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

上記の例では、.jspを.htmに変更します。その後、web.xmlで任意のURLマッピングを使用できるようになり、すでに使用しているものになります。

<servlet-mapping>
  <servlet-name>systemdispatcher</servlet-name>
  <url-pattern>*.htm</url-pattern>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

コントローラでビュー名のみを指定し、Spring mvcが残りを行うため、これは機能します。

于 2012-05-15T06:23:23.203 に答える
0

xmlファイルで次のスキーマ定義を試すことができます。

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">

Springバージョンが競合してから、バージョンを自分のものに置き換える場合があります。

于 2012-05-15T07:12:31.133 に答える